alix 3d2にDebian Busteをインストールする

# はじめに
訳あってVoyage MPD Starter Kitというものを入手しました。
内部を開けてみると、alix 3d2というシングルボードコンピュータが入っていたので、
Debianをインストールしてみます。
![DSCF9420.jpeg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1667055/50114838-d18a-d836-7280-6d94fc0a3a40.jpeg)


alix 3d2についてはこちら

https://www.pcengines.ch/alix3d2.htm

Raspberry Piのようにセットアップがすぐにできると思って情報を収集してみると、
１０年ほど前のボードのようで情報が古く、イメージファイルなどはほとんどリンク切れ（苦笑）
しかも、ディスプレイ端子はなく、あるのはLANポート、USBポート、シリアルポート(9pin)のみ

そんな中、Debianをインストールしている記事を発見したので、
この記事を参考にして、どうにかインストールできました。参考にした記事ではalix 2d13ですがalix 3d2でも大丈夫でした。

https://wiki.polaire.nl/doku.php?id=debian_buster_alix2d13

まだまだLinuxを勉強中のため、用語や方法が間違っている部分もあるかもしれないのであしからず。

この記事ではUbuntu 22.04LTSをインストールしたコンピュータで、インストール作業しています。

# 主な手順
ほとんど「PC Engines ALIX.2d13 - Debian buster」の通りに作業しますが、おおまかな手順は以下の通り

1. alix 3d2のシリアルポートを使用してBIOSでボーレートなどの設定をする。
2. alix 3d2からCFカードを取り外してUbuntuをインストールしたコンピュータにCFカードを接続する。
3. CFカードのパーテーションを切る。
4. debianをインストールして、設定をする。
5. CFカードをalix 3d2に戻して、ちょっと設定して完成

という感じです。

# 変更点とつまずいたところ
ほとんど参考記事の通りに作業をしたので、つまずいたところや変更したところを記載します。

`/etc/apt/sources.list`を編集して日本国内のDebian ミラーサーバに接続するため
`ftp.jp.debian.org`に変更しました。                            
```
deb http://ftp.jp.debian.org/debian buster main contrib non-free
#deb-src http://ftp.jp.debian.org/debian buster main contrib non-free

deb http://ftp.jp.debian.org/debian buster-updates main contrib non-free
#deb-src http://ftp.jp.debian.org/debian buster-updates main contrib non-free

deb http://security.debian.org/ buster/updates main contrib non-free
#deb-src http://security.debian.org/ buster/updates main contrib non-free
```
grubをインストールするとき、
```
$ sudo grub-install --boot-directory=/boot --modules=part_msdos /dev/sd?
```
とありますが最後の？があるとエラーが出て進まないので、
```
$ sudo grub-install --boot-directory=/boot --modules=part_msdos /dev/sdb
```
としました。
最後の`/dev/sdb`の部分は`fdisk -l`などで調べたCFカードのデバイス名を入れます。
エラーがでたときに、とりあえず`sda`と入力てしまい。作業していたコンピュータのUbuntuが起動できなくなりましたので気をつけましょう。

GRUBのセッティングは`/etc/default/grub`に以下を追記・編集しました。
`GRUB_CMDLINE_LINUX_DEFAULT=""`
`GRUB_CMDLINE_LINUX="console=tty0 console=ttyS0,115200n8"`
`GRUB_TERMINAL=serial`
`GRUB_SERIAL_COMMAND="serial --speed=115200 --unit=0 --word=8 --parity=no --stop=1"`
`GRUB_TERMINAL=console`

# alix 3d2を起動する
あとはCFカードをalix 3d2にもどして、Ubuntuなどからシリアル接続すると
debianが起動してログインできました。
![DSCF9421.jpeg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1667055/c0609494-6d81-54ac-e5a4-3251392ea466.jpeg)

rootでログインしたら以下のコマンドを実行します。

systemd-resolvedを有効にする。
```
# systemctl start systemd-resolved
# systemctl enable systemd-resolved
```

systemd-networkdを有効にする。
```
# systemctl start systemd-networkd
# systemctl enable systemd-networkd
```

タイムゾーンを東京にする。
```
# timedatectl set-timezone Asia/Tokyo
```

ロケールを設定する。
```
# dpkg-reconfigure locales
```

# Ubuntuからシリアル接続するには
cuコマンドを使用しますので、ない場合はインストールします。
```
$ sudo apt install cu
```

UbuntuをインストールしたコンピュータにUSB シリアルケーブルを接続して、以下のコマンドでデバイス名を確認します。
```
$ ls -l /dev/serial/by-id/
```

今回は`/dev/ttyUSB0`だったので、権限を変更してアクセスできるようにします。
```
$ sudo chmod 666 /dev/ttyUSB0
```

USB シリアルケーブルとalix 3d2をシリアルケーブル（クロス）で接続して
ボーレート 115200 bpsで接続します。
```
$ sudo cu -s 115200 -l /dev/ttyUSB0
```
alix 3d2を起動すると起動画面が出るはずです。

シリアル接続についてはこの記事を参考にしました。

https://dotnsf.blog.jp/archives/1071983142.html