imx6ul uboot imx6ul evk板子QSPI nor启动记录initramfs文件系统制作 - Linux - 服务器之家

服务器之家

专注于服务器技术!
当前位置:首页 > 服务器系统 > Linux

imx6ul uboot imx6ul evk板子QSPI nor启动记录initramfs文件系统制作

发布时间:2017-05-07 来源:服务器之家

从mfgtool工具的打印信息可以看到 mfg采用的是initramfs的方式启动整个系统的,启动log如下

并且可以参看《Freescale_Yocto_Project_User's_Guide.pdf》有如下内容,即可以自己编译成才mfgtool需要的kernel和rootfs,命令bitbake fsl-image-mfgtool-initramfs

编译环境准备好后输入 bitbake fsl-image-mfgtool-initramfs

最后可以看到在目录Y:\build-x11\tmp\work\imx6ulevk-poky-linux-gnueabi 下生成了3个新的文件夹

fsl-image-mfgtool-initramfs  mfgtool的initramfs目录

mfgtool-linux-imx    mfgtool的linux代码

u-boot-imx-mfgtool    mfgtool的uboot代码

并且可以在Y:\build-x11\tmp\deploy\images\imx6ulevk下面找到生成的kernel uboot dab 和rootfs文件

这里需要说明的一点是:系统并没有静initramfs跟kernel合并到一起,而是生成了俩个对应的文件fsl-image-mfgtool-initramfs-imx6ulevk.cpio.gz.u-boot和zImage_mfgtool.zhe

这里生成的文件我并没有测试,因为我的目的是生成自己的inirramfs和内核的合并文件。下面我们利用fsl-image-mfgtool-initramfs  mfgtool的initramfs目录下面

Y:\build-x11\tmp\work\imx6ulevk-poky-linux-gnueabi\fsl-image-mfgtool-initramfs\1.0-r0\rootfs制作自己的initramfs。

将这里面的所有文件复制到 自己想要的路径下  下面是我的路径

在dev下面添加节点,console和null,这两个节点是必须存在的,如果你忘了添加,启动最后挂载文件系统时会有错误提示 

mknod -m 0666 console c 5 1

mknod -m 0666 null c 1 3

然后修改linuxrc文件如下

#!/bin/sh
export PATH=/sbin:/bin:/usr/sbin:/usr/bin

mount -t sysfs none /sys
mount -t proc none /proc
mount -t devtmpfs none /dev

echo -e "\033[9;0]" > /dev/tty0
cd /
ls

echo "Starting "

sleep 1

    PS1="[InitRamFs@\W]#"
    export PS1
    /bin/sh
    exit 0;;

当然有一些不是必须的