GL-AXT1800 はストレージ容量が 128 MB ですが初期起動直後でもパッケージインストール領域は 43 MB しか残っていません(マウントポイント:/overlay の利用可能領域サイズ)。
例えば tailscale 最新板 1.56.1 の tailscale / tailscaled パッケージ合計 58 MB をインストールできません。
GL-AXT1800 も A1300 も古い tailscale 1.32.2-1 dev-t が標準で入っています。
これでよければ管理画面から有効化(起動)すればすぐに使えます。
最新化する場合、いったん有効化しておき、モジュールを最新のものと置き換えます。
これら大きなパッケージをインストールできるようにするには二つの方法があります。
【方法1】ストレージを拡張する方法
正統派のやり方です。
ストレージを sd カードで拡張して、パッケージをインストールするやり方です。
【方法2】upx 圧縮する方法:裏技です
upx 圧縮はモジュールを実行可能なまま圧縮する方法です。
圧縮すれば約半分の 29 MB ほどになります。
Mac で upx 圧縮し、scp コマンドで GL-AXT1800 に送り込むやり方です。
ーーーーー
これら二つの方法は GL-A1300 でも同様にできますが、GL-A1300 のストレージ拡張は USB2.0 メモリでの拡張になります。
ここでは GL-AXT1800 での二つの方法について、具体的なやり方を記載します。
【方法1】ストレージを拡張する方法
sd カードを挿して、ターミナルから GL-AXT1800 に ssh で入ります。
SD カードは 1 GB あれば十分ですが、手持ちの 2 GB のものを使います。
まずは、必要なパッケージをインストールします。
root@GL-AXT1800:~# opkg update
root@GL-AXT1800:~# opkg install block-mount kmod-fs-ext4 fdisk
次の手順でコマンドを実行します。
・sd カードのマウントを解除
・ext4 でフォーマット
・デバイスを /mnt にマウント
下記ではエラーメッセージがでていますが、ちゃんとマウントされています
・/overlay の内容を sd カード である /mnt にコピー
・変更を有効にするため再起動
コマンドの具体的な実行状況です。
root@GL-AXT1800:~# umount /dev/mmcblk0p1
root@GL-AXT1800:~# mkfs.ext4 /dev/mmcblk0p1
mke2fs 1.45.6 (20-Mar-2020)
/dev/mmcblk0p1 contains a ext4 file system
last mounted on /tmp/extroot/overlay on Wed Dec 27 07:49:01 2023
Proceed anyway? (y,N) y
Discarding device blocks: done
Creating filesystem with 480000 4k blocks and 120000 inodes
Filesystem UUID: 38034445-dc40-4eca-a606-955c098a40ab
Superblock backups stored on blocks:
32768, 98304, 163840, 229376, 294912
Allocating group tables: done
Writing inode tables: done
Creating journal (8192 blocks): done
Writing superblocks and filesystem accounting information: done
root@GL-AXT1800:~# mount /dev/mmcblk0p1 /mnt
NTFS signature is missing.
Failed to mount '/dev/mmcblk0p1': Invalid argument
The device '/dev/mmcblk0p1' doesn't seem to have a valid NTFS.
Maybe the wrong device is used? Or the whole disk instead of a
partition (e.g. /dev/sda, not /dev/sda1)? Or the other way around?
root@GL-AXT1800:~#
root@GL-AXT1800:~# cp -a -f /overlay/. /mnt
root@GL-AXT1800:~# reboot
root@GL-AXT1800:~# Connection to 192.168.8.1 closed by remote host.
Connection to 192.168.8.1 closed.
Mac-mini ~ %
ーーーーー GL−A1300 の場合 ーーーーー
USB メモリで領域を拡大しますので以下のパッケージをインストールします。
root@GL-A1300:~# opkg update
root@GL-A1300:~# opkg install block-mount kmod-fs-ext4 kmod-usb-storage e2fsprogs kmod-usb-ohci fdisk
また、sd カードと違い、デバイスが /dev/mmcblk0p1 ではなく /dev/sda1 で認識されますので、GL-AXT1800 でのデバイスを読み替えれば結構です。
ーーーーー GL-A1300 ここまで ーーーーー
再起動されたら LuCi の管理画面から【システム】→【マウントポイント】として、マウントされている /dev/mmcblk0p1 の【編集】をクリックします。
マウントされていなければ【追加】ボタンで割り当て操作をします。
【一般設定】は次のようにします。
【詳細設定】は次のようにします。
【保存】して戻り【保存&適用】をクリックして反映させます。
【システム】→【再起動】で再起動します。
再起動後の【マウントポイント】は次のようになって /overlay が拡張されているのが確認できます。
tailscale の最新版インストールと起動は、次のコマンドを実行します。
root@GL-AXT1800:~# opkg flag hold tailscale tailscaled
Setting flags for package tailscale to hold.
Setting flags for package tailscaled to hold.
root@GL-AXT1800:~# wget https://pkgs.tailscale.com/stable/tailscale_1.56.1_arm.tgz
--2023-12-27 08:08:42-- https://pkgs.tailscale.com/stable/tailscale_1.56.1_arm.tgz
Resolving pkgs.tailscale.com... 199.38.181.239, 2607:f740:f::d19
Connecting to pkgs.tailscale.com|199.38.181.239|:443... connected.
HTTP request sent, awaiting response... 302 Found
Location: https://dl.tailscale.com/stable/tailscale_1.56.1_arm.tgz [following]
--2023-12-27 08:08:43-- https://dl.tailscale.com/stable/tailscale_1.56.1_arm.tgz
Resolving dl.tailscale.com... 109.105.218.17, 2a09:8280:1::a:1a71
Connecting to dl.tailscale.com|109.105.218.17|:443... connected.
HTTP request sent, awaiting response... 200 OK
Length: 28696243 (27M) [application/x-compressed-tar]
Saving to: 'tailscale_1.56.1_arm.tgz'
tailscale_1.56.1_arm.tg 100%[=============================>] 27.37M 47.0MB/s in 0.6s
2023-12-27 08:08:43 (47.0 MB/s) - 'tailscale_1.56.1_arm.tgz' saved [28696243/28696243]
root@GL-AXT1800:~# tar zxf tailscale_1.56.1_arm.tgz
root@GL-AXT1800:~# mv tailscale_1.56.1_arm/tailscale* /usr/sbin
root@GL-AXT1800:~# /etc/init.d/tailscale restart
【方法1】upx 圧縮する方法
まず Mac のターミナルで brew install upx として、upx をインストールしておきます。
https://pkgs.tailscale.com/stable/ から現時点の最新板 tailscale_1.56.1_arm.tgz をダウンロードし、解凍します。
ターミナルで、解凍したフォルダに移動し、upx コマンドでモジュールを圧縮します。
圧縮時の --best オプションは最適圧縮指定です。
Mac-mini tailscale_1.56.1_arm % upx --best tailscale*
Ultimate Packer for eXecutables
Copyright (C) 1996 - 2023
UPX 4.1.0 Markus Oberhumer, Laszlo Molnar & John Reiser Aug 8th 2023
File size Ratio Format Name
-------------------- ------ ----------- -----------
15875666 -> 8891944 56.01% linux/arm tailscale
41638019 -> 20020416 48.08% linux/arm tailscaled
-------------------- ------ ----------- -----------
57513685 -> 28912360 50.27% [ 2 files ]
Packed 2 files.
Mac-mini tailscale_1.56.1_arm %
tailscale / tailscaled の二つ合計で 57.5 MB のものが約半分の 28.9 MB に圧縮されています。
次に GL-AXT1800 の LuCi →【システム】→【Software】で openssh-sftp-server をインストールします。
これは、scp で送り込まれるファイルを受け取るサーバーパッケージです。
Mac から scp コマンドで圧縮したモジュールを送り込みます。
Mac-mini tailscale_1.56.1_arm % scp tailscale* root@192.168.8.1:/usr/sbin
root@192.168.8.1's password: <パスワード入力>
tailscale 100% 8891KB 1.7MB/s 00:05
tailscaled 100% 20MB 1.6MB/s 00:12
Mac-mini tailscale_1.56.1_arm %
GL-AXT1800 に ssh で入り、tailscale を再起動します。
root@GL-AXT1800:~# /etc/init.d/tailscale restart
tailscale を起動した GL-AXT1800 を、既存のルーターにぶら下げて使う場合は管理画面で【アプリケーション】→【tailscale】→【リモートアクセスWANを許可する 】をオンにします。
そして、ssh で入ったターミナル画面で tailscale up --advertise-routes=<192.168.xxx.0/24> --accept-routes --advertise-exit-node とし、Exit Node と Subnets を広告します。
※ 192.168.xxx.0/24 は既存ルーターの LAN 側セグメントです。
実際に Exit Node と Subnets を有効にするには、tailscale の管理画面で AXT1800 の Edit route setting... でチェックを入れます。
以上が、ストレージ容量が十分な空き領域を持たない場合の、空き領域以上の大きさのパッケージをインストールする方法です。
GL-MT2500 / MT2500A の場合はストレージが 8 GB ありますから、このようなやり方は不要ですが、これらの機種には無線 LAN が搭載されていません。
0 件のコメント:
コメントを投稿