カテゴリ
リンク

当サイトは、玄箱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)

■TeraTerm でログインする
 TeraTerm などを使って、玄箱PRO に telnet でログインします(シリアル・コンソールからログインしてもかまわない)。初期設定のままなら、ユーザ root、パスワード kuroadmin です。IP アドレスは、シリアル・コンソールをつないでいれば、起動時に DHCP サーバから割り当てられたアドレスが表示されるので、それを使います。以下の場合は、10.93.63.202 です。

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

 次に、/mnt/mtd ディレクトリへ移動し、
cd /mnt/mtd

 ファイルを展開
tar xzf inst.tar.gz

します(tar xzf inst.tar.gz で失敗するときは tar xf 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 #

■インストールする
 以下を実行すると 1-4 のインストールが始まります。
./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

 無事起動すれば Debian 化、完了です。

2008/01/27: USB audio の音とび対策をしたファイルに置き換えました。
以前のファイルはこちらですinst.tar.gz (2.6MB)

2008/07/19:
セキュリティホールの問題がありますので、ファイルは「カーネル2.6.25.4のDebian化」のページからダウンロードしてください。

ハードディスクを一度、玄箱PROや、Linux マシンで利用しているとき、InitDisk1.sh の実行に失敗することがあります(ブザーが鳴ります)。このとき、パーティション構成を変更しなくてよい場合には、「Debian 化する(実行編, HDD 起動に設定している場合)」の「ログインして作業を続ける」以降の手順で Debian 化してください。/dev/sdaX がマウントされていないときには、umount の実行は不要です。

パーティション構成をインストールスクリプト通りにするには一度パーティションテーブルを消すために、以下を実行してから、InitDisk1.sh を実行して見てください。
dd if=/dev/zero of=/dev/sda bs=1M count=1
それでも、ダメなら
dd if=/dev/zero of=/dev/sda bs=1M count=1024
としてから、InitDisk1.sh を実行してみてください。

 カテゴリ 

 

トラックバック(0)

このブログ記事を参照しているブログ一覧: Debian 化する(実行編)

このブログ記事に対するトラックバックURL: http://www.eleki-jack.com/mt/mt-tb.cgi/724

コメント(5)

雲隠災造 :

はじめまして!
このページの方法に従って玄箱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で接続出来ました~!!
もっと勉強しないとダメですね
ご指導ありがとうございます。

コメントする

おすすめ書籍
Powered by
Movable Type 4.1