如何为运行linux的iMX6 saber lite板准备新的SD卡

时间:2014-11-04 11:33:14

标签: linux-kernel embedded cross-compiling embedded-linux rootfs

我最近买了i.MX6 Sabrelite板,我正在学习内核交叉编译和电路板启动。

u-boot已经存在于flash中,它被配置为从SD卡加载内核。我尝试了一些预建的图像,并在使用dd在SD卡上闪烁这些图像后成功启动了板。

现在,我想学习如何使用内核和rootfs准备整个SD卡。

我可以使用此处提到的以下步骤构建内核的uImage: http://boundarydevices.com/cross-compile-i-mx6-kernel-using-ltib-toolchain/

~/$ git clone git://github.com/boundarydevices/linux-imx6.git
~/$ cd linux-imx6
~/linux-imx6$ export PATH=/opt/freescale/usr/local/gcc-4.6.2-glibc-2.13-linaro-multilib-2011.12/fsl-linaro-toolchain/bin/:$PATH
~/linux-imx6$ export ARCH=arm
~/linux-imx6$ export CROSS_COMPILE=arm-none-linux-gnueabi-
~/linux-imx6$ git checkout origin/boundary-imx-3.0.35_1.1.0 \
        -b boundary-imx-3.0.35_1.1.0
~/linux-imx6$ make nitrogen6x_defconfig
~/linux-imx6$ make uImage modules

现在,问题是:

  1. 如何创建rootfs?

  2. 如何对SD卡进行分区?

1 个答案:

答案 0 :(得分:2)

看看Buildroot。它将负责交叉编译器,内核,引导加载程序和rootfs。

BR已经提供了i.MX6 Sabrelite目标。执行以下步骤:

git clone http://git.buildroot.net/git/buildroot.git
cd buildroot
make freescale_imx6dlsabresd_defconfig

至于SD卡分区,请查看以下资源:

https://community.freescale.com/docs/DOC-95017

但基本上你需要一个FAT分区用于bootloader,另一个用于rootfs,例如ext4。