rootstock の –arch オプション

Facebooktwittergoogle_plustumblrmail
以前使っていた BeagleBoard-xM Rev.C をひっぱり出してきて、 Ubuntu の rootfs を新調しようとして rootstock でハマったのでメモ。

昔は Ubuntu 10.04 Lucid の rootfs を作ったので、直接 https://launchpad.net/project-rootstock にある rootstock を使ったのですが、今回は Ubuntu 12.04 Precise を入れたかったので https://github.com/RobertCNelson/project-rootstock を利用しました。

そうしたらですね,新しい rootstock を走らせるとこんなメッセージで止まるのです。

# rootstock --fqdn beagleboard --login **** --password **** --imagesize 3G --dist precise --serial ttyS2 --seed wget,nano,linux-firmware,wireless-tools,usbutils,ssh --kernel-image http://localhost/linux-image-2.6.32_1.0cross_armel.deb
I: Running on a i686 machine
I: Creating temporary qemu Image to be used as rootfs
I: Mounting temporary Image
I: Running first stage
E: unrecognized or invalid option --arch=
chroot: failed to run command `debootstrap/debootstrap': No such file or directory
I: First stage install done
rootstock: 1107: rootstock: cannot create /tmp/tmp.CqdiGErpiA/tmpmount/etc/fstab: Directory nonexistent

なんか –arch の引数が間違ってるという。これ何?と思って色々調べたら、ここには ARM のアーキテクチャを指定するんですね。新しい rootstock では –arch を指定しないと、内部の fakeroot コマンドへ与える ARM アーキテクチャが定まらずにこういうエラーになる様です。なので、以下の様に –arch armhf を追加して解決。

# rootstock --arch armhf --fqdn beagleboard --login **** --password **** --imagesize 3G --dist precise --serial ttyS2 --seed wget,nano,linux-firmware,wireless-tools,usbutils,ssh --kernel-image http://localhost/linux-image-2.6.32_1.0cross_armel.deb

余談ですが、新しい rootstock は最後に tgz 形式じゃなくて tar 形式の rootfs イメージを生成するのですね。

References:
Facebooktwittergoogle_plustumblrmail
Yusuke Dada K.
Yusuke Dada K.
台湾の現地企業で主に組み込みソフトウエアの研究開発をしている日本人です。我人是個日本人,負責軟體的研究開發。在臺灣的科技公司工作。

コメントする

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です