2015年12月1日火曜日

玄人志向 玄箱へ u-boot で起動する Debian Jessie をインストール

前回の(二台目の)玄箱の記事では、u-boot と Ubuntu 12.04 LTS をインストールしました。これは実績重視でインストール作業を行ったもので、どちらかと言えば u-boot の学習の意味合いがありました。
今回は、一台目の玄箱へインストールした Debian Jessie を再び二台目の玄箱へインストールしました。違いはフラッシュメモリへインストールした u-boot から起動させる点です。起動途中に玄箱オリジナルのシステムを介することなく起動するようになりました。

インストール方針

玄箱オリジナルのシステムは残存させておきます。これは玄箱を開いてハードディスクを取り出さずに新しいシステムをインストールするためのものです。そして Debian Jessie は /dev/sda3 へインストールして、ブート用のカーネルは /dev/sda1 へインストールするようにしました。この処置は、将来 /dev/sda3 のパーティションを Ext3 や Ext4 でファイルシステムを作ったときに、u-boot から認識できなくなることから、その予防処置のためです。今回のインストールでは Ext2 のファイルシステムでインストールを行いました。
/dev/sda1 -- Ext2 (KURO-BOX IETSUNA)
/dev/sda2 -- Swap
/dev/sda3 -- Ext2 (Debian Jessie)

インストール作業

一台目の玄箱でのインストールに似た作業を行いました。私の備忘録のために作業の手順を再度掲載します。

u-boot のコンソールから玄箱オリジナルのシステムを起動させます。
 -- 玄箱 (u-boot) --
=> run bootcmd2

玄箱オリジナルのシステムへログイン(ユーザ:root、パスワード:kuro)して作業を開始します。

まず最初に SAMBA を停止させて、/mnt にマウントされている /dev/hda3 を開放します。
 -- 玄箱 --
# /etc/init.d/smb stop
# umount /mnt

綺麗サッパリと Debian Jessie をインストールする領域の /dev/hda3 をフォーマットしました。
 -- 玄箱 --
# mke2fs -j /dev/hda3
# mount /dev/hda3 /mnt

システムファイルの転送を行いました。ここで使用するシステムファイルは以下のウェブサイトのものを利用しました。貴重なシステムファイルをどうもありがとうございます。
玄箱にDebian Jessieをインストール
http://blog.usoinfo.info/article/418596388.html

なお前回と同様に tar 形式のファイルの圧縮を bz2 から gz 形式へ変更して玄箱へ転送しています。これは玄箱オリジナルのシステムでは bz2 を解凍できないためです。

システムファイルを保存するディレクトリ(/mnt/jessie)を用意します。
 -- 玄箱 --
# mkdir /mnt/jessie

 作業パソコンから FTP でシステムファイルを転送します。
 -- 作業パソコン --
# ftp [玄箱の IP アドレス]
    user:root, password:kuro
ftp> cd /mnt/jessie
ftp> put kurobox-rootfs-jessie.tar.gz
ftp> put kurobox-kernel-3.19.6.tar.gz
ftp> put kurobox-lib-3.19.6.tar.gz
ftp> quit

転送されたシステムファイルを解凍して、インストールします。
  -- 玄箱 --
# cd /mnt/jessie
# mkdir /boot-sda3
# tar zxvf kurobox-kernel-3.19.6.tar.gz -C /boot-sda3
# tar zxvf kurobox-rootfs-jessie.tar.gz -C /mnt
# tar zxvf kurobox-lib-3.19.6.tar.gz -C /mnt

以上で Debian Jessie システムのインストールは終了です。

u-boot の設定

玄箱を再起動させて u-boot のコンソールへログオンします。
 -- 玄箱 --
# reboot
  ↓
umount: /run/lock: not mounted
 * Will now restart
Restarting system.


U-Boot 1.2.0 (Mar 26 2009 - 17:30:35) LinkStation / KuroBox

CPU:   MPC8245 Revision 1.4 at 196.608 MHz: 16 kB I-Cache 16 kB D-Cache
DRAM:  64 MB
FLASH:  4 MB
        00  0b  1317  0985  0200  ff
        00  0c  1095  0680  0101  ff
        00  0e  1033  0035  0c03  ff
        00  0e  1033  0035  0c03  ff
        00  0e  1033  00e0  0c03  ff
Net:   COMET#0
next_cons_choice: Unexpected code: 0x33
stdin :   serial
stdout:   serial
stderr:   serial
IDE:   Bus 0: OK
  Device 0: Model: ST3200827A Firm: 3.AAE Ser#: 5ND3GSWK
            Type: Hard Disk
            Supports 48-bit addressing
            Capacity: 190782.2 MB = 186.3 GB (390721968 x 512)
Boot in 10 seconds ('s' to stop)...(ここで "s" キーを押す)
=>

以下の環境設定の値を変更しました。前回の Ubuntu 12.04 LTS の設定とは異なります。
 -- 玄箱 (u-boot) --
=> setenv bootargs root=/dev/sda3 rtc-rs5c372.probe=0,0x32
=> setenv hdfile boot-sda3/vmlinux.UBoot
=> setenv hdkernel boot-sda3/vmlinux.UBoot
=> setenv hddtb boot-sda3/kuroboxHD.dtb
=> setenv rootdev /dev/sda3
=> setenv hdpart 0:1
=> setenv condev ttyS1
=> setenv conspeed 57600
=> setenv hdload echo Loading ${hdpart}:${hdkernel}\;ext2load ide ${hdpart} ${ldaddr} ${hdkernel}\;ext2load ide ${hdpart} 7f0000 ${hddtb}
=> setenv boothd setenv bootargs root=${rootdev} console=${condev},${conspeed} rtc-rs5c372.probe=0,0x32\;bootm ${ldaddr} - 7f0000

(設定値の保存)
=> saveenv

(起動)
=> boot
Loading 0:1:boot-sda3/vmlinux.UBoot
Unknown command 'bootargs' - try 'help'
## Booting image at 00800000 ...
   Image Name:   Linux-3.19.6usoinfo
   Image Type:   PowerPC Linux Kernel Image (gzip compressed)
   Data Size:    2231874 Bytes =  2.1 MB
   Load Address: 00000000
   Entry Point:  00000000
   Verifying Checksum ... OK
   Uncompressing Kernel Image ... OK
   Booting using flat device tree at 0x7f0000
Using Buffalo Linkstation machine description
Initializing cgroup subsys cpu
Initializing cgroup subsys cpuacct
Linux version 3.19.6usoinfo (root@vbox-debian8) (gcc version 4.9.2 ( 4.9.2-10) ) #3 Fri May 8 10:51:53 JST 2015
bootconsole [udbg0] enabled
   ↓
   ↓
[  OK  ] Reached target Graphical Interface.
         Starting Update UTMP about System Runlevel Changes...
[  OK  ] Started Update UTMP about System Runlevel Changes.
[ TIME ] Timed out waiting for device sys-subsystem-net-devices-eth0.device.
[ TIME ] Timed out waiting for device dev-sda2.device.
[DEPEND] Dependency failed for /dev/sda2.

ここでシリアルコンソールが切断されてしまいました。

玄箱の Debian Jessie へログイン

端末から ssh で Debian Jessie がインストールされた玄箱へログインします。ユーザ名:root、パスワード:kuroadmin です。
 -- 作業パソコン --
ssh root@[玄箱の IP アドレス] The authenticity of host '[玄箱の IP アドレス]' can't be established.
ECDSA key fingerprint is ab:cd:ef:00:11:22:33:44:55:66:77:88:99:00:aa:bb.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added '[玄箱の IP アドレス]' (ECDSA) to the list of known hosts.
root@[玄箱の IP アドレス]'s password: kuroadmin

The programs included with the Debian GNU/Linux system are free software;
the exact distribution terms for each program are described in the
individual files in /usr/share/doc/*/copyright.

Debian GNU/Linux comes with ABSOLUTELY NO WARRANTY, to the extent
permitted by applicable law.
root@kurobox:~#

簡略化されたインストール

今回の u-boot から起動させる方法だと、上記のとおり とてもシンプルなインストールとなりました。玄箱には u-boot が必須のようです。


0 件のコメント:

コメントを投稿