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 件のコメント:
コメントを投稿