首页 > 编程语言 >树莓派源码内核配置(二)

树莓派源码内核配置(二)

时间:2023-02-24 19:57:36浏览次数:41  
标签:kernel 树莓 img sudo 源码 内核 install arm

再多嘴一句:树莓派LINUX源码配置,是为了驱动代码的编写,驱动代码编译需要一个提前编译好的内核,编译内核就必须配置,配置的最终目标是形成.config文件,该文件知道makefile去把有用的东西组织成 内核。

 接上节:

 inux源码中有很多工程:
树莓派1的工程是bcmrpi_defconfig;
树莓派2、3的工程是bcm2709_defconfig。

我们可以在传过去的Linux解压出来的工程文件夹下执行:find . -name *._defconfig .找到这些工程

以下环节都在解压出来的文件价下执行

1.执行内核配置命令:ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- KERNEL=kernel7 make bcm2709_defconfig

  有报错根据报错安装必要的库:

  sudo apt-get install bc
  sudo apt-get install libncurses5-dev libncursesw5-dev
  sudo apt-get install zlib1g:i386
  sudo apt-get install libc6-i386 lib32stdc++6 lib32gcc1 lib32ncurses5

  有的还需要:

  flex和bison库

如图:

 

 之后继续执行以上命令。

2。接下来编译:ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- KERNEL=kernel7 make -j4 zImage modules dtbs 一般编译过程需要20分钟左右。如果提前结束报错。

  可能早安装以下依赖库:

  sudo apt install openssl

  sudo apt install libssl-dev

  再编译即可正常编译,判断编译有没有成功,就在此文件夹下看有没有生成vmlinux这个文件

 

 

3.然后再进到这个文件夹下,这个zInamge就是我们想要的东西

 

 接下来打包,将zImage打包成树莓派可用的xxx.img:

  在Linux-rpi。。。文件夹下运行./scripts/mkknlimg arch/arm/boot/zImage ./kernel_new.img 使用源码包自带的工具打包,这个我们kernel_new.img我们等下就要放到树莓派sd卡中

这里我们5.10版本太高会提示找不到mkknlimg。是因为这个打包工具淘汰了。我的解决办法是去github在这4.几版本的linux源码,解压在scripts文件夹下找到这个工具拷贝过去。再运行

4.镜像拷贝:

  插入sd卡到电脑,连接都虚拟机,可用dmesg命令查看连接情况

  挂载树莓派SD卡,桌面目录下(方便),mkdir data1 data2。

  挂载U盘: sudo mount /dev/sdb1 data1 一个是fat分区,是boot相关的内容,kernel的img

      sudo mount /dev/sdb2 data2 一个是ext4分区,也就是系统的根目录

  安装modules,设备驱动文件:sudo ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- KERNEL=kernel7 make INSTALL_MOD_PATH=[ext4] modules_install  这个wxit对应data2根目录绝对路径

  备份:卡里原本的镜像文件:

  cd /home/chenlc/data1 

  cp kernel7.img kernel7OLD.img

再把编译生成的拷贝到data1,起名kernel7.imgcp kernel_new.img  /home...../kernel7.img  或者编辑 [fat]/config.txt 文件,在最后加入一行:kernel=kernel_new.img

5、复制其他相关文件 注意fat分区对应我们自己的data1分区绝对路径
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/ 

更新完成后插回树莓派即可开机,开机后可以用 uname -a 命令查看kernel信息已经改变。

 

 

标签:kernel,树莓,img,sudo,源码,内核,install,arm
From: https://www.cnblogs.com/hetaoBlog/p/17152124.html

相关文章