玄柴と比較して、このeSATA SheevaPlug Multiというのは u-bootの設定がかなり異なるようだ....。
Hit any key to stop autoboot: (起動時リターン連打でu-bootプロンプトへ) Marvell>> printenv [ENTER] bootcmd=run bootcmd_mmc; run bootcmd_nand bootcmd_mmc=setenv bootargs $(bootargs_console) (*実際は1行) $(bootargs_root_mmc); mmcinit; (*実際は1行) ext2load mmc 0:1 0x800000 /uImage; bootm 0x00800000 (*ここまで) bootcmd_nand=setenv bootargs $(bootargs_console) (*実際は1行) $(mtdpartitions) $(bootargs_root_nand); nand read.e (*実際は1行) 0x00800000 0x00100000 0x00400000; bootm 0x00800000 (*ここまで)
なるほど、先に外付けSDカード(Debian)をブートしようとして、 失敗したら内蔵NAND(Ubuntu)を起動するようになっているわけだ。便利だな..... 使っているその他のパラメータはこんな感じ。
bootargs_root_mmc=root=/dev/mmcblk0p2 rootdelay=5 bootargs_root_nand=ubi.mtd=1 root=ubi0:rootfs rootfstype=ubifs mtdpartitions=mtdparts=orion_nand:0x400000@0x100000(uImage),(*実際は1行) 0x1fb00000@0x500000(rootfs) (*ここまで) bootargs_console=console=ttyS0,115200
bootargs_root_mmcのrootパーティションが/dev/mmcblk0p2なので、 おそらく2番めのパーティションがrootなのだろう。
内蔵NANDもカスタムカーネルが採用されており、rootfsはjffs2よりも高速なUBIFSが 採用されているようだ。ハードウェアは同じだけど、そこかしこに手が入ってるのね。
Uncompressing Linux........ Linux version 2.6.32.7 (newit@gemini) (gcc version 4.4.1 (Sourcery G++ Lite 2009q3-68) ) #5 PREEMPT Wed Feb 10 21:09:39 GMT 2010
これ幸いとばかりにNANDでUbuntuブートしてから、SDカードのDebianを母艦(192.168.11.2)に バックアップ。書き戻すときはtar xvpfね、念のため。
# mkdir /mnt/test1 # mount /dev/mmcblk0p1 /mnt/test1 # cd /mnt/test1 # tar cvf '-' . | ssh papanda@192.168.11.2 "cat '-' > /tmp/debian_kern.tar" # cd .. # umount /mnt/test1 # mount /dev/mmcblk0p2 /mnt/test1 # cd /mnt/test1 # tar cvf '-' . | ssh papanda@192.168.11.2 "cat '-' > /tmp/debian_root.tar" # umount /mnt/test1 # cd ..
見た感じSDカードのフォーマットは単純そのもの。Linuxパーティション1にuImageというファイルが1個、 Linuxパーティション2にrootfsをそのまま置けば良さそうだ。NANDと違ってすごい簡単ね。
試しにNewITの添付のSDカードとは容量の異なる、2GBのSDカードに、 似たようなパーティション切って、上のアーカイブを展開したけど、 全く問題なく起動したよ(実環境はこのカードで構築中)。
ここまでLinuxの基礎的な知識を動員している以外、SheevaPlug関連の 情報はほとんど使ってない(笑)マジ適当にやってマス。 それもこれも、 NewIT UKが最初から設定を済ませてくれている からだね.....。 これをポチったときは「やっちゃった」感ありありだったわけだが (ポンド/円の為替レートに無頓着だったというのもある...)今では玄柴買わなくて良かったと思ってる!
![]() |