我最近买了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
现在,问题是:
如何创建rootfs?
如何对SD卡进行分区?
答案 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。