8316| 0
|
[教程] 树莓派编译新版内核 |
一、树莓派上的操作 #以下操作以管理员身份运行 sudo su #升级到最新版内核保证与下载的内核源码版本一致。截止20140214是3.10.29+,也可以不执行此步,因为我们就是在编译新内核。 rpi-update #升级完整后重启 reboot #查看内核版本 uname -r #把最新版本的内核配置保存到.config中,以备以后编译内核使用 zcat /proc/config.gz > .config 二、PC机或者虚拟机的Debian下操作 #获取内核源代码 mkdir rpi cd rpi #以下步骤时间很长,可以在睡觉前开三个putty窗口连接到电脑或者虚拟机进行下载。 git clone git://github.com/raspberrypi/firmware.git RpiFirmware git clone git://github.com/raspberrypi/linux.git RpiLinux git clone git://github.com/raspberrypi/tools.git RpiTools #把PI上的内核配置传到本地 192.168.1.6为Rpi的IP地址 cd RpiLinux scp pi@192.168.1.6:/home/pi/.config .config #设定使用PI内核原有的配置进行编译 make ARCH=arm CROSS_COMPILE=../RpiTools/arm-bcm2708/arm-bcm2708hardfp-linux-gnueabi/bin/arm-bcm2708hardfp-linux-gnueabi- oldconfig #或者设定使用自定义内核配置进行编译(可以在此过程中选上触摸屏驱动InputDevice touchscreen usbtouchscreen eGalax...) #make ARCH=arm CROSS_COMPILE=../RpiTools/arm-bcm2708/arm-bcm2708hardfp-linux-gnueabi/bin/arm-bcm2708hardfp-linux-gnueabi- menuconfig #开始正式编译内核,最后的数字改成比你的CPU核心数量+1以提交多线程编译效率。 make ARCH=arm CROSS_COMPILE=../RpiTools/arm-bcm2708/arm-bcm2708hardfp-linux-gnueabi/bin/arm-bcm2708hardfp-linux-gnueabi- -j5 #生成内核镜像文件 cd ../RpiTools/mkimage/ ./imagetool-uncompressed.py ../../RpiLinux/arch/arm/boot/zImage #编译modules cd ../.. mkdir modules cd RpiLinux/ make modules_install ARCH=arm CROSS_COMPILE=../RpiTools/arm-bcm2708/arm-bcm2708hardfp-linux-gnueabi/bin/arm-bcm2708hardfp-linux-gnueabi- INSTALL_MOD_PATH=../modules -j5 #此后如果有自己的驱动程序需要编译可以把驱动的Makefile中的KDIR修改指向RpiLinux,然后再运行一次和内核编译一模一样的命令即可。 三、新内核的安装 #在PC机上或者虚拟机中进行以下操作,首先需要挂载SD卡 mkdir /mnt mkdir /mnt/sdb1 mkdir /mnt/sdb2 mount /dev/sdb1 /mnt/sdb1 mount /dev/sdb2 /mnt/sdb2 cp RpiTools/mkimage/kernel.img /mnt/sdb1/kernel_new.img cd RpiFirameware/boot cp bootcode.bin fixup.dat fixup_cd.dat start.elf /mnt/sdb1 cd ../hardfp/opt/ #复制例程代码 cp -r vc/ /media/sdb2/opt #复制新编译完成的modules到SD卡 cp -r modules/lib /media/sdb2 umount /mnt/sdb1 umount /mnt/sdb2 好了,把SD卡拔出来挺到树莓派 体验新版内核吧。 |
© 2013-2024 Comsenz Inc. Powered by Discuz! X3.4 Licensed