ブートしてみる ― 2012年04月08日 19:57
ブートして、u-bootの設定を確認しておく。
U-Boot SPL 2012.04-rc1 (Apr 08 2012 - 12:25:22) OMAP4460 ES1.1 OMAP SD/MMC: 0 reading u-boot.img reading u-boot.img U-Boot 2012.04-rc1 (Apr 08 2012 - 12:25:22) CPU : OMAP4460 ES1.1 Board: OMAP4 Panda I2C: ready DRAM: 1 GiB MMC: OMAP SD/MMC: 0 Using default environment In: serial Out: serial Err: serial Net: No ethernet found. Hit any key to stop autoboot: 0 Panda # printenv baudrate=115200 bootcmd=if mmc rescan ${mmcdev}; then if run loadbootscript; then run bootscript; else if run loaduimage; then run mmcboot; fi; fi; fi bootdelay=3 bootscript=echo Running bootscript from mmc${mmcdev} ...; source ${loadaddr} console=ttyO2,115200n8 loadaddr=0x82000000 loadbootscript=fatload mmc ${mmcdev} ${loadaddr} boot.scr loaduimage=fatload mmc ${mmcdev} ${loadaddr} uImage mmcargs=setenv bootargs console=${console} vram=${vram} root=${mmcroot} rootfstype=${mmcrootfstype} mmcboot=echo Booting from mmc${mmcdev} ...; run mmcargs; bootm ${loadaddr} mmcdev=0 mmcroot=/dev/mmcblk0p2 rw mmcrootfstype=ext3 rootwait usbtty=cdc_acm vram=16M Environment size: 686/131068 bytesこのままで良さそうだ。
Panda # boot
SDHCカードを作成する ― 2012年04月08日 18:36
gpartedを利用して、上記の様にSDHCカードへパーティションを作成する。作成したパーティションをマウントして(swapは除く)、ビルドして作成したファイルをコピーする。
rootfsはこれも新し物好きの性で、Fedora 17 Alpha 1 release for ARMv7hlを試してみる。rootパスワードが設定されているが、何だか分からないので消しておく。swapパーティションを作っておいたので、以下の1行をfstabに追加しておく。
LABEL="swap" swap swap defaults 0 0x-loader(MLO)はBOOTパーティションの先頭に配置する必要があるらしいので、パーティション作成直後に最初にコピーし、直ぐにsyncしておく。後で入れ替える場合は、パーティションを作成し直す必要がある。
wget wget http://fedora.roving-it.com/rootfs-f17-hfp-alpha1.tar.bz2 sudo tar xvf rootfs-f17-hfp-alpha1.tar.bz2 -C /media/rootfs cp ~/u-boot/MLO /media/BOOT sync; sync; sync cp ~/u-boot/u-boot.img /media/BOOT cd ~/linux-3.4-rc2 cp arch/arm/boot/uImage /media/BOOT sudo make INSTALL_MOD_PATH=/media/rootfs/usr modules_install sudo make INSTALL_MOD_PATH=/media/rootfs/usr firmware_install
kernelのビルド ― 2012年04月08日 18:19
新し物好きなので、最新版を試してみる。コンフィグは他のヒトのをパクる。以下の変更をしておかないと起動できなかったので、makeの前に変更しておく。
CONFIG_DEVTMPFS=y CONFIG_DEVTMPFS_MOUNT=yビルド手順は以下の通り。
wget http://www.kernel.org/pub/linux/kernel/v3.0/testing/linux-3.4-rc2.tar.bz2 tar xvf linux-3.4-rc2.tar.bz2 cd linux-3.4-rc2 wget -O .config http://elinux.org/images/1/10/Config.3.3.1 make make uImage make modulesarch/arm/boot/uImageができたらOK。
x-loaderとu-bootのビルド ― 2012年04月08日 18:06
x-loader(MLO)とu-bootをビルドする。
git clone git://git.denx.de/u-boot.git cd u-boot make omap4_panda_config makeMLOとu-boot.imgができたらOK。
クロスツールチェインの準備 ― 2012年04月08日 17:47
Mentor Graphics(旧Code Sourcery)社が提供している無償のクロスツールチェインを利用する。
wget https://sourcery.mentor.com/sgpp/lite/arm/portal/package4571/public/arm-none-linux-gnueabi/arm-2009q1-203-arm-none-linux-gnueabi-i686-pc-linux-gnu.tar.bz2 sudo tar xvf arm-2009q1-203-arm-none-linux-gnueabi-i686-pc-linux-gnu.tar.bz2 -C /opt export PATH=/opt/arm-2009q1/bin:${PATH} export ARCH=arm export CROSS_COMPILE=arm-none-linux-gnueabi-これで、x-loader、u-boot、kernelをビルドする。 mkimageコマンド(u-boot-toolsパッケージ)も必要。