カテゴリ
リンク

当サイトは、玄箱PRO (KURO-BOX/Pro)を中心とした組み込み、Linuxと電子工作を扱っています。
会社案内

情報セキュリティおよび個人情報の取り扱いについて


コメントとトラックバックは、spamを予防するために、編集担当が公開の作業をするまで非公開になっています。コメントはそれぞれ投稿した人のものです。

■etch から lenny に移行したい
 前回は Lenny を新規インストールする方法を紹介しましたが、筆者を含め Etch から Lenny へ移行したいと思う方も多いのではないでしょうか。今回は移行の方法を紹介します。

■移行の前に考えること
 Etch では ARM アーキテクチャは一つだけで OABI でした。Lenny からは OABI (arm) と EABI (armel) の二つがサポートされています。Debian で今後は EABI しかサポートしなくなる、パフォーマンスの面で EABI が有利と EABI に移行するのがよさそうです。
 ところが、この二つは似ているようで、互換性が微妙にとりずらいという関係にあります*1。OABI のまま etch から lenny にするのはアップグレードなので問題は少ないのですが、EABIに移行するのはアップグレードというより、アーキテクチャの変更になります。そのため、上書きインストールして、バイナリやダイナミック・ライブラリを混在させるとインストール後に原因のわかりにくいトラブルが起きる可能性があります*2

 そこでDebian化したときにディスクを分割しているので、次のようにしてインストールすることにしました:

/dev/sda1 --> /boot  (そのまま上書き)
/dev/sda2 --> /      (消去してしまう)
/dev/sda3 --> swap   (そのまま利用)
/dev/sda4 --> /home  (そのまま利用)

 こうすると、/home にあるファイル以外は EABI に移行することができます。/boot はカーネルのみなので問題はおきません。その代わり Debian パッケージは再インストールが必要ですし、パッケージを利用せずにインストールしたコマンド類は再コンパイルが必要です。


*1 Debian Wiki ArmEabiPort に詳しい
http://wiki.debian.org/ArmEabiPort?highlight=((ArmEabiHowto))

*2 以降方法も書かれているがバイナリは全部退避して新規インストールに近い
http://wiki.debian.org/ArmEabiHowto

■インストール前のバックアップ
 まず、消去する / パーティションのバックアップをします。/home/etch 以下にコピーを作ることにして以下を実行しました。

cd /
mkdir /home/etch tar --one-file-system -cf - . | (cd /home/etch/; tar xpf -)


Debian パッケージのリストも作っておきます。

cd /home/etch
dpkg --get-selections > dpkg.lst


 この状態で HDD 全体を別の HDD にバックアップしておくといいでしょう。

■インストールの開始
 フラッシュ起動までは前回に紹介した方法と同じです。玄箱PROにコピーするファイルは、debian-debian-lenny-keep-disk.tar.gz を使ってください。前回のものと同じですが、ディスクを初期化するスクリプトを消しています。コピーしたら、/dev/sdaX をすべてアンマウントしてから、SetupDevEnv.sh を実行してください(前回紹介したファイルを展開して InitDisk1.sh を間違って実行しないこと)。指示が出たら reboot します。
/mnt/mtd # ./SetupDevEnv.sh
kjournald starting.  Commit interval 5 seconds
EXT3 FS on sda1, internal journal
EXT3-fs: mounted filesystem with ordered data mode.
Saving U-Boot environment to ubootenv.bak... done.
Changing U-Boot environment...
>nvram_set:bootcmd = ide reset; ext2load ide 0:1 $(default_kernel_addr) /$(kernel); ext2load ide 0:1 $(default_initrd_addr) /$(initrd); setenv bootargs $(bootargs_base); bootm $(default_kernel_addr) $(default_initrd_addr)
done.
Please reboot your Kurobox Pro.
/mnt/mtd # reboot

■パーティションを手動で設定する
 インストーラの起動のため SSH でログインします。以前のパーティションを残すため、Partitioning method で Manual を選び作業をします。以下の画面を参考にしてください。

lenny-update-01.jpg
図22 パーティション方法は Manual を選ぶ

lenny-update-02.jpg
 図23 パーティション・リストが表示されるので、マウント・ポイントなどを指定する。パーティションを選んだら Enter を押す


lenny-update-03.jpg図24 Use as で Enter を押す


lenny-update-04.jpg図25 以前と同じフォーマットの ext3 を選んで Enter を押す


lenny-update-05.jpg図26 Mount point を変えるため、Enterを押す


lenny-update-06.jpg図27 #1 (/dev/sda1) は /boot にするため、/boot で Enter を押す


lenny-update-07.jpg図28 Bootable flag でEnter を押し、設定を確認したら、Go Back で Enter を押す


lenny-update-08.jpg図29 #2 (/dev/sda2) は Ext3, /, でフォーマットする(yes, format it), Bootable flag: off にする


lenny-update-09.jpg図30 #4 (/dev/sda4) は Ext3, /home, フォーマットしない(no, keep exisiting data), Bootable flag: off にする


lenny-update-10.jpg図31 設定を確認したら Finish partitioning and write changes と disk を選ぶ


lenny-update-11.jpg図32 もう一度、フォーマットするパーティションについて確認画面が出るので、確認して Yes で Enter を押す

 残りのインストールは、前回に紹介したものと同様です。最後にリブートします。

■Debian パッケージの再インストール
 リブートしたら、まず、ホスト名を戻します。そのために /etc/hostname を書き換えます。書き換えた後で、

hostname `cat /etc/hostname`


をするといいでしょう。つぎに、以前インストールしていた Debian パッケージをリストに基づいて再インストールします。root で以下を実行します:

cd /home/etch
dpkg --set-selections < dpkg.lst
apt-get dselect-upgrade


 インストールしたときには、ダイアログが出るパッケージもあるので答えていきます。インストール後は設定ファイルなどを戻していきます。locale の設定は別途作業する必要があるようです。
  参考:http://www.eleki-jack.com/Kurobox-pro2/2007/07/locale.html

 samba のユーザも再度作ります。
  参考:http://www.eleki-jack.com/Kurobox-pro2/2007/06/debian-1-samba.html
 smbpasswd ではなく pbedit を使うように変わっています:
pdbedit -a -u kurobox

としました。また/etc/samba/smb.conf のwritable は read only と変わっていました。
read only = no
としておきます。ほかにALSA周りでの不具合もあるようです。

■バックアップしたHDDからの起動
 バックアップした HDD (以前に Debian 化した HDD) から起動するには、uBoot の環境変数を戻す必要があります。etch Debian の HDD から起動するには uBoot で以下のコマンドを入れて起動します:

setenv bootcmd 'ide reset; ext2load ide 0:1 $(default_kernel_addr) /$(kernel); bootm $(default_kernel_addr)'
boot

光永 法明

 カテゴリ 

 

トラックバック(0)

このブログ記事を参照しているブログ一覧: Debian Etch (arm) から Lenny (armel) へ移行する

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

コメントする

おすすめ書籍
Powered by
Movable Type 4.1