Help us understand the problem. What is going on with this article?

Raspberry Pi 3 Model B+ で CentOS7 をusb接続のssdから起動する

More than 1 year has passed since last update.

FUSE for macOS をインストール

https://osxfuse.github.io

fusexfs をインストール

https://sourceforge.net/projects/fusexfs/

SSDのフォーマット

MacにSSDを接続しディスクユーティリティでフォーマットする
* フォーマット:fuse-xfs
* 方式:GUIDパーティションマップ

SSDに空のxfsパーティションを作成

ディスクユーティリティでxfsパーティションを作成する
* フォーマット:fuse-xfs

raspberry Pi 用の CentOS img ファイルをダウンロード

Download CentOS Linux ISO images > AltArch Releases のraspberry Pi 用「Minimal image for RaspberryPi 2/3」をダウンロードする。

https://wiki.centos.org/Download

xz コマンドをインストール

brew install xz

CentOS イメージを解凍

$ xz -d CentOS-Userland-7-armv7hl-Minimal-1611-test-RaspberryPi3.img.xz

SSD へ CentOS パーティションを書込む

マウントを外してから、ddコマンドで書き込む

$ sudo dd if=CentOS-Userland-7-armv7hl-RaspberryPI-Minimal-1804-sda.raw of=/dev/disk4 bs=1m
Password:
2712+0 records in
2712+0 records out
2843738112 bytes transferred in 99.757702 secs (28506452 bytes/sec)


raspberry-Pi を起動する

  • 作成したsdカードを本体にさして起動

CentOS へログイン

  • rootの初期パスワードは centos

yum アップデート

# yum update

ネットワーク設定

# nmtui

nmtui で下記設定
- プロファイル名:eth0(デフォルトでは"Wired connection 1"となっている)
- IPv4 設定:手動
- アドレス
- ゲートウェイ
- DNS サーバー
- 「この接続には IPv4 アドレス設定が必要になります」にチェック
- 「自動的に接続する」にチェック

nmcliの場合

# nmcli c modify eth0 ipv4.addresses 192.168.1.x/24
# nmcli c modify eth0 ipv4.gateway 192.168.1.x
# nmcli c modify eth0 ipv4.dns 192.168.1.x
# nmcli c modify eth0 ipv4.method manual
# nmcli c modify eth0 connection.autoconnect "yes"
# nmcli c down eth0; nmcli c up eth0 
# nmcli d show eth0

selinux 無効化

  • 設定ファイルの SELINUX を "enforcing" -> "disabled" へ変更する

  • 無効化しないと、この後、ルートパーティションをコピーしたssdで起動した際に/bin/bash: Permission deniedとなり、ログインできなくなる。

# vi /etc/selinux/config

#SELINUX=enforcing
SELINUX=disabled

ssd を接続

ssdのデバイスファイルを確認

# fdisk -l

パーティション作成

# parted /dev/sda
(parted) mktable msdos                                               
(parted) mkpart primary ext4 0% 2048M
(parted) mkpart primary ext4 2048M 100%
(parted) print
(parted) quit                                                             

ファイルシステム作成

# mkfs.ext4 /dev/sda2
# mkswap -c /dev/sda1

ssd に作成したルート用のパーティションをマウント

# mkdir /mnt/ssd
# mount /dev/sda2 /mnt/ssd/

rsync インストール

# yum search rsync
# yum install rsync.armv7hl

ルートパーティションのコピー

sdカードのルートパーティションをssdのルートパーティションにコピーする

# rsync -ax --progress / /mnt/ssd

fstab 編集

blkid で調べた ssd の uuid へ変更する

# blkid /dev/sda1
/dev/sda1: UUID="f613c75c-a4a8-4dd5-aa6a-5a627ecc745a" TYPE="swap" 
# blkid /dev/sda2
/dev/sda2: UUID="53aafd84-bd9e-4624-9abe-1f50e76a04c6" TYPE="ext4"
vi /mnt/ssd/etc/fstab

cmdline.txt 編集

ssd のOSから起動するように編集する

# cat /boot/cmdline.txt
console=ttyAMA0,115200 console=tty1 root=/dev/mmcblk0p3 rootfstype=ext4 elevator=deadline rootwait

# vi /boot/cmdline.txt
console=ttyAMA0,115200 console=tty1 root=/dev/sda2 rootfstype=ext4 elevator=deadline rootwait

### 再起動してssdから起動していることを確認

# df -a

参考

Raspberry Pi 3 に繋いだ USB 接続の SSD に CentOS7 を入れてみる
https://bucci.bp7.org/archives/40931

raspberry Pi3にcentos7を入れてみた
https://qiita.com/NAZA/items/38303564dde29977d79e

RaspberryPi 3 model B に CentOS7をインストール
https://qiita.com/revsystem/items/9989a18116e554c133b6

Why do not you register as a user and use Qiita more conveniently?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Comments
Sign up for free and join this conversation.
If you already have a Qiita account
Why do not you register as a user and use Qiita more conveniently?
You need to log in to use this function. Qiita can be used more conveniently after logging in.
You seem to be reading articles frequently this month. Qiita can be used more conveniently after logging in.
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away