Arch LinuxをUSBからインストールほか

安い中古PCを何台か買って、LANに繋いで遊んでみた。コモディティマシンで分散で何か。Intel Core2Duo が1800円で買えたので(送料1500円)いつもどおり Arch Linux を入れる。もちろん問題が起きる。メモをする。

USBフラッシュメモリをインストールメディアに使う

いつもはDVDだったのだけど、買ったマシンはDVDドライブが使えない。USBにarchlinux-*.iso を書き込んで、起動時に使う。

BIOSでブートデバイスの順番を変更。中古PCとか始めててドキドキだったけど、BIOSちゃんと動いてよかった。そういえばHDDで起動したとき「This HDD was erased」とかばーんってモニタに出たけど、これどうやって出してるんだろう?消されたこと、何で覚えてるんだろう。

初め Mac OSdd したら失敗、「Isolinux.bin missing or corrupt」とか言われMacをやめて別の動いてる Arch Linuxdd したらすぐに動いた。リンク先のとおり、うまく行くマシンと行かないマシンがある、という同じ結論。

というか手元のLinuxから挿してるUSBが見れない

lsblk は物理ディスクの一覧を出すコマンドだが、USBを挿してもそれらしい物が出てこない。dmesg -w して抜き挿しすると、反応がある。

この [SOLVED] Unable to mount USB, not showing up in lsblk / Newbie Corner / Arch Linux Forums は「もしかして最近 pacman -Syu したままrebootしてないとか?」「あーそれだわ」ってあって、同じ結論だった。再起動したら lsblk にちゃんと出てきた。

isoを書き込む

推奨方法の dd bs=4M if=/path/to/archlinux.iso of=/dev/sdx && sync とほぼ同じに書き込む。やる前に bs オプションについてちょっと調べ、一度に読み書きするバッファの量だそう。試しに bs=256M とかやっても動いた。それで俺が得をしたのかどうかは調べてない。

起動

電源投入、USBが起動デバイスとして認識され、Arch Linux ってちゃんと出てくる。ほっ。

ネットワークインターフェースデバイスが出てこない、LANケーブルでネットできない

俺は Network Interface Card が壊れた中古マシンをつかまされたのか?無保証って書いてあったぞ?これが中古クオリティなのか?部品とかそいうのも買わないとなのか、俺箱の中身まで面倒見るの超面倒だぞ?どうする?

この最後の彼が言う通り rmmod tg3 ; modprobe broadcom ; modprobe tg3 でモジュールをロードし直すと解決した。lspciを見ると tg3 だけっぽいのに・・。

$ lspci
(...)
01:00.0 Ethernet controller: Broadcom Limited NetXtreme BCM57766 Gigabit Ethernet PCIe (rev 01)
        Subsystem: Broadcom Limited NetXtreme BCM57766 Gigabit Ethernet PCIe
        Flags: bus master, fast devsel, latency 0, IRQ 16
        Memory at a0400000 (64-bit, prefetchable) [size=64K]
        Memory at a0410000 (64-bit, prefetchable) [size=64K]
        Capabilities: <access denied>
        Kernel driver in use: tg3
        Kernel modules: tg3
(...)

あとはいつも通り

SWAPパーティションは必要なのかな?といつも思ってたんだが、RAMが1GBより少ない人に推奨、他は自由 とあったので今回は無しにしてみる。bootとrootだけ。

こんどGistに、シェルスクリプトのfdiskとかpacstrapとか全部やってくれる君を書こう。インストールメディアでネットに繋がった時点で落として実行。こうして人はAnsibleを学ぶ機会を逃すんだね。

というわけで

またも全ての問題はarchlinuxドメインに解決策が載っていたのだった。平和は保たれた、めでたし。