[メモ]ラズパイ4にRaspiOSインストール (GPTのUSB-HDD起動)


# 概要

- ラズパイ4で、RaspiOSをUSB-HDDへインストールして、USB起動させる。
- ラズパイイメージのMBR形式では、2TB以上のドライブで、うまく認識されない<br>=> 今回、2TB以上のHDDを使用するので、MBR=>GPT変換対応する。
- あとで、OpenMediaVaultに使うので、データパーティションを作成して、システムとデータを1ドライブで共存できるようにする。(たしか、推奨されていなかったような..)


# 環境
- Raspberry Pi 4B (2/4/8GBで確認)
- microSD(16GB) - 設定用。(無事に、USB-HDD起動したら、使わない。)
	- [`2021-03-04-raspios-buster-armhf.zip`](https://downloads.raspberrypi.org/raspios_armhf/images/)<br=> GUIのソフト、gpartedをつかうので、デスクトップ版を使用。安定の32ビット版。
- USB Harddisk (インストール先、5TBのものを使用)
    - `/dev/sda`になるものと仮定して、以下書いてます。適宜、うまいのを使用すること。 
    - [`2021-03-04-raspios-buster-armhf-lite.zip`](https://downloads.raspberrypi.org/raspios_lite_arm64/images/)<br>=> のちほど、OpenMediaVault5をインストールするので、lite版。なんとなく、64ビット版にしてみる。


# 手順の概要


## 設定用RaspiOSのmicroSDの準備
1. [`rpi-imager`](https://www.raspberrypi.org/software/)などで、焼く。
    - rpi-imager v1.6では、起動後、Shift+Ctrl+Xで、初期設定ができるぞ。
2. インターネットにつながるようになったら、ターミナルを開いて、こぴぺ。

    ```bash:こぴぺ
    #apt-cacheサーバがあれば、
    #echo 'Acquire::http::Proxy "http://aptcache.local:3142";' | sudo tee /etc/apt/apt.conf.d/02proxy
    #
    # 更新して、ひつようなパッケージをインストールして、再起動
    sudo apt update && sudo apt full-upgrade -y && sudo apt install -y rpi-imager gdisk gparted && sudo reboot
    ```
3. EEPROMの更新 (古いと、USB起動できない)

    ```bash:こぴぺ
    sudo rpi-eeprom-update -a   # 更新要求コマンド。次回起動時に必要あれば更新
    sudo reboot                 # 再起動
    ```

4. [2021-03-04-raspios-buster-armhf-lite.zip](https://downloads.raspberrypi.org/raspios_armhf/images/raspios_armhf-2021-03-25/2021-03-04-raspios-buster-armhf.zip)をダウンロードしておく。


## USB-HDDへイメージ書き込み、GPT変換、設定変更
1. USB-HDDをラズパイに挿す
2. 左上のボタンを押して、メニューから、rpi-imager起動

3. rpi-imager操作
    1. Ctrl+Shift+Xを押すと、RaspiOSの初期設定ができる
    ![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/75594/4cdbe30d-0f74-35f2-0334-3139c0be0fe6.png)

    2. [CHOOSE OS]     ![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/75594/ccd2d967-d422-470d-c034-65198d359cc4.png)
    3. zipのまま、ファイルを選択　![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/75594/c34566ac-e526-0627-2603-943d21895914.png)
    4. [CHOOSE STORAGE] 選択できるものがでてくるので、書き込みたいものを選ぶ。![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/75594/9958b8c5-7c5b-c4ac-93c5-2eaef0cd0736.png)
    5. [WRITE]を押して、確認で、[YES]を押す　![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/75594/b9b2a353-d582-f675-e655-b0ac9bc9a739.png)
    6. `root`権限が必要なので、`pi`のパスワードを入れる ![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/75594/c02318f6-6869-b082-6322-a666b2d5ba30.png)
    7．書き込みスタートするので、待つ ![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/75594/59016cdf-7d90-533b-f2b4-4a2f2b5005f1.png) 
    8．終わったら、[CONTINUE]を押したあと、アプリ、クローズ　![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/75594/9afd7bdf-d7a3-fa4a-70e2-5309940a4b3c.png)


4. ターミナルを開いて、GPTテーブルにする。
    1. どこか、マウントされてたら、アンマウントしておく。

        ```bash:こぴぺ
        sudo umount /dev/sda1
        sudo umount /dev/sda2
        ```
    2. gdiskを使用して、MBR=>GPTテーブル作成

		```bash:以下のようにタイプ
		sudo gdisk /dev/sda
		w
		y
		```
        - 実行例 ![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/75594/817b9579-2c0e-9b64-1f35-3c4cd0dfe696.png)
        - 正常なMBRと壊れたGPTが見つかったけど、どれ？って出てきたら、`1 - MBR`で。![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/75594/b170cd22-b602-7a54-2a64-f7289bcd96c4.png)



5. GPartedで、rootfsのパーティションサイズ変更。　OMVに使うので、データパーティション作成する
    1. GPartedをひらく　![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/75594/67ac4757-50e2-4c74-c443-d201189720a0.png)
    2. root権限必要なので、piのパスワードをいれる ![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/75594/6cabb100-0e1c-9861-6e83-3549f787432e.png)
    3. USB-HDDを選択 ![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/75594/b73e03a9-d8e4-2643-2467-8c88a7ec6c38.png)
    4. `/dev/sda2`のとこで、右クリックメニューを出して、"Resize/Move"を選択 ![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/75594/a5faceec-d3cc-96a5-2dbf-60ccd896694f.png)
    5. New sizeを、128000MiB(=128GB)くらいにしてみる。数字入れたら、TABキーを押す。で、[Resize/Move]ボタンをおす ![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/75594/96261615-a790-0099-9bd4-c106ba990663.png)
    6. `unallocated`で右クリ、Newを選択。 ![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/75594/e0368183-b063-3249-a284-d431aa695a43.png)
    7. 適当に入力して、[Add] ![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/75594/e72be62f-760e-ccb9-8a6f-df2a8ab6a94a.png)

    8. 緑のチェックボタンをクリックすると、確認が出てくるので、[Apply]をおして、操作スタート ![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/75594/baa42f41-4d51-e4ae-e6b5-fb4995caa041.png)

    9. パーティションのサイズ変更 ![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/75594/05de86b7-309e-920b-5d9e-3b0504ccbcaf.png)
    10. 新規パーティションの作成　![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/75594/a9a09625-0f29-ba42-b4b3-9bb523f1933a.png)
    11. 済んだら、[Close]おして、終了　![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/75594/bff8a245-9a00-3407-fc71-8be5d07561e0.png)

6. マウント関係の設定変更する。(`/boot/cmdline.txt`と、`rootfs`の`/etc/fstab`)

    ```bash:こぴぺ
    # マウントする
    mkdir -p boot root
    sudo mount /dev/sda1 ./boot
    sudo mount /dev/sda2 ./root
    #
    # ファイル変更
    sudo sed -i -e 's@PARTUUID.*-02@/dev/sda2@g' -e 's@init=.*init_resize.sh@@g' ./boot/cmdline.txt
    sudo sed -i -e 's@PARTUUID.*-01@/dev/sda1     @g' -e 's@PARTUUID.*-02@/dev/sda2     @g' ./root/etc/fstab
    #
    # アンマウント
    sudo umount /dev/sda1
    sudo umount /dev/sda2
    #
    # パワーオフ
    sudo poweroff
    ```
    - 実行例　![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/75594/4a3c7b10-976e-6794-ede4-e7393e4ad199.png)


7. シャットダウンしたら、電源をOFFにして、microSDを抜く。
8. USB-HDD接続で、電源を入れて、起動する。


## OpenMediaVault 5 のインストール
1. インターネット接続設定など行う (`sudo raspi-config`)
2. パッケージ更新、再起動

    ```bash:こぴぺ
    #apt-cacheサーバがあれば、
    #echo 'Acquire::http::Proxy "http://aptcache.local:3142";' | sudo tee /etc/apt/apt.conf.d/02proxy
    #
    # 更新して、ひつようなパッケージをインストールして、再起動
    sudo apt update && sudo apt full-upgrade -y && sudo reboot
    ```
3. OMV5インストールスクリプト実行

    ```bash:こぴぺ
    sudo wget -O - https://github.com/OpenMediaVault-Plugin-Developers/installScript/raw/master/install | sudo bash
    ```

4. インストール後、自動で再起動される
5. 再起動を確認したら、クライアントのPCなどのブラウザから、`http://<らずぱいのIP>/`にアクセスする
6. ユーザ: `admin` / 初期パスワード: `openmediavault` でログイン


# その他
- RPi4B(2GB)+ RPiOs-lite 64bit + OMV5をmicroSDにインストールして、12TB-USB-HDDをまるまるext4でフォーマットして、データディスクとして、1年ほど使用しているが、問題なかった。
- この環境(システムとデータが1ドライブに共存)のOMV5では、実運用していない.これから..の予定。