beaglebone内核升级(微雪官方)

时间:2024-06-01 10:44:34

0.使用的编译环境为64Ubuntu

beaglebone内核升级(微雪官方)

安装相关工具:

apt-get update

apt-get install git ccache lzop

 

1.通过以命令获取内核源码:

git clone https://github.com/beagleboard/linux.git

这个过程可能需要1~2小时。主要取决网速和PC性能。

 

2.进入linux目录,执行jenkins_build.sh脚本

cd linux

./jenkins_build.sh

如果有报错,则安装相应的程序,然后重新执行jenkins_build.sh脚本,直至整个命令执行完都没有报错即可。

beaglebone内核升级(微雪官方)

可以看到目录已经安装了相应的gcc编译器

beaglebone内核升级(微雪官方)

该路径为编译器的路径,需要记住,后面需要用到。

beaglebone内核升级(微雪官方)

 

3.修改顶层Makefile

beaglebone内核升级(微雪官方)

临时配置环境变量,先执行

echo $PATH

查看当前的环境变量

beaglebone内核升级(微雪官方)

在执行以下命令,其中绿色部分为当前的环境变量,红色部分为gcc的环境变量(上一步的路径)

export PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/home/saber/bbb/linux/gcc-linaro-6.4.1-2018.05-x86_64_arm-linux-gnueabihf/bin"

先设置配置文件:

make bb.org_defconfig

然后通过以下命令编译内核:

make -j2 zImage

通过以下命令编译模块:

make -j2 modules

通过以下命令编译设备树:

make -j2 dtbs

 

4.zImageam335x-boneblack.dtb复制到BB Blakc的文件系统中。

其生成路径分别是:arch/arm/boot/zImagearch/arm/boot/dts/am335x-boneblack.dtb

修改/boot/uEnv.txt中的uname_r。比如我们想把名称命名为:waveshare

则修改为:uname_r=waveshare

然后把以下几个文件都复制对应名称的文件:

beaglebone内核升级(微雪官方)

cd /boot

cp config-4.14.71-ti-r80 config-waveshare

cp initrd.img-4.14.71-ti-r80 initrd.img-waveshare

cp System.map-4.14.71-ti-r80 System.map-waveshare

cp dtbs/4.14.71-ti-r80/ dtbs/waveshare -r

zImage代替vmlinuz-名称: cp zImage /boot/vmlinuz-waveshare

am335x-boneblack.dtb代替/boot/dtbs/waveshare/am335x-boneblack.dtb

cp am335x-boneblack.dtb /boot/dtbs/waveshare/am335x-boneblack.dtb

执行reboot复位后,在执行uname -a正常可以看到内核已经更新。

 

5.BB-black执行下面命令安装NFS相关软件。

apt-get install nfs-common

虚拟机配置相应的NFS,指定为linux内核源码目录。

BB-black上执行以下命令挂载NFS,其中下面IP为虚拟机的IP地址:

mount -t nfs -o nolock,vers=2 192.168.3.59:/home/saber/bbb/linux /mnt

进入挂载目录:

cd /mnt

设置环境变量:

export PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/home/saber/bbb/linux/gcc-linaro-6.4.1-2018.05-x86_64_arm-linux-gnueabihf/bin"

安装module

make modules_install INSTALL_MOD_PATH=/

卸载NFS

umount /mnt

这样即完成了模块安装。