2

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

u-boot 已经存在于闪存中,并且已配置为从 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 卡进行分区?

4

1 回答 1

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 分区用于引导加载程序,另一个用于 rootfs,例如 ext4。

于 2014-11-05T08:50:49.657 回答