`
johnson.lee
  • 浏览: 52364 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

从Java到嵌入式(二)——升级内核,安装libdc1394库

阅读更多
  本以为安装内核并不是什么大不了的事,但最后的结果证明我太自信了(过度的自信等于自负!)。升级内核等于是给Linux做心脏手术,对于我这个新手来说,虽然玩过几天的Redhat,却对内核全然无知,先Google一下,找到了几个blog,讲得还挺详细的。但是为什么要这么做,不知道!反正作者是这么写的。如果要学一个新东西,如何下手?当然是官方的使用手册!Linux内核中也有官方的文档,那就是Document目录下的文档,以及内核根目录README文档,我是从2.4.20-8升级到2.6.32详细过程如下:
  1.下载内核源代码
    从Linux内核官方FTP站点下载内核源代码压缩包linux-2.6.10.tar.bz2。
  2.软件包更新
    打开下载的内核源代码压缩包中的Documentation/Changes,找到需要的软件包列表,如下所示:
   
o  Gnu C                  3.2                     # gcc --version
o  Gnu make               3.80                    # make --version
o  binutils               2.12                    # ld -v
o  util-linux             2.10o                   # fdformat --version
o  module-init-tools      0.9.10                  # depmod -V
o  e2fsprogs              1.41.4                  # e2fsck -V
o  jfsutils               1.1.3                   # fsck.jfs -V
o  reiserfsprogs          3.6.3                   # reiserfsck -V 2>&1|grep reiserfsprogs
o  xfsprogs               2.6.0                   # xfs_db -V
o  squashfs-tools         4.0                     # mksquashfs -version
o  btrfs-progs            0.18                    # btrfsck
o  pcmciautils            004                     # pccardctl -V
o  quota-tools            3.09                    # quota -V
o  PPP                    2.4.0                   # pppd --version
o  isdn4k-utils           3.1pre1                 # isdnctrl 2>&1|grep version
o  nfs-utils              1.0.5                   # showmount --version
o  procps                 3.2.0                   # ps --version
o  oprofile               0.9                     # oprofiled --version
o  udev                   081                     # udevinfo -V
o  grub                   0.93                    # grub --version
o  mcelog		  0.6
o  iptables               1.4.1                   # iptables -V

  使用提供的命令查看各工具的版本,版本低的就上Google,找到其官网然后下载,解压后阅读README或INSTALL文件,终于知道如何安装它们了,这些工具有些会依赖其它的库,比如GCC依赖gmp及mpfr这两个库,每个INSTALL文档,从头看到尾,又从尾看到头,连蒙带猜的陆续安装着,光升级这些工具,就已经是一项超级大工程了,差不多能赶上人类基因组测序了,好不容易理清头绪哦,差不多花了两个多星期才将部分工具升级完成,还有几个工具编译通不过,那个叫人抓狂呀!也不清楚到底是怎么回事,Google遍了,还是没找到解决办法,也懒管它,能装的尽量先装上再说。

  下一步就开始编译内核了,内核根目录下的README文档里写得很清楚了,直接 make menuconfig,屏幕上显示出图形界面了,列了一堆的英文,不知所云,对照着别人的blog,再连蒙带猜的配置了一下,但是关键问题不能忘了--我升级内核是为了安装支持1394设备的模块,对着 libdc1394-HOWTO.pdf 中的步骤,不过这手册中的内核版本有点老了,和2.6.10版本显示的内容不一样,也就连蒙带猜的配置了一通,然后就开始 make,命令如下:
  # make
  # make modules
  # make install
编译后自动生成内核镜像文件,然后reboot,启动界面显示出了新编译的内核,然后选择引导新编译的内核,看着一行行的加载信息,有的还带有红色的错误信息,突然卡着不动了,不知道怎么回事,继续Google未果,我想,可能是内核配置的问题,可那内核配置比起那工具升级,就更让人晕了,不知是什么意思,到底哪些需要选,哪些不需要选,无从得知。真的要让人崩溃了,继续找内核升级的博客,对着中文解释,还是不懂,还是连蒙带猜的配置一通了,make, reboot 还是启动的时候有报错信息,并卡着不动了,反复尝试了N次,差不多又花了两个星期,那个叫人崩溃呀,心理的承受力已经降低到了极低点,每天弄到半夜三点,第二天还要继续上班,由于睡眠不足,上下班的途中,脑袋都是木的,就这样日复一日,整整坚持了一个月,心力憔悴到了极点,脑中在纠结着放弃还是继续??幸好还有GF身边鼓励我“加油!我相信你,永远都是最棒的!”听着这话,倍受挫折、遍是创伤的心灵终于得到了一点抚慰。熬夜的日子终于挺不住了,周末休息了一天,麻木的脑袋似乎有点清醒了,于是开始怀疑,我是不是走错方向了(事实证明我确实走错方向了)?

  后来看了些资料才知道,内核升级需要从主版本打补丁打到和最终的主版本一致,然后在同主版本的情况下升级次版本,回想我的升级经历,那样做肯定不对,而且Redhat9的内核都老掉牙了,版本跨度太大。本来mini2440用户手册上是建议安装Fedora9,是不是该试试Fedora9了?于是先安装上Fedora9试试,先配置个VSFTP!Shit!居然配置和Redhat的不一样!!刚开始就是因为觉得Fedora用不习惯,才决定在Redhat上大展身手的,可Redhat上升级内核已经到了绝路了,没办法,只得硬着头皮上,就像是抛弃了Win7那华丽的迷你裙,穿上Linux宽厚的大棉袄,抱着试一试的心态,照着mini2440用户使用手册将Fedora配置好后,将libdc1394压缩包直接解压,大至瞅了瞅README和INSTALL,Shit!libdc1394库居然还依赖libraw1394和libusb这两个库,管他呢,先down下来再说,解压后使用如下命令:
  ./config --prefix=......
  make; make install
居然无错误信息,心中大喜,马上使用libdc1394自带的example,接上相机,运行example程序,好家伙,没有像上次报错,打开拍的照片一开,哦!My god!终于成功啦!!!!久违的成就感!抱着GF狂呼,哈哈!相机驱动终于搞定了!突然间想起了“肖申克的救赎”中的主人公,凭借雕刻石头的小锥子,凿壁十年,终于逃出囚禁了他十年的“肖申克”监狱!在重获自由的那一刹那,他仰天长嘯,任凭雨水敲击着脸庞...

  回头看看旧日的脚印,曾经的累累伤痕,多少个不眠之夜,虽然这已经过去了三个多月了,至今乃至一生都无法令人忘却,一路摸索过来,要不是有GF相伴,恐怕中途就退缩了。有句话“每个成功的男人背后,一定有一个伟大的女人”确实不假,由衷的感谢GF,感谢CCTV,感谢MTV,感谢......,感谢所有支持我的人!

  相机驱动算是安装好了,接下来就要用QT编写GUI程序了。关于QT编程,且听下回分解~~
分享到:
评论

相关推荐

    libdc1394-2.2.6-1.5.7-API文档-中文版.zip

    标签:bytedeco、libdc1394、中文文档、jar包、java; 使用方法:解压翻译后的API文档,用浏览器打开“index.html”文件,即可纵览文档内容。 人性化翻译,文档中的代码和结构保持不变,注释和说明精准翻译,请放心...

    libdc1394-2.2.6-1.5.7-API文档-中英对照版.zip

    标签:bytedeco、libdc1394、中英对照文档、jar包、java; 使用方法:解压翻译后的API文档,用浏览器打开“index.html”文件,即可纵览文档内容。 人性化翻译,文档中的代码和结构保持不变,注释和说明精准翻译,请...

    libdc1394-2.2.6-1.5.5-API文档-中英对照版.zip

    标签:bytedeco、libdc1394、中英对照文档、jar包、java; 使用方法:解压翻译后的API文档,用浏览器打开“index.html”文件,即可纵览文档内容。 人性化翻译,文档中的代码和结构保持不变,注释和说明精准翻译,请...

    libdc1394-2.2.6-1.5.5-API文档-中文版.zip

    标签:bytedeco、libdc1394、中文文档、jar包、java; 使用方法:解压翻译后的API文档,用浏览器打开“index.html”文件,即可纵览文档内容。 人性化翻译,文档中的代码和结构保持不变,注释和说明精准翻译,请放心...

    libdc1394-2.2.2-10.el8.i686.rpm

    官方离线安装包,亲测可用

    libdc1394-2.2.2-10.el8.x86_64.rpm

    离线安装包,亲测可用

    libdc1394-2.2.2-10.el8.ppc64le.rpm

    官方离线安装包,亲测可用

    libdc1394-2.2.2-10.el8.aarch64.rpm

    官方离线安装包,亲测可用

    Simple libdc1394 to JNI Library-开源

    标题中的“Simple libdc1394 to JNI Library”指的是一个专为Firewire(IEEE 1394)摄像机设计的开源库,它通过Java Native Interface (JNI)技术使得Java程序能够直接与libdc1394库交互。libdc1394是一个广泛使用的C...

    最新全套Jar: FFMPEG3.4.1+JavaCV1.4.1+OpenCV3.4.1-含windows&linux;平台链接库

    libdc1394-linux-ppc64le.jar libdc1394-linux-x86.jar libdc1394-linux-x86_64.jar libdc1394-platform.jar libdc1394-windows-x86.jar libdc1394-windows-x86_64.jar libdc1394.jar libfreenect-linux-armhf.jar ...

    Java视觉处理库JavaCV.zip

    JavaCV 提供了在计算机视觉领域的封装库,包括:OpenCV、ARToolKitPlus、libdc1394 2.x 、PGR FlyCapture和FFmpeg。此外,该工具可以很容易地使用Java平台的功能。JavaCV 还带有硬件加速的全屏幕图像显示...

    libdc1394-2.2.6-1.5.5.jar中文-英文对照文档.zip

    (1)为了防止解压后路径太长导致浏览器无法打开,推荐在解压时选择“解压到当前文件夹”(放心,自带文件夹,文件不会散落一地); (2)有时,一套Java组件会有多个jar,所以在下载前,请仔细阅读本篇描述,以...

    libdc1394-2.2.6-1.5.7.jar中文-英文对照文档.zip

    (1)为了防止解压后路径太长导致浏览器无法打开,推荐在解压时选择“解压到当前文件夹”(放心,自带文件夹,文件不会散落一地); (2)有时,一套Java组件会有多个jar,所以在下载前,请仔细阅读本篇描述,以...

    javaCV所需的所有jar包

    JavaCV(Java Computer Vision)是一个Java接口,它为多个计算机视觉库提供了便利,包括OpenCV、FFmpeg、libdc1394等。这个压缩包包含的是一系列JavaCV所需的jar包,这些库使得Java开发者能够轻松地进行图像处理、...

    javaCV 1.2,可匹配所有版本OpenCV

    JavaCV是对各种常用计算机视觉库的封装后的一组jar包,其中封装了OpenCV、libdc1394、OpenKinect、videoInput和ARToolKitPlus等计算机视觉编程人员常用库的接口,可以通过其中的utility类方便的在包括Android在内的...

    linux下编译Java版本的vtk环境

    在Linux环境下,特别是Ubuntu 16或CentOS系统中,为Java构建VTK(Visualization Toolkit)环境是一项重要的任务,这通常涉及到编译源代码来创建适用于Java的动态链接库(.so文件)。VTK是一个开源的,跨平台的库,...

    javacv的src包

    JavaCV(Java Computer Vision)是一个开源的计算机视觉库,它为Java、Android和iOS平台提供了丰富的接口,使得开发者能够方便地使用OpenCV、FFmpeg、libdc1394、FlyCapture等库进行图像处理和计算机视觉应用开发。...

    JavaCV提供了在计算机视觉领域的封装库

    JavaCV 提供了在计算机视觉领域的封装库,包括:OpenCV、ARToolKitPlus、libdc1394 2.x 、PGR FlyCapture和FFmpeg。此外,该工具可以很容易地使用Java平台的功能。

    javacv,opencv java版

    JavaCV 是一款开源的视觉处理库,基于GPLv2协议,对各种常用计算机视觉库封装后的一组jar包,封装了OpenCV、libdc1394、OpenKinect、videoInput和ARToolKitPlus等计算机视觉编程人员常用库的接口。 JavaCV通过其中的...

    EasyPR-JavaCV

    JavaCV(Java Computer Vision)是一个开源项目,为Java和Android开发者提供了多种计算机视觉库的接口,包括OpenCV、FFmpeg、libdc1394、libavcodec等。这些库主要用于图像和视频处理,比如图像分析、识别、追踪、...

Global site tag (gtag.js) - Google Analytics