1
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

Raspberry Pi 4 でHDDをrootにしてarch Linuxでサーバにしてみる(前編)

Last updated at Posted at 2020-01-30

#概要

初めての投稿になります!
Raspberry Piの4が出てUSB周りが強化されサーバ向けにピッタリになりました。ということで、Raspberry Pi 4をHDDで動作するようにして、arch Linuxで安定に動作させてみることにしました。
arch Linuxは数あるディストリビューションの中でも、自分で何でもセットアップするという信条で作られている軽量ディストリビューションなので、Linux環境を自分でセットアップして勉強するのにもってこいのディストリビューションです。公式サイトのセットアップ等のドキュメントが親切で、少し慣れれば使いこなせると思います。特にLinux初級者に挑戦してもらって、楽しんでもらいたいです。
なお、書いていて長くなったので、前後編に分けて、今回はインストールからログインのところまで書いてみます。

※2020/9/5追記
Archlinuxもraspberry Pi4用の64bit版が出ましたが、そのバージョンでは、この方法は使えないことが分かっております。下記リンクの記事を参考にしてください。
Archlinux 64bit Raspberry pi 4でUSB bootするまで(MBRディスクのみ)

#参考サイト

arch Linux公式 raspberry Piセットアップ
Rasperry Pi - ArchWiki

arch Linux ARMダウンロードサイト
Downloads Arch Linux ARM

Raspberry Pi 4 でHDDをrootにしてarch Linuxでサーバにしてみる(後編)

#目次

  • 必要なもの
  • HDDのセットアップとarch Linuxインストール
  • 初期設定(後編)
  • 各種ソフトのインストール(後編)

#必要なもの

arch Linux armにはインストーラがありません。インストールするためには、他のLinuxマシンが必要となります。以下材料一覧です。

  • Linux PC
  • USB HDD
  • SDカード

###Linux PC
例えば、raspbian/x86とか、ubuntu PCなどです。ここでは、ネットブックPCにraspbian/x86をインストールしたものを使用しています。raspberry Piでは、SDカードをマウントできないので、できればSDカードをマウントできるものが良いです。

###USB HDD
Raspberry Pi 4の力を発揮したいのであれば、USB3.0のものを用意するとよいです。2TBまでと3TB以上では手順が少し変わるので注意。現在空であること前提。

###SDカード
Raspberry Piブート用。2GBもあればOK。予めPCでFAT32フォーマットしておくのが楽です。

#HDDのセットアップとarch Linuxインストール
まずはLinux PCにUSB HDDとSDカードを接続して起動します。
作業が面倒なので、rootになります。
$ sudo su

まずはUSB HDDとSDカードがつながっているか確認します。
# fdisk -l

今接続されているディスクとSDカードの一覧が出ます。
以降、USB HDDは2TBで /dev/sdb、SDカードは/dev/mmcblk0とします。

USB HDDのパーティションを以下のように切っていきます。
/dev/sda1 / 64GB
/dev/sda2 swap 5GB
/dev/sda3 /work それ以外全部

# fdisk /dev/sdb
内部コマンド

  • nで新規パーティション作成

    • 最初にパーティション番号
    • 開始はenterのみ(言い値の数字)
    • 終了は+64GBとか+5GB それ以外全部の場合はenter
  • pで作ったパーティション一覧表示

  • wで書き込み&終了

sda1とsda3をext4でフォーマットします。
# mkfs.ext4 /dev/sdb1
# mkfs.ext4 /dev/sdb3

/mntにsdb1をマウントします。
# mount /dev/sdb1 /mnt
/mnt/bootにmmcblk0p1をマウントします。

# cd /mnt
# mkdir boot
# mount /dev/mmcblk0p1 /mnt/boot

適当な場所にRaspberry Pi 4用のarch Linuxのtar ballをダウンロードします。

# cd /home/pi
# wget http://os.archlinuxarm.org/os/ArchLinuxARM-rpi-4-latest.tar.gz

bsdtarで展開します。(普通のtarコマンドでもOK)このとき-pオプションを必ずつけてください。あとで動かなくなります。

# bsdtar -xpf ArchLinuxARM-rpi-4-latest.tar.gz -C /mnt

/mnt/etc/fstabを編集します。間違えて本体のfstab編集しないでください。

# cd /mnt/etc
# vi fstab

/mnt/etc/fstab
# Static information about the filesystems.
# See fstab(5) for details.

# <file system> <dir> <type> <options> <dump> <pass>
/dev/mmcblk0p1  /boot   vfat    defaults        0       0
/dev/sda1       /       ext4    defaults        0       1
/dev/sda2       none    swap    defaults        0       0
/dev/sda3       /work   ext4    defaults        0       0

/boot/cmdline.txtを編集してroot=/dev/mmclk0p2をroot=/dev/sda1にします。

# cd /boot
# vi cmdline.txt

cmdline.txt(befor)
root=/dev/mmcblk0p2 rw rootwait console=ttyAMA0,115200 console=tty1 selinux=0 pl
ymouth.enable=0 smsc95xx.turbo_mode=N dwc_otg.lpm_enable=0 kgdboc=ttyAMA0,115200
 elevator=noop
cmdline.txt(after)
root=/dev/sda1 rw rootwait console=ttyAMA0,115200 console=tty1 selinux=0 pl
ymouth.enable=0 smsc95xx.turbo_mode=N dwc_otg.lpm_enable=0 kgdboc=ttyAMA0,115200
 elevator=noop

ディスクのマウントポイントを作ります
# cd /
# mkdir work

ここまで出来たらインストールは終了なので、アンマウントします。
# umount /mnt/boot /mnt

これでLinux PC上での作業は終了します。
USB HDDとSDカードを取り外してRaspberry Pi 4に取り付けます。
同時にネットワークケーブルを接続します。
今回はネットワークへは有線でDHCPでつながっていることを前提にしております。
ディスプレイはつないでおりません。

電源を入れるとHDDへ連続アクセスしている様子が観察できます。
立ち上がり切ったいと思ったら、teratermなどで接続をします。
応答があったら、デフォルトでログイン。
ログイン名: alarm
パスワード: alarm

これでログインできたら、インストールまでできました。

(環境設定等後編に続きます)

1
3
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?