树莓派Rpi编译更换 内核
2015-01-21 13:57
288 查看
http://www.shumeipai.net/thread-20933-1-1.html
http://www.kissthink.com/archive/--2959.html
1、获取最新内核源码以及工具链
官方资源:https://github.com/raspberrypi
git clone 完成之后:
2、编译内核及模块
A、设置环境变量,添加交叉编译工具链的路径
验证环境变量是否正常
B、修改Makefile
C、查看内核版本
后面这个加号很别扭,试图去掉:
D、编译内核及模块
E、生成内核img,打包内核模块,并拷贝到树莓派上
打包内核模块
将modules.tar.bz2 和 kernel.img 拷贝到树莓派
3、在树莓派上更换内核及模块
换内核
修改config.txt,指定使用的内核版本
换内核模块
生成内核模块的依赖
4、验证内核及模块是否更换正常
重启前记录内核版本
重启之后
http://www.kissthink.com/archive/--2959.html
1、获取最新内核源码以及工具链
$ git clone https://github.com/raspberrypi/linux.git $ git clone https://github.com/raspberrypi/tools.git |
git clone 完成之后:
$ ls -l total 8K drwxr-xr-x 25 root root 4.0K Jun 21 11:21 linux/ drwxr-xr-x 8 root root 4.0K Jun 20 20:48 tools/ |
A、设置环境变量,添加交叉编译工具链的路径
export PATH=$PATH:/root/wk/raspberry/tools/arm-bcm2708/arm-bcm2708hardfp-linux-gnueabi/bin |
$ whereis arm-bcm2708hardfp-linux-gnueabi-gcc arm-bcm2708hardfp-linux-gnueabi-gcc: /root/wk/raspberry/tools/arm-bcm2708/arm-bcm2708hardfp-linux-gnueabi/bin/arm-bcm2708hardfp-linux-gnueabi-gcc |
$ cd linux $ vi Makefile 将 ARCH ?= $(SUBARCH) CROSS_COMPILE ?= $(CONFIG_CROSS_COMPILE:"%"=%) 改为 ARCH ?= arm CROSS_COMPILE ?= arm-bcm2708hardfp-linux-gnueabi- |
$ make kernelrelease 3.12.22+ |
$ vi scripts/setlocalversion 注释第55行 即: 54 if $short; then 55 echo "+" 56 return 57 fi 改为 54 if $short; then 55 # echo "+" 56 return 57 fi |
$ make kernelrelease 3.12.22 |
$ cp arch/arm/configs/bcmrpi_defconfig .config $ make menuconfig $ make -j 4 $ make modules –j 4 |
$ cd tools/mkimage/ $ python2 ./imagetool-uncompressed.py ../../linux/arch/arm/boot/Image $ ls kernel.img -l -rw-r--r-- 1 root root 6.0M Jun 21 11:16 kernel.img |
$ tar -cjvf modules.tar.bz2 /root/wk/raspberry/image/modules |
3、在树莓派上更换内核及模块
$ ls -l 总用量 16924 -rw-r--r-- 1 pi pi 6289676 6月 21 2014 kernel.img -rw-r--r-- 1 pi pi 11027407 6月 21 2014 modules.tar.bz2 |
$ mv kernel.img /boot/kernel_3.12.22.imag |
$ vi /boot/config.txt 最后一行添加: kernel=kernel_3.12.22.imag |
$ tar -xjvm modules.tar.bz2 $ mv root/wk/raspberry/image/modules/lib/modules/3.12.22/ /lib/modules/ |
$ depmod -a -v 3.12.22 |
重启前记录内核版本
$ uname -a Linux raspberrypi 3.10.25+ #622 PREEMPT Fri Jan 3 18:41:00 GMT 2014 armv6l GNU/Linux |
$ uname -a Linux raspberrypi 3.12.22 #1 PREEMPT Fri Jun 20 21:14:17 UTC 2014 armv6l GNU/Linux $ lsmod Module Size Used by snd_bcm2835 18169 0 snd_soc_bcm2708_i2s 5486 0 regmap_mmio 2818 1 snd_soc_bcm2708_i2s snd_soc_core 128254 1 snd_soc_bcm2708_i2s snd_compress 8168 1 snd_soc_core regmap_i2c 1657 1 snd_soc_core snd_pcm_dmaengine 5481 1 snd_soc_core regmap_spi 1913 1 snd_soc_core snd_pcm 81542 3 snd_bcm2835,snd_soc_core,snd_pcm_dmaengine snd_page_alloc 5168 1 snd_pcm snd_seq 54581 0 snd_seq_device 6485 1 snd_seq snd_timer 20353 2 snd_pcm,snd_seq leds_gpio 2055 0 led_class 4119 1 leds_gpio snd 61526 7 snd_bcm2835,snd_soc_core,snd_timer,snd_pcm,snd_seq,snd_seq_device,snd_compress |
相关文章推荐
- 树莓派3B 内核模块编译
- (OK) 编译内核及移植MPTCP过程 - 树莓派 3B - (北邮张成文老师组)本科生 - 杨翔 - 周煊赫 - 研究生 - 黎增城
- [翻译中] 树莓派内核编译
- Linux编译+更换3.4版本内核教程 [复制链接]
- 树莓派-内核开发-说明 下载代码 编译 替换内核
- 本地编译安装树莓派内核
- 关于树莓派内核编译和驱动编写(2)
- 再战树莓派内核编译
- 树莓派开发系列教程8——树莓派内核编译与固件升级
- Ubuntu下 交叉编译树莓派内核时出现错误“没有那个文件或目录” 的解决办法
- 树莓派内核(Kernel)的交叉编译
- ubuntu 下编译树莓派内核
- [树莓派内核学习] kernel编译
- 如何编译树莓派内核
- Rpi内核编译中的问题
- 树莓派开发系列教程8——树莓派内核编译与固件升级
- 编译树莓派内核
- 树莓派3B 内核编译
- 树莓派内核交叉编译与升级(三)
- 树莓派内核编译与固件升级