NSB-3NR1T1MLVにGentooを入れる
rootで入っていろいろとかやってたんですがいろいろクソで腹立ってきたのでGentooを入れます
準備する物
手順1: HDDを抜く
真面目にNASとして使う気は全くないので最初から入ってるWD赤はだいぶもったいないです。というわけでその辺に転がってるHDDに交換します。私はその辺にあった500GBの2.5inchHDDに入れ替えました。
分解についてですがケースの隙間に薄くて強いカードのような物を差し込んで分解していくと簡単です。SIMカードの殻が強くて薄く、マイナスドライバーとかでこじるより傷つけづらいのでオススメです。
ケース背面角からカードを差し込んでちょっとづつバラしていきます。分解記事の写真を参考に爪を狙って浮かせていくと意外とあっけなくケースが開きます。
https://qiita.com/Diatryma/items/ba407794032dd624130eqiita.com
手順2: HDDにGentooを展開する
実は別にHDD抜く必要はないんですが実際にGentooをインストールするディスクを別の適当なLinuxマシンに接続します。
fdiskあたりで適当にパーティションを整えてmkfs.ext4でもしておきます。
ext4でフォーマットできたら適当なディレクトリにマウントしてcdし、Gentooのstage3を落としてきてtar xjf stage3~とでもして展開します。
今回はstage3-armv7a_hardfp-20161129.tar.bz2を使います。適当にJAISTあたりのミラーあたりから落として使うディスクに展開しておきます。
今のうちに展開したstage3内の/etc/fstabを書き換えておきます。
#/dev/BOOT /boot ext2 noauto,noatime 1 2 /dev/sda1 / ext4 noatime 0 1 #/dev/SWAP none swap sw 0 0 #/dev/cdrom /mnt/cdrom auto noauto,ro 0 0 #/dev/fd0 /mnt/floppy auto noauto 0 0
こんな感じになっていればおそらくOKです。
展開が済んだらディスクはアンマウントしてNASに繋ぎ、電源が入りそうな程度にNASを組み戻しておきましょう。
手順3: U-bootいじる
本体背面ConsoleポートにCiscoのきしめんを接続し、USBシリアル変換で適当なPCに繋いでTeraTermあたりでシリアルポートを開きます。baudrateは115200bps
シリアルコンソールを覗きながら本体の電源スイッチを押すと以下のような表示が出るので即座に適当なキーを押してブートを止めます。
U-Boot 2009.11 (Nov 25 2015 - 09:00:48) GoldenGate SoC ASIC DRAM: 1 GB NAND: 512 MiB In: serial Out: serial Err: serial Net: Connect GMAC1 to CPU Goldengate Hit any key to stop autoboot: 5
キーを押すとU-bootのコンソール画面に入れます。この状態でとりあえず以下の文字列をコピペで投入します。ような感じでubootの設定を書き換えます(よく読んだらMACアドレスもコピペしてたのでいい感じに書き換えてください)。
setenv bootargs root=/dev/sda1 init=/sbin/init console=ttyS0,115200 SB_PHY=PPSS ni_napi_budget=16 qm_acp_enable=0 ni_rx_noncache=0 qm_int_buff=0 ethaddr0=BC:5C:4C:27:A5:9B ethaddr1=BC:5C:4C:27:A5:9C ethaddr2=00:50:c2:77:88:99 wifiaddr0=00:01:73:01:FF:10 wifiaddr1=00:01:73:01:FF:20 mtdparts=cs752x_nand_flash:1024K@0x00100000(uboot-env0),1024K@0x00300000(uboot-env1),1024K@0x00400000(sb0),1024K@0x00500000(sb1),153600K@0x01200000(rootfs),174080K@0x0A800000(rootfs_data),6144K@0x00C00000(kernel2),153600K@0x152000 saveenv set bootargs root=/dev/sda1 init=/bin/sh console=ttyS0,115200 SB_PHY=PPSS ni_napi_budget=16 qm_acp_enable=0 ni_rx_noncache=0 qm_int_buff=0 ethaddr0=BC:5C:4C:27:A5:9B ethaddr1=BC:5C:4C:27:A5:9C ethaddr2=00:50:c2:77:88:99 wifiaddr0=00:01:73:01:FF:10 wifiaddr1=00:01:73:01:FF:20 mtdparts=cs752x_nand_flash:1024K@0x00100000(uboot-env0),1024K@0x00300000(uboot-env1),1024K@0x00400000(sb0),1024K@0x00500000(sb1),153600K@0x01200000(rootfs),174080K@0x0A800000(rootfs_data),6144K@0x00C00000(kernel2),153600K@0x152000 run bootcmd
おそらく唐突にカーネルのロードが始まってしばらくするとshが起動してくるはずです。これで無事GentooがNAS上で動き出しました!
手順4: Gentooの設定
当然Gentooが動いてるというのは嘘でまだカーネルと/bin/shが動いてるだけです。この状態で最低限以下の設定をしておきます。
- passwd root
- nano /etc/inittabとでもして
s0:12345:respawn:/sbin/agetty -L 9600 ttyS0 vt100
をs0:12345:respawn:/sbin/agetty -L 115200 ttyS0 vt100
に書き換える(9600→115200)
よく覚えてないですがだいたいこんなもんでしょう。気が済んだら再起動します。rebootとかは効かないので電源ケーブルを引っこ抜いて再度電源を投入します。
手順5: 起動したら勝ち
電源を入れてみて、ブート中のログに OpenRC 0.21.7 is starting up Gentoo Linux (armv7l)
みたいな色つきの文字が見えたらだいたい勝ちです。たぶんログインプロンプトが出てくるので普通のGentooマシンとして使いましょう。
おわり
元々入ってたLinux上でいろいろやったんですけどイライラ度合いが半端じゃないのでおとなしくまともなLinuxを入れましょう