正点原子 imx6ull linux 更新内核与设备树 通过nfs挂载

目的

通过修改linux正点原子imx6ull设备树,防止led灯占用

做法

编译内核与设备树

1.将原子的镜像解压到ubuntu虚拟机

正点原子 imx6ull linux 更新内核与设备树 通过nfs挂载_第1张图片

2.使用tar -xf linux…解压到某一文件夹

正点原子 imx6ull linux 更新内核与设备树 通过nfs挂载_第2张图片

3.修改设备树文件(imx6ull-alientek-emmc.dts)
cd arch/arm/boot/dts

code imx6ull-alientek-emmc.dts

在leds下面添加

status = "disabled";

正点原子 imx6ull linux 更新内核与设备树 通过nfs挂载_第3张图片

4.编译设备树

在源码根目录

make dtbs

正点原子 imx6ull linux 更新内核与设备树 通过nfs挂载_第4张图片

(非必须)4-2.编译内核

在源码根目录

make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- distclean
make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf-imx_v7_defconfig
make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- menuconfig
make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- all -j16

如果已经修改过环境变量,就不用加中间的 ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- ,加了也没事

将生成的zImage,imx6ull-alientek-emmc.dtb拷贝到nfs目录(/home/hk16/nfs_rootfs)

挂载内核与设备树

1.设置开发板网络

开机时狂点enter,进入uboot设置
正点原子 imx6ull linux 更新内核与设备树 通过nfs挂载_第5张图片

setenv ipaddr 192.168.10.50       //开发板IP地址
setenv ethaddr b8:ae:1d:01:00:00  //开发板网络硬件
setenv gatewayip 192.168.10.1	  //后一个是1,倒数第二个跟开发板倒数第二个一样(10)
setenv netmask 255.255.255.0	  //
setenv serverip 192.168.10.110	  //ubuntu虚拟机地址
saveenv							  //保存
2.设置文件系统,串口
setenv bootargs console=ttymxc0,115200 root=/dev/mmcblk1p2 rootwait rw
saveenv	
3.手动挂载

内核

nfs 80800000 192.168.10.110:/home/hk16/nfs_rootfs/zImage

正点原子 imx6ull linux 更新内核与设备树 通过nfs挂载_第6张图片

设备树

nfs 83000000 192.168.10.110:/home/hk16/nfs_rootfs/imx6ull-alientek-emmc.dtb

正点原子 imx6ull linux 更新内核与设备树 通过nfs挂载_第7张图片
启动

bootz 80800000 - 83000000

正点原子 imx6ull linux 更新内核与设备树 通过nfs挂载_第8张图片

4.开机自动挂载设置

为了方便,开机自动挂载设备树和内核,不用手动设置

setenv bootcmd 'nfs 80800000 192.168.10.110:/home/hk16/nfs_rootfs/zImage; nfs 83000000 192.168.10.110:/home/hk16/nfs_rootfs/imx6ull-alientek-emmc.dtb;bootz 80800000 - 83000000'
saveenv
boot

之后更新内核或设备树只需要替换nfs目录下面的对应文件,改好名字就行

你可能感兴趣的:(linux,arm开发,运维,正点原子,imx6ull)