i2S-6UB核心板使用Linux 4.1.15版本,通过构建Linux内核代码,可以得到内核文件zImage和设备树描述文件dtb。以下是编译使用的config文件:

文件名 描述
i2som_imx6_defconfig 支持i2S-6UB系列的核心板,并适配i2C-6ULX-B底板的所有外设功能

构建内核文件和设备树文件
下面以i2c_b6ull_defconfig的配置文件进行构建。

$ make i2som_imx6_defconfig
$ make zImage
$ make dtbs
编译完成后,zImage存放在i2SOM-Linux/arch/arm/boot/目录下,dtb文件存放在i2SOM-Linux/arch/arm/boot/dts目录下。

dtb文件 描述
i2c6ulxb-i2s6ull-nand.dtb i2S-6ULY2核心板搭载NAND Flash,支持i2C-6ULX-B底板功能
i2c6ulxb-i2s6ull-emmc.dtb i2S-6ULY2核心板搭载eMMC Flash,支持i2C-6ULX-B底板功能
构建和安装模块驱动
Linux kernel支持驱动以模块的方式在系统运行中动态加载。对zImage文件体积有限制的场景,可以将驱动选择为”“,然后编译成模块文件。

$ make modules
$ mkdir ../target-kernel
$ make INSTALL_MOD_PATH=../target-kernel modules_install
以上将模块安装在了上级目录的target-kernel目录内,可以将此目录打包后,解压在目标系统的”/lib”目录下使用。

替换kernel和dtb文件
如果开发者需要更快速的更新kernel和dtb文件,可以通过直接对开发板上的系统文件替换来实现。eMMC版本的硬件,默认把boot分区挂载在/mnt/linux目录下,且为只读。替换文件前,需要挂载boot分区到/mnt/linux,然后替换相应的文件

eMMC版本dtb文件: zImage-i2c6ulxb-i2s6ull-emmc.dtb
NAND版本dtb文件: zImage-i2c6ulxb-i2s6ull-nand.dtb
kernel image文件: zImage-i2c6ulxbe.bin
eMMC版本更新
先把新的dtb或kernel文件,用U盘或者NFS等方式存储在开发板上,然后按以下命令来替换文件。

root@i2c6ulxbe:~# umount /mnt/linux/
root@i2c6ulxbe:~# mount /dev/mmcblk1p1 /mnt/linux/
root@i2c6ulxbe:~# ls /mnt/linux/
boot.scr                          zImage-i2c6ulxb-i2s6ull-emmc.dtb  zImage-i2c6ulxbe.bin
root@i2c6ulxbe:~# cp i2c6ulxb-i2s6ull-emmc.dtb /mnt/linux/zImage-i2c6ulxb-i2s6ull-emmc.dtb; sync
root@i2c6ulxbe:~# umount /mnt/linux

NAND版本更新
先把新的dtb或kernel文件,用U盘或者NFS等方式存储在开发板上,然后按以下命令来替换文件。

root@i2c6ulxbn:~# ubiattach -m 3
root@i2c6ulxbn:~# mount -t ubifs /dev/ubi1_0 /mnt
root@i2c6ulxbn:~# ls /mnt
boot.scr                          zImage-i2c6ulxb-i2s6ull-nand.dtb  zImage-i2c6ulxbe.bin
root@i2c6ulxbn:~# cp i2c6ulxb-i2s6ull-nand.dtb /mnt/zImage-i2c6ulxb-i2s6ull-nand.dtb; sync
root@i2c6ulxbn:~# umount /mnt
作者:SteveChen  创建时间:2024-09-17 16:46
最后编辑:SteveChen  更新时间:2024-09-17 16:55
上一篇:
下一篇: