注記 | |
---|---|
グラフィカルインストーラーで起動する方法は、「グラフィカルインストーラー」 をご覧ください。 |
arm64 debian-installer
イメージではグラフィカルインストーラーは (実験的に) 有効化されていますが、デバイスによっては引き続きシリアルコンソールを利用する必要があるかもしれません。コンソールデバイスはファームウェアによって自動的検出されるはずですが、検出されなかった場合は GRUB メニューから linux をブートした後「Booting Linux」メッセージを見ることになります。そうなるともう何も起こりません。
この問題が起きた場合はカーネルコマンドラインで特定のコンソール設定を行う必要があります。GRUB メニューで e
を押して 「Edit Kernel command-line」 に進み、
--- quiet
を
console=<デバイス>,<速度>
、例えば
console=ttyAMA0,115200n8
のように変更します。変更できたら Control+x を押して新しい設定でブートを続けます。
Juno には UEFI があるためインストールは明快です。最も実践的なのはUSBメモリからインストールする方法です。USBでのブートを機能させるためには最新のファームウェアが必要です。2015年3月以降にビルドされた http://releases.linaro.org/members/arm/platforms/latest/ でテストが成功しています。ファームウェアの更新については Juno の文書を参照してください。
USB メモリに書き込んだ標準の arm64 CD/DVD イメージを用意します。背面の USB ポートに差し込みます。シリアルケーブルを背面の上部にある 9 ピンのシリアルポートに差し込みます。ネットワーク接続が必要 (netboot イメージ) であればイーサネットケーブルをマシン全面のソケットに差し込んでください。
シリアルコンソールを 115200、8ビットパリティなしで実行し、Juno をブートします。USBメモリからブートして GRUB メニューが表示されるはずです。コンソール設定は Juno で正しく検出されないため、ただ Enter を押してもカーネル出力には何も表示されません。(「コンソール設定」 で説明しているように) コンソールを
console=ttyAMA0,115200n8
と設定します。Control+x でブートすると debian-installer
の画面が表示され、標準のインストールを続けられるはずです。
このマシンでは UEFI が利用できますが、通常は U-Boot を使うようになっているため、UEFI ファームウェアをまずインストールしてから標準のブート/インストールを行う方法か、U-Boot を使ってブートする方法のどちらかが必要です。arm64 アーキテクチャではグラフィカルインストーラーは有効化されていないため、インストール処理の制御にはシリアルコンソールを使う必要があります。
推奨するインストール方法はマシンに同梱されている openembedded システムを使って debian-installer
カーネルと initrd をハードドライブにコピーし、それをインストーラーからブートします。TFTP を使ってカーネル/dtb/initrd をコピーし、ブートする方法 (「U-Boot での TFTP のブート」) もあります。インストールしたイメージからブートするためには、インストール後に手作業での調整が必要です。
シリアルコンソールを 115200、8ビットパリティなしで実行し、マシンをブートします。マシンを再起動して「Hit any key to stop autoboot:」が表示されたら何かキーを押して Mustang# プロンプトに入ります。それから U-Boot のコマンドを使ってカーネル、dtb、initrd を読み込み、ブートします。
ネットワークからの起動には、ネットワーク接続と TFTP ネットワークブートサーバが (自動化でのネットワーク設定には恐らく DHCP, RARP, BOOTP も) 必要です。
ネットワーク起動をサポートするためのサーバ側の準備については、「TFTP ネットブート用ファイルの準備」 で説明します。
U-Boot ファームウェアを採用したシステムでのネットワークブートは3つの段階から構成されます: a) ネットワークの設定、b) イメージ (カーネル/初期RAMディスク/dtb) のメモリへの読み込み、c) 前段階で読み込んだコードを実際に実行。
最初にネットワークを設定する必要があります。DHCP により自動的に設定する場合:
setenv autoload no dhcp
あるいは手作業により複数の環境変数を設定する場合:
setenv ipaddr <クライアントのIPアドレス> setenv netmask <netmask> setenv serverip <tftp サーバのIPアドレス> setenv dnsip <名前サーバのIPアドレス> setenv gatewayip <デフォルトゲートウェイのIPアドレス>
希望により、恒久的な設定にすることもできます:
saveenv
その後はイメージ (カーネル/初期RAMディスク/dtb) をメモリに読み込む必要があります。これは tftpboot コマンドで行いますが、イメージが記憶されているメモリのアドレスを指定する必要があります。残念ながらメモリの割り当てはシステムにより異なる可能性があるため、どのアドレスを利用できるというような原則はありません。
システムによっては読み込みに適するアドレスをセットした環境変数群を U-Boot が事前に定義しているものがあります: kernel_addr_r、ramdisk_addr_r、fdt_addr_r。定義されているかどうかは、
printenv kernel_addr_r ramdisk_addr_r fdt_addr_r
を実行することで確認できます。定義されていない場合はシステムの文書で適切な値を確認して手作業によりセットする必要があります。Allwinner SunXi SOC ベースのシステム (例えば Allwinner A10、アーキテクチャ名「sun4i」や Allwinner A20、アーキテクチャ名「sun7i」) では、例えば以下の値を利用できます:
setenv kernel_addr_r 0x46000000 setenv fdt_addr_r 0x47000000 setenv ramdisk_addr_r 0x48000000
読み込むアドレスが定義されていれば
tftpboot ${kernel_addr_r} <カーネルイメージのファイル名> tftpboot ${fdt_addr_r} <dtbのファイル名> tftpboot ${ramdisk_addr_r} <初期RAMディスクイメージのファイル名>
を実行することにより、前に定義した tftp サーバからイメージをメモリに読み込めます。3つ目の部分はカーネルコマンドラインの設定で、読み込んだコードを実際に実行します。U-Boot は 「bootargs」 環境変数の内容をカーネルにコマンドラインとして渡すので、カーネルやインストーラーへの任意のパラメータ - 例えばコンソールデバイス (「シリアルコンソールを起動」 参照) や preseed のオプション (「Debian Installer パラメータ」 及び 付録B preseed を利用したインストールの自動化 参照) - を
setenv bootargs console=ttyS0,115200 rootwait panic=10
のようなコマンドでセットできます。前に読み込んだコードを実行する実際のコマンドは利用するイメージのフォーマットに依存します。uImage/uInitrd の場合、コマンドは
bootm ${kernel_addr_r} ${ramdisk_addr_r} ${fdt_addr_r}
となり、ネイティブの Linux イメージの場合は
bootz ${kernel_addr_r} ${ramdisk_addr_r}:${filesize} ${fdt_addr_r}
となります。注意: 標準的な linux イメージをブートする場合、カーネルとdtbを読み込んでから初期RAMディスクイメージを読み込むことが重要となります。U-Boot が最後に読み込んだファイルのサイズを filesize 変数にセットするのと bootz コマンドが正常に動作するためにはRAMディスクイメージのサイズが必要となるためです。プラットフォーム特有のカーネル、つまりデバイスツリー無しでカーネルをブートする場合には ${fdt_addr_r} パラメータは省略できます。
USB からブートできるコンピュータの場合はおそらくこれが最も簡単なインストール方法です。 さて、「ブートデバイスの選択」 と 「USB メモリでの起動用ファイルの準備」 の内容すべてを準備しました。それでは USB コネクタに USB メモリを差し込んで、コンピュータを再起動してください。システムが起動し、USB メモリを作成するのに柔軟な方法で有効にしていない、などという事がなければ、グラフィカルなブートメニューが (それをサポートしているハードウェアでは) 表示されるはずです。ここで様々なインストールオプションを選択するか、単に Enter を押してください。
グラフィカル版インストーラーは 64-bit ARM を含めた、限られたアーキテクチャでのみ利用できるようになっています。グラフィカルインストーラーとテキストベースのインストーラーは基本的に同一のプログラムを異なるフロントエンドと組み合わせているため、機能は本質的に同一です。
機能は同等ではありますが、グラフィカルインストーラーには大きな利点がいくつかあります。最大の利点はサポートしている言語が多いことで、つまりテキストベースの「newt」フロントエンドで表示できない文字セットを使える点です。使い勝手についてもマウスを使えるという選択肢や場合によっては複数の質問を1画面に表示できる等、いくつか利点があります。
テキストベースのインストーラーと全く同じように、グラフィカルインストーラーの起動時にも起動パラメータを追加できます。
注記 | |
---|---|
グラフィカルインストーラーはテキストベースのインストーラーと比べ、実行に著しく多くのメモリを必要とします (640MB)。十分なメモリを利用できない場合には、テキストベースの 「newt」 フロントエンドに自動的にフォールバックします。 システムのメモリ量が 260MB に満たなければ、テキストベースのインストーラーをブートした場合には機能したとしても、グラフィカルインストーラーでは全くブートできないかもしれません。利用可能メモリの少ないシステムではテキストベースのインストーラーの利用を勧めます。 |