みつきんのメモ

組み込みエンジニアです。Interface誌で「Yocto Projectではじめる 組み込みLinux開発入門」連載中

ConnectCore i.MX6UL スターターキット:マイクロSDカードからLinuxを起動する

ConnectCore i.MX6ULスターターキットの続き

その1 その2

パーティション作成

ツールでSDカードのメディアに次のようにパーティションを作成する。

ラベル サイズ フォーマット
boot 256M ext4
rootfs 残り全部 ext4

gpartedのインストール

Ubuntu16.04では次のようにする。

$ sudo apt-get install -y gparted

カーネルとデバイスツリーのコピー

$ sudo cp tmp/deploy/images/ccimx6ulstarter/zImage-ccimx6ulstarter.bin /media/${USER}/boot
$ sudo cp tmp/deploy/images/ccimx6ulstarter/zImage-imx6ul-ccimx6ulstarter-id129.dtb /media/${USER}/boot

ルートファイルシステムの展開

$ sudo tar xvf ./tmp/deploy/images/ccimx6ulstarter/core-image-base-ccimx6ulstarter.tar.bz2 -C /media/${USER}/rootfs

u-bootの設定

setenv bootargs console=${console},${baudrate} ${bootargs_linux}  root=/dev/mmcblk1p2 fstype=ext4
setenv load_kernel_mmc ext4load mmc 0 ${loadaddr} /zImage-ccimx6ulstarter.bin
setenv load_fdt_mmc ext4load mmc 0 ${fdt_addr} /zImage-imx6ul-ccimx6ulstarter-id129.dtb
setenv bootcmd 'mmc rescan; run load_kernel_mmc; run load_fdt_mmc; bootz ${loadaddr} - ${fdt_addr}'
saveenv

これでマイクロSDからブートされるようになる。