|
|
当サイトは、玄箱PRO (KURO-BOX/Pro)を中心とした組み込み、Linuxと電子工作を扱っています。
会社案内
情報セキュリティおよび個人情報の取り扱いについて コメントとトラックバックは、spamを予防するために、編集担当が公開の作業をするまで非公開になっています。コメントはそれぞれ投稿した人のものです。 |
■Debian 化とは
ここでの Debian 化では、ファイルは HDD にインストールし、玄箱Pro を HDD から起動できるようにします。HDD 起動するための玄箱Pro オリジナルの手順は以下のようになっています。
(1) HDD のフォーマット(パーティションを切って、フォーマットする)/dev/sda1 ext3fs 50MB uImage 用 (uImage.buffalo だけを収める)
/dev/sda2 xfs 3GB / パーティション
/dev/sda3 swap 128MB swap パーティション
/dev/sda4 xfs 残り 空きパーティション
(2) uImage (uImage.buffalo) のコピー
(3) hddrootfs.tar.gz の展開
(4) uboot の環境変数の書き換え
EABI, OABI 問題を発生させるのは (1) です。なにが起きるかというと、Debian GNU/Linux 4.0 (etch) にあわせて OABI でコンパイルしたカーネルで起動して、EABI でコンパイルされた mkfs.xfs でフォーマットした /dev/sda2, /dev/sda4 を mount すると、パーティションの内容を壊してしまいます。
また (3) で展開するときにフラッシュ・メモリに収められている tar がパーミッションなどを正しくセットできない制限版であるという問題があります。
■問題の解決のために
そこで、xfs ではなく、ext3fs (Debian etch でコンパイル、スタティック・リンク)でフォーマットし、
玄箱 PRO 付属の tar ではなく、別途コンパイルした tar (スタティック・リンクしている)を使います。そのために、標準で用意されているスクリプトを改造したものを使います。INIT ボタン長押しではなく、個別にコマンドを打ち込む作業が必要です。
■以下の作業について
筆者は、以下でうまくいくことを確認していますが、最悪、起動できなくなる可能性があります。シリアル・コンソールを準備しておくことをお勧めします。結果、報告をお待ちしています。
■HDD を取り付ける
それでは、まずは取扱説明書にしたがって Serial ATA HDD を、玄箱PROに取り付けます。コネクタなどに無理な力がかからないよう、ねじを締めるときは交互に締めるようにしましょう。
■フラッシュで起動する
通常通り、フラッシュで起動します。そして Windows マシンから、玄箱PROの共有ディレクトリ "mtd device" (\\kurobox-pro\mtd device\)に、以下の二つのファイルをコピーします。
hddrootfs.tar.gz(50MB)
inst.tar.gz(2.6MB)
Configuration network interface: lo eth0requesting DHCP tout=30[s] eth0: link down eth0: link up<5>, full duplex<5>, speed 100 Mbps<5> /etc/dhcpc/dhcpcd.exe ::: /etc/dhcpc/dhcpcd-eth0.info new dhpcd.exe: interface eth0 has been configured with new IP=10.93.63.202 hostname is setted to KUROBOX-PRO
cd /mnt/mtd
tar xzf inst.tar.gz
KUROUTOSHIKOU KUROBOX Series KUROBOX/PRO(KOSHO)KUROBOX-PRO login: root Password: BusyBox v1.4.1 (2007-02-06 15:15:35 JST) Built-in shell (ash) Enter 'help' for a list of built-in commands. ~ # cd /mnt/mtd /mnt/mtd # tar xzf inst.tar.gz /mnt/mtd #
./InitDisk1.sh
/mnt/mtd # ./InitDisk1.sh3+0 records in 3+0 records out 3+0 records in 3+0 records out 3+0 records in 3+0 records out The number of cylinders for this disk is set to 30401. There is nothing wrong with that, but this is larger than 1024, and could in certain setups cause problems with: 1) software that runs at boot time (e.g., old versions of LILO) 2) booting and partitioning software from other OSs (e.g., DOS FDISK, OS/2 FDISK) Command (m for help): You must delete some partition and add an extended partition first Command (m for help): Disk /dev/sda: 250.0 GB, 250059350016 bytes 255 heads, 63 sectors/track, 30401 cylinders Units = cylinders of 16065 * 512 = 8225280 bytes Device Boot Start End Blocks Id System /dev/sda1 1 7 56196 83 Linux /dev/sda2 8 373 2939895 83 Linux /dev/sda3 374 390 136552+ 82 Linux swap /dev/sda4 391 30401 241063357+ 83 Linux Command (m for help): 1: unknown command Command action a toggle a bootable flag b edit bsd disklabel c toggle the dos compatibility flag d delete a partition
Superblock backups stored on blocks:32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632, 2654208, 4096000, 7962624, 11239424, 20480000, 23887872 Writing inode tables: done Creating journal (8192 blocks): done Writing superblocks and filesystem accounting information: done This filesystem will be automatically checked every 33 mounts or 180 days, whichever comes first. Use tune2fs -c or -i to override. Format is succeeded without error. Setting up swapspace version 1, size = 139825664 bytes >nvram_set:default_kernel_addr = 0x00100000 >nvram_set:bootargs_base = console=ttyS0,115200 >nvram_set:bootargs_root = root=/dev/sda2 rw panic=5 >nvram_set:bootargs = console=ttyS0,115200 root=/dev/sda2 rw panic=5 BOOTVER=1.09 >nvram_set:bootcmd = ide reset; ext2load ide 0:1 $(default_kernel_addr) /$(kernel); bootm $(default_kernel_addr) >nvram_set:nand_boot = no /mnt/mtd #
shutdown -r now
dd if=/dev/zero of=/dev/sda bs=1M count=1それでも、ダメなら
dd if=/dev/zero of=/dev/sda bs=1M count=1024としてから、InitDisk1.sh を実行してみてください。
このブログ記事を参照しているブログ一覧: Debian 化する(実行編)
このブログ記事に対するトラックバックURL: http://www.eleki-jack.com/mt/mt-tb.cgi/724
おすすめ書籍 |
![]() |
はじめまして!
このページの方法に従って玄箱ProをDebian化する事ができました。
想像以上にあっさり終わってしまったので拍子抜けって感じです。
これから色々としてみたいと思います。
ところで
ファイルを展開 tar xzf inst.tar.gz します。以下のようになります
の部分ですが
tar: Invalid gzip magic
とエラーになってしまったので Windows で解凍してから
\\kurobox-pro\mtd device\
へ転送して作業しました。
以上、非っっっっ常に嬉っっっしい報告でございました。
m(_ _)m
ご報告ありがとうございます。
サーバの関係か、ダウンロードが完了したときに、gzip 圧縮が戻されているようです。そういう場合は、tar xf insttar.gz (z なし)も試してみてください。またファイル名も inst.tar.gz が insttar.gz になっています。
インストールは順調に終わり、リブートしました。
しかしTelnetに接続出来なくなりました。ルーターに接続して
クライアントリストを見てみるとIPアドレスやMACアドレスは
表示されていますがホスト名が表示されていません。
もしかして再起不能?になったのかな??
telnet は入れていないので、TeraTerm などをインストールして ssh プロトコルを試してみてください。
SSh2で接続出来ました~!!
もっと勉強しないとダメですね
ご指導ありがとうございます。