赞
踩
回顾:
uname -r
可以查到】,在https://github.com/raspberrypi/,下载linux工程,要对应当前树莓派的版本X86,Intel windows
嵌入式产品: 树莓派,mini2440, mini6410,nanopi,海思,RK(瑞芯微)
安卓:
可以查看Linux操作系统基础文章下的【Linux 系统目录】
find . -name *_defconfig
注意:
linux源码中有很多工程:
参考博文:
前期工作:
方式一:
在源码目录下将厂家的config文件拷贝到本地
ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- KERNEL=kernel7 make bcm2709_defconfig
方式二: 如果没什么改的就不用执行这一步
ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- KERNEL=kernel7 make menuconfig
则是在本地config文件上进行配置sudo apt-get install libncurses5-dev libncursesw5-dev
sudo apt-get install zlib1g:i386
sudo apt-get install libc6-i386 lib32stdc++6 lib32gcc1 lib32ncurses5
驱动两种加载方式:
ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- KERNEL=kernel7 make -j4 zImage modules dtbs
编译成功后,通过ls指令看到源码树目录多了vmlinux【没有压缩】,失败则无此文件,目标zImage镜像arch/arm/boot底下
注意:
在源码数目录下打包zImage成树莓派可用的xxx.img
直接用linux源码包里的工具: ./scripts/mkknlimg arch/arm/boot/zImage ./kernel_new.img
在本目录生成一个kernel_new.img文件,这个文件就是要放到sd卡中的文件。
需要将U盘连接到虚拟机的位置而不是本机
sudo dmesg查看内核信息,当有设备接入的时候内核会打印信息,可以看到树莓派的sd卡有sdb1和sdb2两个分区【对应fat分区和ext4分区】
在当前用户下创建两个文件夹:
挂载分区到U盘
安装modules, 设备驱动文件: 也就是设置hdmi usb wifi io …
进入到树莓派linux内核目录中执行sudo ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- KERNEL=kernel7 make INSTALL_MOD_PATH=[ext4] modules_install
将ext4替换成data2的绝对路径
sudo ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- KERNEL=kernel7 make INSTALL_MOD_PATH=/home/fangjiarong/data2 modules_install
安装更新 kernel.img 文件,在data1文件夹中,镜像名字是kernel7.img【其实就是执行第四步cp,但覆盖前先拷贝】
更新之前先备份
cd /home/fangjiarong/data1
cp kernel7.img kernel7OLD.img
cp kernel_new.img /home/chenlc/data1/kernel7.img
查看是否拷贝成功
md5sum kernel_new.img
md5sum /home/chenlc/data1/kernel7.img
在树莓派Linux内核目录下安装配置文件
cp arch/arm/boot/dts/.dtb [fat]/
cp arch/arm/boot/dts/overlays/.dtb* [fat]/overlays/
cp arch/arm/boot/dts/overlays/README [fat]/overlays/
修改为下方
cp arch/arm/boot/dts/.*dtb* /home/chenlc/data1
cp arch/arm/boot/dts/overlays/.*dtb* /home/chenlc/data1/overlays/
cp arch/arm/boot/dts/overlays/README /home/chenlc/data1/overlays/
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。