HDL-GXR を Debian Wheezy 化する

HDL-GXR を Debian Wheezy 化する

Squeeze から Wheezy アップグレードするのは、apt の設定を変更して、

# apt-get update
# apt-get dist-uprade
# apt-get upgrade

すれば良い。ここでは、新規インストールする方法を書く。

1.用意するもの

  1. カーネルを 2.6.28 にした HDL-GXR
  2. Linux が動いているPC
  3. USB-SATA 接続キット

カーネルは、おやじの玩具箱 さんでダウンロードできる。
コンパイル、インストールの手順は、シリアルコンソールがなくても、HDL-GXRのカーネルを2.6.28に入れ替える: Usoinfo blog を参考に。
Usoinfo さんと違うのは、.configで

CONFIG_CMDLINE="console=ttyS0,115200 root=/dev/sda2 ro mem=128M"
CONFIG_INOTIFY_USER=y
CONFIG_SIGNALFD=y
# CONFIG_SYSFS_DEPRECATED_V2 is not set

と、root=/dev/sda2 とします。

2.HDL-GXR で Wheezy 用の rootfs を作成
以下の例では、/opt/landisk 以下に作成する。/opt/landisk/debootstrapにdebootstrapを置き、rootfsは/opt/landisk/wheezyに作成。

# mkdir -p /opt/landisk/debootstrap
# cd /opt/landisk/debootstrap
# wget http://ftp.jp.debian.org/debian/pool/main/d/debootstrap/debootstrap-udeb_1.0.62_all.udeb
# ar -x ebootstrap-udeb_1.0.62_all.udeb
# tar Jxvfp data.tar.xz
# export DEBOOTSTRAP_DIR=`pwd`/usr/share/debootstrap
# export PATH=$PATH:`pwd`/usr/sbin
# mkdir -p /opt/landisk/wheezy
# debootstrap --arch=armel wheezy /opt/landisk/squeeze http://ftp.jp.debian.org/debian
(略)
I: Base system installed successfully.
# 

結構時間が掛かるので、しばらく待つ。終わったら、

# mount -t proc proc /opt/landisk/squeeze/proc
# chroot /opt/landisk/squeeze /bin/bash

最低限の設定をここでする。

# dpkg-reconfigure tzdata
(タイムゾーンをAsia/Tokyoに設定)

# passwd 
(rootのパスワードを設定)

# nano /etc/apt/sources.list
(Wheezyのsources.listを設定)
--
deb http://ftp.jp.debian.org/debian wheezy main
deb-src http://ftp.jp.debian.org/debian wheezy main
deb http://security.debian.org/ wheezy/updates main
--

# apt-get update
# apt-get upgrade
# apt-get install udev openssh-server
(システムに必要なudev、ログインに必要なsshdをインストール)

# nano /etc/network/interfaces
(ネットワーク設定、DHCPでアドレスを取るようにしておく)
--
auto lo
iface lo inet loopback

auto eth0
iface eth0 inet dhcp
--

# nano /etc/fstab
(マウントポイントを設定しておく)
--
# /etc/fstab: static file system information.
#
# <file system> <mount point>   <type>  <options>       <dump>  <pass>

proc            /proc           proc    defaults        0       0
/dev/sda3       swap            swap    sw              0       0
/dev/sda2       /               ext3    defaults,errors=remount-ro 0    1
/dev/sda1       /boot           auto    defaults        0       2
--

# nano /etc/inittab
(inittabを一部変更)
--
#1:2345:respawn:/sbin/getty 38400 tty1
1:23:respawn:/sbin/getty -L ttyS0 115200 vt100
#2:23:respawn:/sbin/getty 38400 tty2
#3:23:respawn:/sbin/getty 38400 tty3
#4:23:respawn:/sbin/getty 38400 tty4
#5:23:respawn:/sbin/getty 38400 tty5
#6:23:respawn:/sbin/getty 38400 tty6
--
# apt-get clean
# exit

設定したらchrootを抜け、カーネルモジュールを配置する。
今走ってる/lib/module/2.6.28 をコピーしてもいいし、カーネルをダウンロードして展開してもいい。

# mkdir -p /opt/landisk/wheezy/lib/modules
# cp -arp /lib/modules/2.6.28 /opt/landisk/wheezy/lib/modules
あるいは HDL-GXR_kernel-2.6.28.10-landisk-1.00b01.tar.bz2 を使う
# tar xvfj HDL-GXR_kernel-2.6.28.10-landisk-1.00b01.tar.bz2
# cd HDL-GXR_kernel-2.6.28.10-landisk-1.00b01
# cp -arp lib-1.00b01/lib/modules/2.6.28.10-landisk-1.00b01 /opt/landisk/wheezy/lib/modules

最後に、tar で固めて、ファイルをどこかに取っておく。

# umount /opt/landisk/wheezy/proc
# tar zcvf /opt/landisk/HDL-GXR_wheezy-rootfs-landisk-1.00b01.tar.gz .
(HDL-GXR_wheezy-rootfs-landisk-1.00b01.tar.gz このファイルはどこかに取っておく)

3.HDDを取り外して別マシンでマウント、作った tar を展開
HDL-GXRをシャットダウンしてストレージを取り外し、別のPCに接続(ここでは取り付けたHDDがsdbの前提)。
バックアップを取っておくなら

# mount /dev/sdb2 /mnt
# cd /mnt
# tar zcvf squeeze-rootfs-backup.tar.gz .
# cd /
# umount /mnt

こんな感じ。
しかる後、sdb2 を新しいものに入れ替える。

# mkfs.ext3 /dev/sdb2
# mount /dev/sdb2 /mnt
# tar zxvf HDL-GXR_wheezy-rootfs-landisk-1.00b01.tar.gz -C /mnt
# umount /mnt

4.HDL-GXRに繋いでブート
うまくいけば、めでたくHDL-GXRが Wheezy になっているはずである。


カーネルと作ったrootfsを置いておく。
kernel HDL-GXR_kernel-2.6.28.10-landisk-1.00b01.tar.bz2
rootfs HDL-GXR_wheezy-rootfs-landisk-1.00b01.tar.gz
これをディスクに放り込めば、とりあえず Wheezy が動く。はず。

コメントを残す

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