Ubuntu 12.04 编译内核步骤 + Fedora 10 编译内核步骤(图)

 

Ubuntu 12.04 安装 ZoneMinder 1.25.0 +CX25821四路板卡+HIK摄像头(三)



MPlayer-1.0rc4.tar.gz
http://www.mplayerhq.hu/MPlayer/releases/MPlayer-1.0rc4.tar.gz

all-20110131.tar.bz2
http://www.mplayerhq.hu/MPlayer/releases/codecs/all-20110131.tar.bz2

windows-essential-20071007.zip
http://www.mplayerhq.hu/MPlayer/releases/codecs/windows-essential-20071007.zip

Blue-1.8.tar.bz2
http://www.mplayerhq.hu/MPlayer/skins/Blue-1.8.tar.bz2


首先

#./configure --codecsdir=/usr/local/lib/codecs   --enable-gui  --enable-largefiles --enable-menu --language=zh_CN,en --charset=utf8

出现错误:

Error: The GUI requires libavcodec with PNG support (needs zlib)

解决继续:

# sudo apt-get install zlib1g-dev

出现错误:

Unknown parameter: --win32codecsdir=/usr/lib/wincodecs/

解决继续:

出现错误:

Error: X11 support required for GUI compilation.

解决继续:

sudo apt-get install libgtk2.0-dev


最终:

./configure --codecsdir=/usr/local/lib/codecs   --enable-gui  --enable-largefiles --enable-menu --language=zh_CN,en --charset=utf8


./configure –prefix=/usr/local/mplayer –enable-gui –enable-freetype –codecsdir=/usr/lib/codecs/ –win32codecsdir=/usr/lib/win32/  -enalbe-largefiles -enable-menu -language=zh_CN  –enable-libmp3lame –enable-libogg –enable-libvorbis –enable-libtheora –enable-libfaac

–enable-libfaad
–enable-liba52 –enable-libx264 \
–enable-libxvid
–enable-libamr-nb
–enable-libamr-wb
–enable-gpl
–enable-pp
–enable-pthreads
–disable-debug
–enable-shared

解释一下参数 


--enable-gui 是打开图形界面 这个我想一般都需要
--enalbe-largefiles 允许播放超过2g的大文件
--enable-menu 允许菜单
--prefix=/usr 如果加上此句,mplayer,gmplayer放到/usr/bin/目录下,没有此句,则在安装目录/bin下
--confdir=/usr/local/mplayer 这个是mplayer的安装目录
此外,还有几个参数也介绍一下,也许有用。
--disable-gcc-checking 不检查gcc的版本。此处不用,MPlayer-1.0rc1就是需要gcc4.1而CentOS 5就是gcc4.1
--language=zh_CN安装中文界面。


最终的config:

./configure --prefix=/usr/local/mplayer --enable-gui --enable-freetype --codecsdir=/usr/lib/codecs/ --enable-largefiles --enable-menu --language=zh_CN

--win32codecsdir=/usr/lib/win32/


----------------------------------------------------------------------------------------------------------------------------
Ubuntu 下的驱动装不上去,很是搞人啊, CX25821提供的Linux驱动,说明文档都是在Fedora 10 下面举例的,只好先装个Fedora 10 试试了。


不出所料,Fedora 10 下CX25821驱动也是编译错误,缺少文件,只能再试试手动更新个内核试试了。。。。。残念


手上2个系统Ubuntu 12.04  (内核3.x) 和  Fedora 10(内核2.6x)

 

网上教程很扯淡,总是把简单的事情搞复杂了,Ubuntu一个大佬说,把内核安装包放在任何地方都可以,教程那些CP啊,mv 啊,具是扯蛋,浪费我N多时间,我在中文目录下一样也装成功了。真正按照步骤来,1个小时完全可以搞定一切。

值得一提的是装完新内核后VM Tools要重新安装,所以,事先把所有文件拷到桌面上去。
--------------------------------------------------------------------------------------------------------
ubuntu 12.04 更新内核步骤  +  Fedora 10 更新内核步骤
 

到官方 http://kernel.org/ 下载,得到 3.3.6 或者更加新的版本。

先安装 ncurses 工具,这是字符版配置工具所依赖的:
$ apt-get install libncurses5 libncurses5-dev  #(Ubuntu 环境)
$ sudo yum install ncurses ncurses-devel      #(Fedora 环境)
 
然后输入命令:
make mrproper
make clean
make menuconfig      #(注意窗口拉大点,否则图像显示不下会报错。直接save,不用改)


make -j6                                    #(CPU是4核就写4,我是6。速度是会快些,加了后20分钟make完成,不加要近1小时)                    
sudo make modules_install
sudo make install

上面的命令会把编译文件夹里面的“arch/x86/boot/bzImage”文件复制到“/boot”,同时还会复制 config 和 System.map 文件,最终在“/boot”会多出如下3个文件:
/boot/config-3.3.6
/boot/System.map-3.3.6
/boot/vmlinuz-3.3.6

注意查看是否有这3个文件生成,没有的话,或者差某1个的话进行以下步骤,差那个就做那个步骤:


1.将编译内核时生成的内核镜像bzImage拷贝到/boot目录下,并将这个镜像命名为vmlinuz-3.3.6。如果使用x86的cpu,则该镜像位于arch/x86/boot/目录下(处于正在编译的内核源码下)。

2.将~/linux-3.3.6/目录下的System.map拷贝到/boot/目录下,重新命名为System.map-3.3.6。该文件中存放了内核的符号表。

3.将~/linux-3.3.6/目录下的.config拷贝到/boot/目录下,重新命名为config-3.3.6。


是不是发现缺少了一个 initrd.img 文件( 初始ram磁盘文件 )?使用下面命令创建一个即可:
$ sudo mkinitramfs 3.3.6 -o /boot/initrd.img-3.3.6    #(Ubuntu 环境)
$ sudo mkinitrd initramfs-3.3.6.img 3.03.6   #(Fedora 环境)


ok,到这里就算编译完成了,再就需要做一个事情,选择哪个内核启动

修改 GRUB 启动菜单,增加使用新内核启动的项目
这一步可以使用 GRUB2 的自动生成工具完成
$ sudo update-grub2    #(Ubuntu 环境)
$ sudo grub2-mkconfig   #(Fedora 环境)  在Ubuntu成功了,Fedora 10 不成功,没法只能手动改了。

位置在      /boot/grub/      需要改动2个地方

,注意不要删东西,启动改为3.3.6那个,改为0,时间改为10好了,保存重启。


重启,


 

查看内核版本号命令    uname -a   更新到3.3.6了。



弄完了重新安装VM Tools,
一路回车即可
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------
ok 既然更新了内核,继续开始搞 CX25821的驱动吧。。。

结果出现找不到 smp_lock.h文件的错误,编译中止。google了一下,原因是新的2.6.39以后的内核,已经木有这个文件了。

悲催啊,尼玛刚刚更新的3.3.6内核啊啊啊啊啊。。








蛋定,蛋定,心平气和,慢慢搞定 CX25821。。。。。

--------------------------------------------------------------------------------------------------------------------------------------------------------------------------
error "Unknown RCU implementation specified to kernel configuration"
层出不穷哦,继续。。。。。。
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------



 


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值