WSR-1166DHP2にLEDE 17.01.4をインストールしたメモ

表題の通り、バッファロー WSR-1166DHP2にLEDE 17.01.4をインストールしたので、インストール手順を記録しておきます。

作業に利用したマシンはMacBookです。Windowsを利用されている場合は適宜読み替えてください。

イメージのダウンロード

http://downloads.lede-project.org/releases/17.01.4/targets/ramips/mt7621/ から下記2ファイルをダウンロードします。

有線LANの設定を変更する

macOSの「システム環境設定」「ネットワーク」でUSB-LANアダプタの設定をします。

  • IPv4の設定:「手入力」
  • IPアドレス:「192.168.11.2」
  • サブネットマスク:「255.255.255.0」
  • ルーター:記入せず

TFTPサーバの起動と必要ファイルの配置

OS付属のtftpdを有効化します(過去に一度同じ作業をしている場合、この手順は不要です)。

$ sudo launchctl load -F /System/Library/LaunchDaemons/tftp.plist
$ sudo launchctl start com.apple.tftpd

次に、initramfsイメージをtftpdのトップディレクトリに配置します。ファイル名はuboot側で指定されており、このルータの場合はlinux.trx-recoveryです。

$ sudo cp lede-17.01.4-ramips-mt7621-wsr-1166-squashfs-sysupgrade.bin /private/tftpboot/linux.trx-recovery

踏み台OSをTFTP経由で起動

まずモードスイッチが「Auto」になっていることを確認1した上で、ポート1から4のいずれかのポートにイーサネットケーブルを刺し、USB-LANアダプタと接続します。

つぎにルータのAOSSボタンを押しながら電源投入して、5-6秒くらい押しっぱなしにして離します。

この作業の際は、Wiresharkで飛んでくるパケットを観察しながら行うのが良いでしょう。うまくいくとTFTPのリクエストが来て、しばらくするとOSが起動します。

踏み台OSにログイン

OSが起動してきたら、macOSの「システム環境設定」「ネットワーク」でUSB-LANアダプタの設定をDHCPに戻します。すると192.168.1.0/255のアドレスが配られますので、192.168.1.1にSSHログインします。

$ ssh root@192.168.1.1

この時点ではtftp経由で読み込んだinitramfsだけで動作しており、mtdはオリジナルのままの状態です。

mtdバックアップ

#!/bin/sh
cat /proc/mtd | tail -n+2 | while read; do
    MTD_DEV=$(echo $REPLY | cut -f1 -d:)
    MTD_NAME=$(echo $REPLY | cut -f2 -d\")
    echo "Backing up $MTD_DEV ($MTD_NAME)"
    dd if=/dev/${MTD_DEV}ro > ./${MTD_DEV}_${MTD_NAME}.backup
done

上記スクリプトを動かして全mtdパーティションのバックアップを取ります。どこか安全なところに保存しましょう。

イメージ書き換え

lede-17.01.4-ramips-mt7621-wsr-1166-squashfs-sysupgrade.binをscpで送り込んでsysupgradeで上書きします。

# sysupgrade -n /tmp/lede-17.01.4-ramips-mt7621-wsr-1166-squashfs-sysupgrade.bin

本当はmtd erase firmwareしてからの方が良かったのかもしれませんが、とりあえず動いています。

マシンスペック確認:/proc/cpuinfo

2コア4スレッド。

# cat /proc/cpuinfo
system type             : MediaTek MT7621 ver:1 eco:3
machine                 : Buffalo WSR-1166DHP
processor               : 0
cpu model               : MIPS 1004Kc V2.15
BogoMIPS                : 584.90
wait instruction        : yes
microsecond timers      : yes
tlb_entries             : 32
extra interrupt vector  : yes
hardware watchpoint     : yes, count: 4, address/irw mask: [0x0ffc, 0x0ffc, 0x0ffb, 0x0ffb]
isa                     : mips1 mips2 mips32r1 mips32r2
ASEs implemented        : mips16 dsp mt
shadow register sets    : 1
kscratch registers      : 0
package                 : 0
core                    : 0
VCED exceptions         : not available
VCEI exceptions         : not available
VPE                     : 0

processor               : 1
cpu model               : MIPS 1004Kc V2.15
BogoMIPS                : 584.90
wait instruction        : yes
microsecond timers      : yes
tlb_entries             : 32
extra interrupt vector  : yes
hardware watchpoint     : yes, count: 4, address/irw mask: [0x0ffc, 0x0ffc, 0x0ffb, 0x0ffb]
isa                     : mips1 mips2 mips32r1 mips32r2
ASEs implemented        : mips16 dsp mt
shadow register sets    : 1
kscratch registers      : 0
package                 : 0
core                    : 0
VCED exceptions         : not available
VCEI exceptions         : not available
VPE                     : 1

processor               : 2
cpu model               : MIPS 1004Kc V2.15
BogoMIPS                : 584.90
wait instruction        : yes
microsecond timers      : yes
tlb_entries             : 32
extra interrupt vector  : yes
hardware watchpoint     : yes, count: 4, address/irw mask: [0x0ffc, 0x0ffc, 0x0ffb, 0x0ffb]
isa                     : mips1 mips2 mips32r1 mips32r2
ASEs implemented        : mips16 dsp mt
shadow register sets    : 1
kscratch registers      : 0
package                 : 0
core                    : 1
VCED exceptions         : not available
VCEI exceptions         : not available
VPE                     : 0

processor               : 3
cpu model               : MIPS 1004Kc V2.15
BogoMIPS                : 584.90
wait instruction        : yes
microsecond timers      : yes
tlb_entries             : 32
extra interrupt vector  : yes
hardware watchpoint     : yes, count: 4, address/irw mask: [0x0ffc, 0x0ffc, 0x0ffb, 0x0ffb]
isa                     : mips1 mips2 mips32r1 mips32r2
ASEs implemented        : mips16 dsp mt
shadow register sets    : 1
kscratch registers      : 0
package                 : 0
core                    : 1
VCED exceptions         : not available
VCEI exceptions         : not available
VPE                     : 1

マシンスペック確認:/proc/meminfo

# cat /proc/meminfo
MemTotal:         125020 kB
MemFree:           94440 kB
MemAvailable:      79760 kB
Buffers:            2268 kB
Cached:             8144 kB
SwapCached:            0 kB
Active:             9272 kB
Inactive:           2772 kB
Active(anon):       2648 kB
Inactive(anon):       28 kB
Active(file):       6624 kB
Inactive(file):     2744 kB
Unevictable:           0 kB
Mlocked:               0 kB
HighTotal:             0 kB
HighFree:              0 kB
LowTotal:         125020 kB
LowFree:           94440 kB
SwapTotal:             0 kB
SwapFree:              0 kB
Dirty:                 0 kB
Writeback:             0 kB
AnonPages:          1636 kB
Mapped:             2076 kB
Shmem:              1044 kB
Slab:              10496 kB
SReclaimable:       2488 kB
SUnreclaim:         8008 kB
KernelStack:         544 kB
PageTables:          200 kB
NFS_Unstable:          0 kB
Bounce:                0 kB
WritebackTmp:          0 kB
CommitLimit:       62508 kB
Committed_AS:       5040 kB
VmallocTotal:    1015800 kB
VmallocUsed:           0 kB
VmallocChunk:          0 kB

ストレージ確認

squashfs+jffs2。

# mount
/dev/root on /rom type squashfs (ro,relatime)
proc on /proc type proc (rw,nosuid,nodev,noexec,noatime)
sysfs on /sys type sysfs (rw,nosuid,nodev,noexec,noatime)
tmpfs on /tmp type tmpfs (rw,nosuid,nodev,noatime)
/dev/mtdblock6 on /overlay type jffs2 (rw,noatime)
overlayfs:/overlay on / type overlay (rw,noatime,lowerdir=/,upperdir=/overlay/upper,workdir=/overlay/work)
tmpfs on /dev type tmpfs (rw,nosuid,relatime,size=512k,mode=755)
devpts on /dev/pts type devpts (rw,nosuid,noexec,relatime,mode=600)
debugfs on /sys/kernel/debug type debugfs (rw,noatime)
# df -h
Filesystem                Size      Used Available Use% Mounted on
/dev/root                 2.3M      2.3M         0 100% /rom
tmpfs                    61.0M      1.0M     60.0M   2% /tmp
/dev/mtdblock6           11.9M    772.0K     11.2M   6% /overlay
overlayfs:/overlay       11.9M    772.0K     11.2M   6% /
tmpfs                   512.0K         0    512.0K   0% /dev

  1. 必須の作業かどうかは不明。 

コメントを残す

以下に詳細を記入するか、アイコンをクリックしてログインしてください。

WordPress.com ロゴ

WordPress.com アカウントを使ってコメントしています。 ログアウト /  変更 )

Google フォト

Google アカウントを使ってコメントしています。 ログアウト /  変更 )

Twitter 画像

Twitter アカウントを使ってコメントしています。 ログアウト /  変更 )

Facebook の写真

Facebook アカウントを使ってコメントしています。 ログアウト /  変更 )

%s と連携中