CUBOXの話。続き。
mkimageでinitrdを変換したのでコンソールからインストーラーを起動するあたりを。
前回までで必要なファイルを作成してるので、それらをUSBメモリへコピーしCUBOXのUSB端子の上段(USB0番)へ。
OSの入れ替えになるので、通常のPCだとHDDに相当するmicroSDは当然新調しました。
秋葉原のソフマップでワゴンセールの32GB。値段は忘れたw
USB-シリアル変換用のUSBケーブルも本体へ接続し、ターミナルソフトを立ち上げて、コンソールでの操作ができるようにする。
あとネットワーク・インストールになるのでLANケーブル挿すのも忘れずに。
その上でいよいよ本体の電源を入れるわけですが・・・。
いちおうこのときもう一つのUSB端子にキーボードとマウスもつないどきますか・・・。
あとHDMI端子経由でディスプレイにもつないでおくのも。
あれ?コンソールで操作するんじゃないの?と思われたかもしれませんが・・・。
基本、そうなんです。
teratermとかコンソールソフトで操作でOK。
だけど、自分が試行錯誤してインストール作業やってたときに、HDMI経由のディスプレイ表示-通常のインストール画面出てきたケースもあったんですな。
ほんとはこっちで操作できたほうが、圧倒的に楽。
ただし、いろいろ設定変更してやってみたんですが、きちっとこのHDMIに出力される状況というのが切り分け切れなかった。
なので保険として、つなぐことのできる方はつないでおいてもいいかと。
もちろん
「わしゃそんな中途半端なことはせん!漢は黙ってコンソール一発!」
というかたは大変潔いと思いますし、ケーブルの取り回しも潔くて楽なので、このあたりはお好みで。
ただ、つなぐ場合は当然残り一個のUSB端子なのでUSB-HUBなり、USB接続端子を持ってるキーボードなどが必要となります。
自分は持ってたコレを使いました。
BSH4U08BK
(小型のUSBハブで、個々のポートにON/OFFのスイッチがついているので重宝します)
<USBメモリから必要なファイルをメインメモリへロードする>
で、いよいよ通電でございます。
※繰り返しになるけど、やり方は公式wikiの通りなので、実際に操作する場合は必ずそっちを参照してくださいね。
CUBOXにガスっとACアダプタ差し込むと、teratermの画面に文字が走るはず。
(ここで文字化けする場合はもういちど設定のボーレートがあっているか確認を)
ここで最後の行にある「Hit any key to stop autoboot:」ここの右側の数字が3⇒0へカウントダウンする間になにかキーを押せば、この画面で止まる。
※止めそこなった場合でも「CTRL+C」で止まります。
ここからu-boot上でマニュアル操作により、カーネルとinitrdのイメージをロードさせ、あとはネットワークインストールでOSのインストールが行われる・・・と。
ではいってみましょう。
最初はつないであるUSBメモリを認識させるコマンド。
usb start と入力。
ここで「1 Storage Device(s) found」と出てきていれば、メモリへロードできるUSBメモリを認識している、ということに。
続いてuImageとuImage.initrdをそれぞれ読み込む。
fatload usb 0:1 0x16000000 uImage
fatload usb 0:1 0x18000000 uImage.initrd
ここでのポイントはUSBの番号とUSBメモリのフォーマット。
USBの番号は、ここまで何度か繰り返してきたように「USB0番端子」に接続している、というのが
fatload usb 0:1 0x16000000 uImage
この赤字の部分。
で、「USB 0:」のあとの「1」なんだけど、ここを状況によって「0」か「1」かで打ち分ける必要がある。
正確に切り分けするとこまでやってなくて申し訳ないんだが、これは「USB0番のパーティション1」ということ?
(何度かUSBメモリをとっかえひっかえでやってたときはUSB 0:0でも通るのよね・・・というか公式では「0:0」だし)
ここが違っていると当然イメージをロードせずにエラーメッセージが出る。
(なので各自トライアンドエラーでお願いします)
次に
fatload usb 0:1 0x16000000 uImage
の部分。この赤字のfatはUSBメモリのフォーマット形式によって変わる。
windowsなどでフォーマットしてあるFAT32形式であればこのままでよいが、Linuxなどを使ってext2やext3でフォーマットしてあるとここを
ext2load usb 0:1 0x16000000 uImage
という風にコマンドを変えなければいけない。
(前述のUSB番号の話も案外このフォーマット形式が関係してるとか?)
どちらにせよ、正常に読み込みが完了すれば、上記のようにテキストでローディングバーが表現されるのでわかると思う。
これで、メインメモリ上にネットワークインストールを行うのに必要なカーネルとinitrdのu-boot形式でのローディングが完了した。
次に行うのがu-bootのコンソールへの出力環境の設定。
setenv bootargs console=ttyS0,115200 useNandHal=single
ここは何も起こりません、スコッと行が変わるだけ(笑)。
ちなみにここは単純に操作環境を設定しているだけなので、はしょっても実はあまり問題ない模様。(笑)
というか、このあとの操作でコンソール画面が時々化ける場合はここでいろいろあがける場合も。
で、次がいよいよ起動コマンド。
<メインメモリからロードしたイメージを起動する>
読み込んだイメージの起動は以下。
bootm 0x16000000 0x18000000
(bootm 起動アドレス1 起動アドレス2)
上記のようにstarting kernel とでたら起動の成功。
あとはコンソール画面上でだが、通常のdebianのインストーラが起動する。
慣れた方ならあとは画面を見ればわかるだろうし、Linuxに慣れていない方でも、画面の英語表記をみればおそらく問題ない・・・・・
はずなんだよね・・・・・クックック。
(不穏な空気をかもし出しつつ、以降次回)