2011年5月1日日曜日

SheevaPlug+にDebian GNU/Linux 6.0(squeeze)をインストールする

SheevaPlug+ことeSATA SheevaPlugに入っているUbuntu 9.04ってもう2010年10月にサポート終わってるじゃん!!
ということでDebian GNU/Linux 6.0(squeeze)をインストールした際のメモです。

必要なものを準備します。
  • USBシリアルを見ることのできる端末(Windowsならばシリアルドライバをインストールした上でTeraTermなどを用意)
  • FAT32でフォーマットしたUSBメモリスティック(512MBで十分足ります)
  • SheevaPlug+に挿して使うDebianインストール先のメディアSDカード(4GBのものを使用しました)
参考にしたのは以下定番サイトです。

Debian installer for SheevaPlug


とりあえず備忘録と日本語の情報が少ないので上のサイトの記述を試した記録です。

DebianのサイトからSheevaPlug用のインストーラ(uImageとuInitrdというファイル)をダウンロードしてきます。

ダウンロードしたファイルをUSBメモリスティックにコピーします。

SheevaPlug+と端末をUSBシリアルケーブルで接続した上で、インストーラの含まれているUSBメモリスティックと空のSDカードをSheevaPlugに挿します。

SheevaPlug+の電源を入れます。すぐにTeraTermで接続します。

内蔵NANDから起動する前にENTERキーを連打なりしてU-BootのMervell>>プロンプトが表示されるようにします。

最近のカーネル向けのハードウェアID設定などを行い再起動します。これをしないと起動できなくなります。

Marvell>> setenv mainlineLinux yes
Marvell>> setenv arcNumber 2678
Marvell>> saveenv
Marvell>> reset

再起動したらまたENTERキーを連打してMarvell>>プロンプトを表示させます。

以下のコマンドを入力してUSBメモリスティック上のインストーラをSheevaPlug+のメモリ上へ展開します。

Marvell>> usb start
(各種表示略)
Marvell>> fatload usb 0:1 0x00800000 /uImage
(各種表示略)
Marvell>> fatload usb 0:1 0x01100000 /uInitrd
(各種表示略)

読み込みが完了したら以下のコマンドでインストーラを起動します。

Marvell>> setenv bootargs console=ttyS0,115200n8 base-installer/initramfs-tools/driver-policy=most
Marvell>> bootm 0x00800000 0x01100000

bootmコマンドを入力後、インストーラが起動します。ほぼパソコンのものと同じでちょっと感動。


なんか言語を聞いてくるのでCにしてみました。英語と何が違うかは不明。
地域を聞いてくるのでAsiaにします。
国を聞いてくるのでJapanを選びます。
これからセットアップするSheevaPlug+のホスト名を聞いてくるので適当に入力します。とりあえず柴犬用語でurajiro(裏白)と入力。
ドメイン名を聞いてきます。そんな高級なものはないので無視します。
debパッケージのダウンロード先の質問をされるのでJapanを選びます。
ダウンロード先サーバの選択画面が出てくるので好きなものを選びます。
HTTP接続にProxyサーバの設定が必要な環境の場合は入力します。不要なら空欄。
rootユーザ(管理者)のパスワード入力画面が表示されるので設定します。忘れるとセットアップしたOSにログインできなくなるのでちゃんとやること。
パスワードの確認としてもう一度rootユーザのパスワードを入力します。前に入力したものと同じでないとエラーになります。
次に普段使う通常ユーザの作成画面が表示されるので名前(フルネーム)を入力します。
次にログインに使用するユーザ名(アカウント名)を入力します。
作成する通常ユーザのパスワードを入力します。
rootユーザ同様にパスワードをもう一度聞いてくるので入力します。
インストール先の選択画面が表示されるのでSDカードのFREE SPACEを選びます。
SDカードがすでにFAT32でフォーマットされていたりする場合はMMC/SD card #1を選択してENTERすると既存のパーティションを消すことができるのでその後でFREE SPACEを選びます。
Linuxで使用するパーティションがないので作成するかどうか聞いてきます。勝手に割り付けてくれるAutomatically partition the free spaceを選びます。
パーティションを/のみの一つにするか/homeとかを分けるかを聞いてきます。
一つにすることを推奨しているようなのでAll files in one partition(recommended for new users)を選びます。
こんな感じで自動で分割してくれました。これでいいならFinish partitioning and write changes to diskを選択します。
パーティション分割の最終確認が表示されるのでYesを選択します。
ここを選択するまでは実際にパーティションの削除・作成はされないはず。
基本システムのインストールが開始されます。じっくり待ちます。
途中でパッケージ(ソフトウェア)の利用状況を匿名で収集するプロジェクトに参加するかどうかの確認が表示されます。参加・不参加どちらでもよし。
かなりじっくり待つとどんな用途で使用するか質問が表示されます。
ここで選択するとそのジャンルのソフトをごっそりインストールしてくれます。
最小限のシステムだけインストールして後から必要に応じて追加していくつもりなのでStandard system utilitiesのみインストール。
延々と待ちます・・。
インストールが終わったようです。
Continueを押すと再起動するのでまたENTERを連打してMervell>>プロンプトを表示します。

内蔵のNANDはもう使用しないつもりなのでゴッソリと起動オプションを書き換えます。
(まぁ、NAND使うときがきたら前のU-Boot設定に戻せばいいか。)

Marvell>> setenv bootargs_console console=ttyS0,115200
Marvell>> setenv bootcmd_mmc 'mmcinit; ext2load mmc 0:1 0x00800000 /uImage; ext2load mmc 0:1 0x01100000 /uInitrd'
Marvell>> setenv bootcmd 'setenv bootargs $(bootargs_console); run bootcmd_mmc; bootm 0x00800000 0x01100000'
Marvell>> saveenv

再起動します。

Marvell>> reset

これでSDカードからDebianが起動すれば成功です。
無事Debianのプロンプトが表示されました。

後はSDカードをWindowsマシンでディスクイメージにしてバックアップします。
そして基本設定