Buffaloの古いNASの有効活用方法　〜TeraStationをOpenMediaVaultに〜

## はじめに

[TeraStation（TS-XH8.0L/R6）](https://www.buffalo.jp/product/detail/ts-xh8.0tl_r6.html)に**OpenMediaVaultを入れてNASにした**のでそのやり方を公開します。

TeraStation Xシリーズは2010年発売の古い機器で、ファームウェアの更新があまりありません。
またSMBv1を使っているのも問題であり、iPhoneの「ファイル」アプリからサーバ接続ができなかったり、WindowsからのアクセスもSMBv1/CIFSを有効化する必要があります。

（参考）iPhoneから接続失敗する画像

<img width="400" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/395943/5e138bbd-77c8-4b20-8312-8cea0d97ebc4.png">


ソフトウェア周りの問題を解決するために、Debian化をしてOpenMediaVaultを入れたので、その手順をここで紹介します。色々詰まるポイントがあったのでメモがわりに作成しました。

本手順で必要なもの

・TeraStation本体
・HDDを全台同時に繋げるUbuntu機（これは最悪なくても別手段あり）

手順概要

手順１　Buffalo公式ファームウェアの正常起動を確認
手順２　HDDをUbuntuからマウント
手順３　Debian化のためのファイルの置き換え
手順４　Debianのインストール
手順５　OpenMediaVaultのインストール
手順６　OpenMediaVaultの設定（SMB接続まで）


## 手順１　Buffalo公式ファームウェアの正常起動を確認

これはタイトルのそのままです。2025年5月現在、TS-Xシリーズの[最新のファームウェア](https://www.buffalo.jp/product/detail/software/ts-xh8.0tl_r6.html)はVer 1.76になります。
もしHDDが抜かれているジャンク品を購入した場合など、正常に起動していないTeraStationの場合は[こちらの記事](https://qiita.com/minnsou/items/2f3bd921d4839cfaa8f3)を参照して、Buffaloの公式ファームウェアが起動する状態にしてください。

![スクリーンショット 2025-05-19 20.05.11.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/395943/6d998bb0-beb7-4d53-8cb4-2e015278e610.png)

## 手順２　HDDをUbuntuからマウント

TeraStationの電源を落とし、HDDを引っこ抜いてUbuntuに繋ぎます。

今回はUbuntu Server 24.04.2 LTSを使用しました。
HDDを繋いだ状態で起動すると4つのRAIDアレイが構成されていることがわかります。（`md124`から`md127`のRAIDデバイス番号は変わる可能性があります）

![スクリーンショット 2025-05-19 20.18.00.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/395943/4dd7047c-f4a4-413f-a0fc-f30f67d858b2.png)

:::note info
Ubuntu Serverはデフォルトで`mdadm`コマンドが使えるかと思いますが、もしRAIDアレイが見えない人は
`sudo apt install mdadm`
などを試してください。
:::


それぞれマウントして中身を確認してみます。

![スクリーンショット 2025-05-19 22.55.24.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/395943/a66ddbb9-b0ac-41c3-8fb1-2e956f103e19.png)

![スクリーンショット 2025-05-19 22.56.33.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/395943/8be8a17e-2a33-4de3-90fa-cd84e3e858c6.png)

ファイルの中身から以下のことがわかります。

| RAIDデバイス   | 用途        | 
|:------------:|:-----------:|
| `md124`      | データ領域（初期化した際にデフォで作られる「share」ディレクトリが見える）  |
| `md125`      | swap領域（マウントできなかったので何も見えない）  |
| `md126`      | OS領域（Buffalo公式ファームウェアの`/`）  |
| `md127`      | boot領域（Buffalo公式ファームウェアの`/boot`）  |

もしTeraStationに保存してあるファイルを保管したい場合はデータ領域（`md124`）からデータをサルベージしておいてください。

## 手順３　Debian化のためのファイルの置き換え

Debian化には[Debian_on_Buffalo](https://github.com/1000001101000/Debian_on_Buffalo)というツールを使います。
有用なツールを公開してくれている「[1000001101000](https://github.com/1000001101000)」様に感謝。

基本的な手順や内容は[Wiki](https://github.com/1000001101000/Debian_on_Buffalo/wiki)を確認していただきたいですが、TS-XHLシリーズにおいては、カーネルである「[uImage.buffalo.tsxl](https://github.com/1000001101000/Debian_on_Buffalo/blob/master/Bookworm/installer_images/armel_devices/uImage.buffalo.tsxl)」と初期RAMディスクである「[initrd.buffalo](https://github.com/1000001101000/Debian_on_Buffalo/blob/master/Bookworm/installer_images/armel_devices/initrd.buffalo)」を使用します。
他の機器の場合は対応する`uImage.buffalo`を探して選択してください。
OSは2025年5月現在で最新のBookwarm（Debian 12）を選びます。

`uImage.buffalo.tsxl`は名前を`uImage.buffalo`に変え、boot領域にファイルを置きます。
すでにある`uImage.buffalo`と`initrd.buffalo`を共に置き換えてください。

コマンドのイメージは以下です。（`/mnt/md127`がboot領域だと仮定）

```
cp uImage.buffalo.tsxl /mnt/md127/uImage.buffalo
cp initrd.buffalo /mnt/md127/initrd.buffalo
```

ちゃんと2つ置き換わっていることも確認しておきます。
```
root@ubu24:~# ls -l /mnt/md127
total 20316
-rw-r--r-- 1 root root     176 May 29 04:44 bootshim
-rw-r--r-- 1 root root      20 Dec 21  2021 builddate.txt
-rw-r--r-- 1 root root   46054 May 30 06:43 conf_save.tgz
-rw-r--r-- 1 root root 6765872 May 30 07:22 initrd.buffalo
-rw-r--r-- 1 root root   27656 May 30 06:43 log.tgz
-rw-r--r-- 1 root root   10240 May 30 06:43 replication_queue.tar
-rw-r--r-- 1 root root   20986 May 30 06:43 splx.tgz
-rw-r--r-- 1 root root 2819418 May 20 21:55 System.map-6.1.137
-rw-r--r-- 1 root root  404368 Dec 21  2021 u-boot-88f6281.buffalo
-rw-r--r-- 1 root root  480980 Dec 21  2021 u-boot.buffalo
-rw-r--r-- 1 root root  480980 Dec 21  2021 u-boot-mv78100.buffalo
-rw-r--r-- 1 root root 2738636 Dec 21  2021 uImage-88f6281.buffalo
-rw-r--r-- 1 root root 4108800 May 30 07:22 uImage.buffalo
-rw-r--r-- 1 root root 2825964 Dec 21  2021 uImage-mv78100.buffalo
root@ubu24:~# 
```

:::note warn
Wikiでは[acp_commander](https://github.com/1000001101000/acp-commander)を使用してファイルの置き換えをしています。
ただその手順では**Javaのインストールが必要**なので、本手順のようにHDDを直接マウントしてファイルを編集をする形を取りました。
本手順では**HDDを全部繋げられるUbuntu機が必要になる**（TS-WXLのように4本HDDを使用するモデルは4本のHDDを繋ぐ必要がある）ので、そういったPCが用意できない場合は大人しくacp-commanderを使えばDebianのインストールができます。
:::

:::note info

`uImage.buffalo`と`initrd.buffalo`を置き換えずにOS領域のSSH関連のファイルを置き換えることで、Buffalo公式のファームウェアで起動したTeraStationにadminアカウントでSSHログインができるようになります。
SSHログインのために置き換えるのは`/etc/sshd_config`と`/etc/init.d/sshd.sh`の2つです。

`/mnt/md126/etc/sshd_config`は以下を設定します。
（`/mnt/md126`がOS領域だと仮定）
```
PasswordAuthentication yes
UsePAM no
```

`/mnt/md126/etc/sshd.sh`は画像のように`sed -i -e '4 s/allowssh no/allowssh yes/' /etc/sftponly_config`を`sshd_start`関数内に書き込みます。

![スクリーンショット 2025-05-19 21.00.10.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/395943/9e1403d0-5c0f-4554-b378-e3c05e2cd1f0.png)

これだけでadminアカウントでSSHログインができるのですが、`su`コマンドが使えないのでrootが取れません。
そのためadminアカウントで`su`コマンドが使えるようにさらに設定を変更していきます。

```
# Ubuntu上でrootになっておく 
# TeraStationのrootパスワードの無効化
mv /mnt/md126/etc/shadow.orig /mnt/md126/etc/shadow
sed -e 's/^root:[^:]*:/root::/' /mnt/md126/etc/shadow.orig > /mnt/md126/etc/shadow

# suにスティッキービットを立てる
chmod 4755 /mnt/md126/bin/su 

# adminグループのユーザがsuコマンドを使えるように変更
sed -i 's/^auth\s\+required\s\+pam_wheel\.so\s\+use_uid$/auth       required     pam_wheel.so use_uid group=admin/' /mnt/md126/etc/pam.d/su
```

これでadminアカウントでのSSHログインとadminアカウントで`su`コマンドによるroot化が可能になります。

rootを取れれば、以下の記事のように`/etc/samba/smb.conf`をいじることでSMBv2を使うこともできます。iPhoneとSMB接続するだけなら、この記事の通りに実施するだけでもOKです。
[【別記事】LinkStationのSMB1接続不可エラーの対処方法](https://qiita.com/junichi_bb/items/6102a65f136a6a1ca294)

:::

:::note info

TeraStationに組み込まれているマイコンを制御するためのコマンドとして`miconapl`があります。
このコマンドによりファンやLED、ブザー、温度管理などを行うことができるようになります。

このタイミングでOS領域から`miconapl`コマンドのバイナリと共有ライブラリをコピーしておくと、Debianにした後でも便利なので、確保しておくのをお勧めします。

該当のファイルは以下の3つです。
`/usr/local/sbin/miconapl`
`/usr/local/lib/libbuffalo_bin.so`
`/usr/local/lib/libbuffalo_bin.so.1`

これらのファイルの使い方は最後に記載しておきます。
:::

## 手順４　Debianのインストール

設定を変更したHDDをTeraStationに戻して起動します。

画像のように本体の液晶が「Terastation arm Debian Installer」になっていればDebianインストーラの起動に成功しています。

![IMG_1029.JPG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/395943/deb7be22-3516-4a84-89fd-a6af1617b7a7.jpeg)

`ssh installer@TeraStationのIPアドレス`でログインをしてください（パスワードは`install`です）

`Start installer`で画面に沿って進めていきます。
![スクリーンショット 2025-05-20 23.19.47.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/395943/1a8ed677-b381-4528-9a39-806200d9b883.png)

一般ユーザは`minnsou`として作っておきます。

![スクリーンショット 2025-05-25 22.58.06.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/395943/7cda43ea-ea9c-4f71-99ce-4a6168108b46.png)

パーティションは迷うところですが、今回は各領域で公式ファームウェアと同じ形にしておきました。
boot領域（画像だと`RAID1 device #0`）を`/boot`、OS領域（画像だと`RAID1 device #1`）を`/`でマウントします。swap領域はそのままです。
データ領域（画像だと`RAID0 device #2`）はOMVインストール後にマウントするので、インストーラーではマウントせずとしています。

RAIDデバイス番号は変わる可能性があるので、画像は参考程度にしてください。

![スクリーンショット 2025-05-26 13.51.47.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/395943/679d6102-74ca-42fc-8a73-3f18f8a93fc0.png)

なお、パーティションを変える場合は[公式の注意](https://github.com/1000001101000/Debian_on_Buffalo/wiki/Running-the-installer)があるので従ってください。

![スクリーンショット 2025-05-29 14.55.46.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/395943/01962167-0819-4c1f-9b94-d8f2ca86b382.png)


このままGUIに沿って進めるとインストールプロセスが開始します。
40分ほどするとインストールが完了するので再起動させます。

![スクリーンショット 2025-05-21 0.17.13.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/395943/67cff2ee-c23b-4359-bdc2-df9c8f1dac31.png)

:::note info

2025年5月現在、インストーラーがうまく動かない事象が発生しています。
詳細は[Githubのissue](https://github.com/1000001101000/Debian_on_Buffalo/issues/71)を参照ください。
ここでは回避方法だけ簡単に説明します。

上記の画面で「Continue」を押さずに`Ctrl-a d`と押すと次の画面である「2*shell」に移ります。

![スクリーンショット 2025-0.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/395943/751eb964-c438-4679-bbc1-c5c8843e44ea.png)

このインストーラーは`screen`コマンドで起動しているため、画面の切り替えは`Alt＋2`などではない点に注意です。
`screen`の詳細は[別のQiita記事](https://qiita.com/ist-sh-ha/items/b73f1e19731add2b79d3)を参照ください。

ここで以下のコマンドを実施して必要なライブラリをインストールしてください。
```
mount --bind /dev /target/dev
mount --bind /dev/pts /target/dev/pts
mount --bind /proc /target/proc
mount --bind /sys /target/sys
mount --bind /run /target/run
chroot /target /bin/bash
apt-get update
apt-get install -y linux-libc-dev=6.1.137-33
apt-get install -y linux-image-marvell-buffalo
```

インストールが完了したら`Ctrl-a p`で前の画面に戻り、「Continue」を押して再起動すればOKです。

:::


起動後に「Terastation ARM Debian 12.11」のようにバージョン番号が表示されて入ればインストール成功です。


![IMG_1030.JPG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/395943/fb3bc4f6-58c6-48a6-86d8-09bb8f62ecb3.jpeg)

もしEMモードになってしまったり、ブートループになってしまったりした場合はDebianのインストールに失敗していますのでマウントしたりしてやり直してください。

## 手順５　OpenMediaVaultのインストール

[OMVの公式](https://docs.openmediavault.org/en/latest/installation/on_debian.html)に従ってインストールします。

TeraStationにSSHログインをし、`apt`で色々入れていきます。
```
# GPG鍵のインストール
apt-get install --yes gnupg
wget --quiet --output-document=- https://packages.openmediavault.org/public/archive.key | gpg --dearmor --yes --output "/usr/share/keyrings/openmediavault-archive-keyring.gpg"

# パッケージソースの追加
cat <<EOF >> /etc/apt/sources.list.d/openmediavault.list
deb [signed-by=/usr/share/keyrings/openmediavault-archive-keyring.gpg] https://packages.openmediavault.org/public sandworm main
# deb [signed-by=/usr/share/keyrings/openmediavault-archive-keyring.gpg] https://downloads.sourceforge.net/project/openmediavault/packages sandworm main
## Uncomment the following line to add software from the proposed repository.
# deb [signed-by=/usr/share/keyrings/openmediavault-archive-keyring.gpg] https://packages.openmediavault.org/public sandworm-proposed main
# deb [signed-by=/usr/share/keyrings/openmediavault-archive-keyring.gpg] https://downloads.sourceforge.net/project/openmediavault/packages sandworm-proposed main
## This software is not part of OpenMediaVault, but is offered by third-party
## developers as a service to OpenMediaVault users.
# deb [signed-by=/usr/share/keyrings/openmediavault-archive-keyring.gpg] https://packages.openmediavault.org/public sandworm partner
# deb [signed-by=/usr/share/keyrings/openmediavault-archive-keyring.gpg] https://downloads.sourceforge.net/project/openmediavault/packages sandworm partner
EOF

# OMVのインストール
export LANG=C.UTF-8
export DEBIAN_FRONTEND=noninteractive
export APT_LISTCHANGES_FRONTEND=none
apt-get update
apt-get --yes --auto-remove --show-upgraded \
    --allow-downgrades --allow-change-held-packages \
    --no-install-recommends \
    --option DPkg::Options::="--force-confdef" \
    --option DPkg::Options::="--force-confold" \
    install openmediavault

# OMVの構成データベースを構築する
omv-confdbadm populate

# 再起動
reboot
```

これでWebブラウザよりログインできるようになります。
インストール自体はこれで完了です。

## 手順６　OpenMediaVaultの設定（SMB接続まで）

これ以降はOMVの基本的な使い方なので詳細は述べませんが、他のPCやiPhoneなどからSMB接続できるようになるところまでの手順を簡単に記載します。

目標はDebianのインストーラーで作成した一般ユーザ（今回の例だと`minnsou`）のみがこのTeraStationにSMB接続(SMBv2)できるようにするところまでです。ゲスト接続はOFFとします。

まずはOMVにSSHログインできるようにユーザの設定を行います。
左のメニューから「Users」→「Users」を選択し、自分の作成したユーザを選択し、編集します。

![スクリーンショット 2025-05-29 17.06.00.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/395943/474bb741-0df5-4521-90f4-97d4fd468d61.png)

公式の[Wiki](https://docs.openmediavault.org/en/latest/administration/services/ssh.html#)を参考にそのユーザに`_ssh`グループと`sudo`グループを付与します。
前者のグループ追加により`minnsou`アカウントでのSSHログインが可能になり、後者により`minnsou`アカウントで`sudo`コマンドが使えるようになります。

![スクリーンショット 2025-05-29 18.49.10.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/395943/52991741-fbfb-460c-9a4f-abffb6bf9c87.png)

また固定IPにもしておきます。
左のメニューから「ネットワーク」→「インターフェース」より表示されているIFがあると思いますので設定を変更するだけです。
デフォルトでは画面のようにDHCPになっているはずなので、好きなIPアドレスを入力してください。

![スクリーンショット 2025-05-29 18.55.40.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/395943/fa35eb11-b5fd-4bdc-8616-b8ffa473e2f7.png)

:::note info
もしここに何もインターフェースが表示されていない方はインストール時に`omv-confdbadm populate`を実行し忘れているかと思います。
:::

:::note info
固定IPについては、SSHログインして以下のコマンドを打てば、GUIインストーラーが起動するのでそこから設定することも可能です。
`sudo omv-firstaid`

![スクリーンショット 2025-05-30 14.42.15.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/395943/27fc39a9-f1fb-46d7-841a-39c67c475994.png)

:::

それではマウントしていなかったデータ領域でRAID6を作っていきます。
HDDの構成を変えてない場合は6つ目のパーティションがデータを保存する領域なので`sda6` `sdb6` `sdc6` `sdd6`から`md6`を構成します。

RAIDアレイの構築はシェルで実施します。
SSHログインして`root`になり、まずは状況確認をします。

```
root@debian:~# cat /proc/mdstat 
Personalities : [linear] [raid0] [raid1] [raid10] [raid6] [raid5] [raid4] [multipath] [faulty] 
md2 : active raid0 sdd6[3] sdc6[2] sdb6[1] sda6[0]
      1893869568 blocks super 1.2 512k chunks
      
md1 : active raid1 sdd2[3] sdc2[2] sda2[0] sdb2[1]
      4999156 blocks super 1.2 [4/4] [UUUU]
      bitmap: 1/1 pages [4KB], 65536KB chunk

md10 : active raid1 sdd5[3] sdc5[2] sdb5[1] sda5[0]
      1000436 blocks super 1.2 [4/4] [UUUU]
      bitmap: 0/1 pages [0KB], 65536KB chunk

md0 : active raid1 sdd1[3] sdc1[2] sdb1[1] sda1[0]
      1000384 blocks [4/4] [UUUU]
      
unused devices: <none>
root@debian:~# 
```

`md2`がデータ領域なので、こちらを削除してRAID6に作り直します。

```
# デフォルトで作られるRAID0のデータ領域(md2)を削除
root@debian:~# mdadm --stop /dev/md2
mdadm: stopped /dev/md2

# RAID6でRAIDアレイを構築
root@debian:~# mdadm --create /dev/md6 --level=raid6 --raid-devices=4 /dev/sda6 /dev/sdb6 /dev/sdc6 /dev/sdd6
mdadm: /dev/sda6 appears to be part of a raid array:
       level=raid0 devices=4 ctime=Wed May 28 14:08:09 2025
mdadm: /dev/sdb6 appears to be part of a raid array:
       level=raid0 devices=4 ctime=Wed May 28 14:08:09 2025
mdadm: /dev/sdc6 appears to be part of a raid array:
       level=raid0 devices=4 ctime=Wed May 28 14:08:09 2025
mdadm: /dev/sdd6 appears to be part of a raid array:
       level=raid0 devices=4 ctime=Wed May 28 14:08:09 2025
Continue creating array? y
mdadm: Defaulting to version 1.2 metadata
mdadm: array /dev/md6 started.
root@debian:~#

# xfsでフォーマット(20分ほどかかります)
root@debian:~# mkfs.xfs /dev/md6

# mdadm.confのバックアップと生成
root@debian:~# mv /etc/mdadm/mdadm.conf /etc/mdadm/mdadm.conf.bkup
root@debian:~# /usr/share/mdadm/mkconf > /etc/mdadm/mdadm.conf

# initramfsの更新
root@debian:~# update-initramfs -u 
root@debian:~# reboot
```

なお、ここでRAID6を作成するとバックグラウンドでresyncの処理が走ります。この処理がまあまあ重いので、このタイミングでRAIDの同期スピードを下げておくと、この後のGUIでの処理の時間が少し短くなると思います。

```
root@debian:~# echo 500 > /proc/sys/dev/raid/speed_limit_min
root@debian:~# echo 500 > /proc/sys/dev/raid/speed_limit_max
```

残りはGUIで設定をしていきます。
「Storage」→「File Systems」の再生マークをクリックし、既存のファイルシステムのマウントをしていきます。

![スクリーンショット 2025-05-29 19.16.58.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/395943/4c208d45-a7c2-42ec-81ce-1b7db6486d71.png)

ファイルシステムに先ほど作った`/dev/md6`を選択して保存します。

![スクリーンショット 2025-05-29 19.58.16.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/395943/1be00ff7-b109-4d2e-a8c7-bb429235b372.png)

次に「Storage」→「Shared Folders」より共有フォルダを作ります。＋ボタンより新規作成をします。

![スクリーンショット 2025-05-29 21.35.26.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/395943/14d6f42d-304b-43ca-9916-12d886099f7d.png)

名前は適当に`test_dir`とします。これがSMB接続の時に見えるディレクトリ名です。

![スクリーンショット 2025-05-29 21.36.55.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/395943/0d584a8e-f54c-4d1d-b6cb-5d0098b330b0.png)

作ったユーザのみがアクセスできるように「Permission」もクリックし、該当ユーザに権限を与えます。

![スクリーンショット 2025-05-29 21.38.18.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/395943/a63d804f-c537-41a7-9964-596f5a84f299.png)

今回はDebianインストーラーで作った`minnsou`ユーザ＆グループに権限を追加しておきます。

![スクリーンショット 2025-05-29 21.39.30.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/395943/ff487e3a-49bc-420a-b5bc-db009d3b0c97.png)

なお、Debianインストーラーで作成したユーザの場合、パスワードの設定も必要になります。[^1]
メニューの「User」→「User」よりパスワードも設定しておいてください。

[^1]:原因が不明ですが、OMVインストール前に作成されているユーザは`smbpasswd`が実行されていないからかもしれません。GUIで改めてパスワードを設定することで`smbpasswd`の処理が走るのかと思います。

![スクリーンショット 2025-05-29 21.44.42.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/395943/5e9400d8-aec3-48d7-b526-338ecfdfd610.png)

「Services」→「SMB/CIFS」→「Settings」より「Enable」をクリックしてSambaを有効化します。
![スクリーンショット 2025-05-29 23.01.22.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/395943/03227f7f-11b0-4c55-944c-8abc08c890b3.png)

「Services」→「SMB/CIFS」→「Share」より新規作成をします。

![スクリーンショット 2025-05-29 21.56.14.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/395943/ca832a91-7567-4a59-a32b-0ad8bea53cde.png)

「Shared folder」に先ほど作った共有フォルダ`test_dir`を選択して保存します。
それ以外の各項目はデフォルトでもSMB接続ができるかと思います。
（ゲスト接続はデフォルトでNOになっているので問題なし）

![スクリーンショット 2025-05-29 22.03.14.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/395943/7cc489e3-0a7b-45eb-96ed-1da1fd64adc9.png)

これでSMBの設定は完了です。別の機器で接続してみましょう。

<img width="400" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/395943/ca766085-1c35-4683-9f98-4405ad7a0c3e.png">


iPhoneでも問題なく接続でき、作成した`test_dir`が見えました。

<img width="400" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/395943/56287ea6-2795-49ea-9e2d-9a35b846b522.png">

もし同期スピードを変更した方はデフォルト値に戻しておきましょう。[^2]

[^2]:もし再起動してもそのままのスピードが良い方は`/etc/sysctl.conf`に`dev.raid.speed_limit_min = 50000`のように追加してください。

```
root@debian:~# echo 10000 > /proc/sys/dev/raid/speed_limit_min
root@debian:~# echo 200000 > /proc/sys/dev/raid/speed_limit_max
```

OMVさえ入れることができれば、自宅用のファイルサーバを作ったり、MacBookのTimeMachineを作ったり、色々できるかと思います。良きNASライフを。

:::note warn
TS-WXLシリーズは古い32bitのARMプロセッサ（armel）のため、[OMVのプラグイン](https://wiki.omv-extras.org/doku.php?id=start)が使えないので注意してください。公式のアナウンスは[こちら](https://wiki.omv-extras.org/doku.php?id=misc_docs:omv_extras)です。
もしどうしてもプラグインが必要な方はIntelチップを採用したTeraStationを探してください。その場合は[Debian_on_Intel_Terastations](https://github.com/1000001101000/Debian_on_Intel_Terastations/tree/master)が参考になると思います。
:::

<details><summary>（参考）やっておくと便利なものたち　必須ではないので折りたたみ</summary>

### miconaplのコピー

公式ファームウェアからコピーしておいた`miconapl`と`libbufalo_bin.so`、`libbuffalo_bin.so.1`をDebianでも使えるようにします。

```
# 一旦SCPなどでホームディレクトに各ファイルを移動
root@debian:~# ls -la /home/minnsou/*
-rwxr-xr-x 1 minnsou users 151682 May 30 10:34 /home/minnsou/libbuffalo_bin.so
-rwxr-xr-x 1 minnsou users 151682 May 30 10:34 /home/minnsou/libbuffalo_bin.so.1
-rwxr-xr-x 1 minnsou users  73916 May 30 10:32 /home/minnsou/miconapl
root@debian:~#

# 適切な場所にコピーする
root@debian:~# cp /home/minnsou/miconapl /usr/local/sbin/
root@debian:~# cp /home/minnsou/libbuffalo_bin.so* /usr/local/lib/

# 共有ライブラリの更新
root@debian:~# ldconfig -v

# 動作確認
root@debian:~# miconapl -a bz_on button
# これでブザー音がピッと鳴ればOK
```

これで`miconapl`が使えるようになります。
コマンドのより詳しい解説は[LinkStation／玄箱をハックしよう](https://www.yamasita.jp/linkstation/2010/02/100201_miconapl_3.html)をどうぞ。


### シリアルコンソールの有効化

TS-XHLには前面の扉を開けるとシリアルコンソール用のDsub9ピンがあり、クロスケーブルを使ってPCと接続するとログが見えて色々と便利です。

![IMG_1044.JPG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/395943/3b1714a6-8a12-4812-9cd7-aa6609186e06.jpeg)

（参考）起動時のシリアルコンソールのログ
![serial_log.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/395943/7858bb3d-4eda-4f38-8f1b-b37407fe6b5a.png)

特に何もしなくても出力はできるのですが、**キーボードからの入力できません**。
問題が起きた時のためにコンソール経由でもログインできるようキーボードの入力を受け付けるようにします。

```
root@debian:~# /usr/local/sbin/miconapl -a serialmode_console
```

これだけでシリアルコンソールが使えるようになります。
ただし電源を落とすとコンソールがまた使えなくなってしまうので、起動時にこのコマンドを実行するようにサービス化しておきます。

```
root@debian:~# vi /etc/systemd/system/miconapl_serial.service
```

```miconapl_serial.service
[Unit]
Description=Run miconapl with serialmode_console at boot
After=multi-user.target

[Service]
Type=simple
ExecStart=/usr/local/sbin/miconapl -a serialmode_console
User=root
RemainAfterExit=true

[Install]
WantedBy=multi-user.target
```


```
root@debian:~# systemctl daemon-reexec
root@debian:~# systemctl enable miconapl_serial.service
Created symlink /etc/systemd/system/multi-user.target.wants/miconapl_serial.service → /etc/systemd/system/miconapl_serial.service.
root@debian:~# systemctl start miconapl_serial.service
root@debian:~# systemctl status miconapl_serial.service
● miconapl_serial.service - Run miconapl with serialmode_console at boot
     Loaded: loaded (/etc/systemd/system/miconapl_serial.service; enabled; preset: enabled)
     Active: active (exited) since Fri 2025-05-30 11:32:53 JST; 7s ago
    Process: 1569 ExecStart=/usr/local/sbin/miconapl -a serialmode_console (code=exited, status=0/SUCCESS)
   Main PID: 1569 (code=exited, status=0/SUCCESS)
        CPU: 29ms

May 30 11:32:53 debian systemd[1]: Started miconapl_serial.service - Run miconapl with serialmode_console at boot.
root@debian:~#
```

これで再起動後にキーボード入力ができることを確認してください。

### 不要なサービスの停止

LVM2のミラーデバイスを管理するサービスですが、今回はLVMは使わない＆再起動時にこのサービスを落とすのに1分半かかっているので停止しておきます。

```
root@debian:~# systemctl disable blk-availability.service
```

</details>

## 参考

LinkStation/TeraStationをハックしている方のブログです。TS-WXLシリーズの記事もあり、とても参考になりました。
https://www.yamasita.jp/linkstation/category/ts-wxl/

TeraStationのSSHログインの部分は以下の記事を参考にさせていただきました。
[らっしー様のブログ](https://ameblo.jp/i-raccy/entry-10958912800.html)