Armbian Buster で遊ぼう (Espressobin編)

あなたは
2 3 7 3 4 8 7
人目のお客様です。 (本日412人目、昨日693人) (from 2007-09-30)

5.1.6.Armbian Buster で遊ぼう (Espressobin編)
5.1.Espressobinで遊ぼうのこーな

5.1.6.Armbian Buster で遊ぼう (Espressobin編)

(0) はじめに

この節では、Espressobin v7 に Armbian Buster をインストールして遊びます。

ちなみに元ねたはArmbian公式です。

(1) 母艦の準備

micro SHDCカードアダプタをもつLinuxマシンを用意してください。 筆者はVMWare 上 で Ubuntu を用意

筆者のmicro SHDCカードアダプタは /dev/sdb で認識されます。以後説明で必要に 応じ読み替えてください

パッケージは最新のものにアップグレードしておいてください

(2) 母艦での作業(最小環境のインストール)

① 中身が丸ごと消えてもいいmicroSDHCカードを用意し、アダプタに接続

  次の手順で、すべてのパーティションが消されて一から作成されます。最初から消しておくことを推奨

② 母艦Ubuntu起動し、適当な作業ディレクトリに移動し、以下のコマンドを実行してください

 (プレビルドされたイメージ取得)
 $ wget https://dl.armbian.com/espressobin/archive/Armbian_20.02.7_Espressobin_buster_current_4.19.113.7z
(解凍)
 $ 7z x Armbian_20.02.7_Espressobin_buster_current_4.19.113.7z
(SDへの書込)
  $ sudo dd bs=1M if=Armbian_20.02.7_Espressobin_buster_current_4.19.113.img of=/dev/sdb
  $ sync

(3) Espressobin v7 起動

① 出来上がった起動メディアをEspressobin v7 にセット

② Espressobin v7 にEspressobin v7 に付属のUSB-OTGケーブルを接続

③ 電源をつなげば Espressobin v7 が起動しますが、初回ブート時はU-Bootの設定 が正しくないので起動に失敗します。以下U-Bootにて設定

(環境変数の初期化)
 Marvell>> env default -a
 (起動アドレスの設定)
 Marvell>> setenv fdt_addr 0x6000000
 Marvell>> setenv kernel_addr 0x7000000
 Marvell>> setenv loadaddr 0x8000000
 Marvell>> setenv initrd_size 0x2000000
 Marvell>> setenv initrd_addr 0x1100000
 Marvell>> setenv scriptaddr 0x6d00000
 (起動ファイル名の設定)
 Marvell>> setenv initrd_image uInitrd
 Marvell>> setenv image_name Image
(起動方法を指定、起動はUSB,SATA,SDカード,eMMCの順でサーチ)
 Marvell>> setenv boot_targets 'usb sata mmc1 mmc0'
 Marvell>> setenv boot_prefixes '/ /boot/'
 Marvell>> setenv bootcmd_mmc0 'setenv devnum 0; setenv boot_interface mmc; run scan_dev_for_boot;'
 Marvell>> setenv bootcmd_mmc1 'setenv devnum 1; setenv boot_interface mmc; run scan_dev_for_boot;'
 Marvell>> setenv bootcmd_sata 'setenv devnum 0; scsi scan; scsi dev 0; setenv boot_interface scsi; run scan_dev_for_boot;'
 Marvell>> setenv bootcmd_usb 'setenv devnum 0; usb start;setenv boot_interface usb; run scan_dev_for_boot;'
 Marvell>> setenv bootcmd 'for target in $boot_targets; do run bootcmd_$target; done'
 Marvell>> setenv scan_dev_for_boot 'for prefix in ${boot_prefixes}; do echo ${prefix};run boot_a_script; done'
 Marvell>> setenv boot_a_script 'ext4load ${boot_interface} ${devnum}:1 ${scriptaddr} ${prefix}boot.scr;source ${scriptaddr};'
(フラッシュメモリにに環境変数を書き込み)
 Marvell>> saveenv
(再起動)
 Marvell>> boot 

④ 再起動時にファイルシステムが自動で最大にまで拡張されます

⑤ 初期ユーザー「root」パスワード「1234」です。

  初回起動時にrootのパスワードを強制的に変更させられます。事前に考えておいてください

  また、その時に一般ユーザーも強制的に作成させられます。ユーザー名とパスワードも

  事前に考えておいてください

(4) ネットワークに接続し、パッケージ更新

① ネットワークケーブルの接続

  ネットの口が3つありますが、青いUSB3側から順に、wan,lan0,lan1です

  公式Wikiの説明図と逆順になってますが、 なぜかカーネルからこのように認識されています

  今回の接続ではwan(青いUSB3側に近い口)にご自宅のLAN(DHCPサーバーにつな がって

  いること)をつないでください

  ちなみに、なにも追加で設定していない現時点では。3つのネットの口は、内部的にブリッジで

  つながっていて、実はどの口につないでも同じだったりします

  ↑ (internetへ)
(宅内ルータ)
  ↑ 
+(wan )―(lan0)―(lan1)―+  
|  ↓   ↓      ↓   |      
| (  内部ブリッジ    )   |   
|          ↓           | 
|   本機(espressobin)   |
+――――――――――――+

② パッケージ更新

 $ sudo apt-get update
 $ sudo apt-get upgrade

(tips)
ここから先は、せっかく3口あるネットを活用する方法を探ります
不要な方は、読み飛ばしてください

(5) ネットワークの本設定

ネットワーク3口をどのように使うかは、皆さんのご自由ですが、 ここでは例題として、以下の図の

ような internetとノートパソコンとの間のGateway形式を例にとります

ちなみに元ネタは公式Wiki(Ubuntuでの例ですが)

このつなぎ方でも、espressobinがただのブリッジでいいなら(4)の時点でできているんですけどね

  ↑ (internetへ)
(宅内ルータ)
  ↑ 
+(wan )―――――――――+  ネットワークアドレス想定
|  ↓                   |   ① wan: 宅内ルータDNSから貰う
|本機(espressobin)      |   ② 内部ブリッジ: 192.168.22.1
|  ↓                   |   ③ ノートパソコン: 
| (内部ブリッジ)        |       192.168.22.111
|  ↓    ↓         |     あらかじめ固定IP化されているとする
+(lan1)――(lan0)――――+
  |
  ↓(クロスケーブルで直結)
(ノートパソコン)

① とりあえず、設定ファイルのバックアップを取ります

 $ sudo cp -r /etc/systemd/network/ /etc/systemd/network.bak

② /etc/systemd/network/ 配下の設定ファイルを以下のようにします

  (a) 10-br0.netdev

[NetDev]
Name=br0
Kind=bridge

  (b) 10-br0.network

[Match]
Name=br0

[Network]
Address=192.168.22.1/24
IPForward=ipv4
IPMasquerade=yes
ConfigureWithoutCarrier=yes

  (c) 10-eth0.network

[Match]
Name=eth0

  (d) 10-lan0.network

[Match]
Name=lan0

[Network]
Bridge=br0
BindCarrier=eth0

  (e) 10-lan1.network

[Match]
Name=lan1

[Network]
Bridge=br0
BindCarrier=eth0

  (f) 10-wan.network

[Match]
Name=wan

[Network]
DHCP=yes
BindCarrier=eth0
IPForward=ipv4 


5.1.7.Arch Linux で遊ぼう(Espressobin編)
5.1.5.Ubuntu Xenial Xerus で遊ぼう (Espressobin編)

ichmy本家サイト

ガジェットで遊ぼうのこーなー