Qiita Teams that are logged in
You are not logged in to any team

Log in to Qiita Team
Community
OrganizationAdvent CalendarQiitadon (β)
Service
Qiita JobsQiita ZineQiita Blog
2
Help us understand the problem. What is going on with this article?
@rootpia

ラズパイ4にraspbian busterをセットアップ

More than 1 year has passed since last update.

記事を書く動機

ラズパイ用のSDカード作成手順について、Windows前提の情報は多いが、Linuxでの手順があまり無いため(Linux使いにとっては簡単だから・・?)。ついでに、OS起動後のセットアップについてもまとめる。
※参考:Raspberry Pi セットアップ(書き込み~SSH設定まで)

Linuxでセットアップ作業するメリットは
* Windowsより簡単
* ext4フォーマットできる

使用モデル

Raspberry Pi 4 Model B (RAM 4GB)

必要なS/W、H/Wの入手

  1. 必要なハードウェア
    機器類はアマゾンでポチって入手する。合計13000円くらい。

    • ラズパイ4本体
      これがないと始まらない。
      本体+SDカード(プリインストール)をセット購入すると、準備の手間が省けておすすめ。
    • 本体ケース
      これは任意。ただ、個人的にはケースなしはあり得ない…と思う。
      基盤むき出しは怖いわ…
    • microHDMIとHDML変換アダプタ
      ラズパイ3は一般的(?)なHDMIポートがあったが、ラズパイ4はmicroHDMIポートしかない。
      そのため変換アダプタがないとディスプレイに表示ができない。
      microHDMIって主流になってくるんかな・・?あまり見かけないけど…
    • HDMIケーブル
      ssh設定するまでディスプレイが必要なので用意しておく。
    • microSDカード
      ラズパイ4のmicroSDは2TBまで認識可能。今回は64GBにした。
      SDカードの書き込み可能回数は500~1000回程度らしいので、寿命とお財布事情を考慮して決めればよい。
    • microsd usb カードリーダー
      USB接続でmicroSDの読み書きをするときに使用。
      プリインストールされたSDカードを購入している場合は不要。しかし、トラブル等でOS再インストールする場合に欲しくなるので持っておいたほうがよい。
  2. 必要なソフトウェア
    fat32formaterdd for Windowsは、Linuxでセットアップする場合は不要。Windowsでセットアップする場合は用意する。

    • raspbian
      ラズパイ用のOS。NOOBS(raspbianのインストーラ)とraspbianがあるが、raspbianを直で入れる方が早いためraspbianをダウンロードする。見出しのリンクは海外サイトのため、国内ミラーサイトから同じバージョンを探してダウンロードするとよい(さくさくダウンロードできる)。
      • 19/12/26時点の最新版
        2019-09-26-raspbian-buster.zip 2019-09-26 10:36 1.1G
    • fat32formater
      SDカードのフォーマット用ソフト。
      容量が32GB以下の場合は、Windows10標準機能でフォーマットできるかもしれない(未確認)。
      ライセンスはGPL。商用利用可。ソース公開なしにしたい場合もBSD+ライセンス料で対応している。著作権者はRidgecrop Consultants Ltd. 
      一応「気に入ったらdonateよろ!」って書いてあるが、ユーザとして使う分には気にしなくてよさげ。
    • dd for Windows
      ブロック単位でファイルをコピーするソフト。SDカードへのファイル書き込みに使用する。
      ライセンスは無料、無保証、業務利用可。著作権者はシリコンリナックス(株)

OS起動までの手順

usbカードリーダーにmicroSDを入れてPCにさす。
以下、Linuxでセットアップするときの手順。参考までにWindowsでのセットアップ方法もメモしておく。

Linxuでセットアップする場合

SDカードが/dev/sdgで認識されている場合を例にする。
下記コマンドでフォーマットする。

$ mkfs.ext4 /dev/sdg1

SDカードデバイスをアンマウント状態にして、下記コマンドでOS(raspbian)をSDカードに焼く。

$ sudo dd if=2019-09-26-raspbian-buster.img of=/dev/sdg bs=4M

書き込み終了後、アンマウントする

$ sudo umount /dev/sdg

ラズパイ本体にSDカードを刺して電源ON。デフォルトは自動ログインの設定になっているため、デスクトップが表示されれば成功。デフォルトのユーザ・パスワードは下記。
* 初期ユーザー名:pi
* 初期パスワード:raspberry

起動後、wifi設定、ホスト名、パスワード変更、ロケールなどの変更ウィンドウが出てくるため、最低限の設定はここで対話的に実行できる。

Windwosでセットアップする場合

fat32formaterを実行し、SDカードをFATでフォーマットする。fat32formaterは32GB以上でもFATフォーマット可能(らしい)。
※注意点:exFATではなくFATとすること

WindowsだとFAT(FAT32)でしかフォーマットできない様子。
ext4と違い、SDカードをWindowsから読めるというメリットはあるかも?

OSをSDカードに焼くときは、DD for Windowsを用いる。
ラズパイ本体にSDカードを刺して以降は、上述のLinuxの場合と同じ。

リモート作業の準備

  • 設定変更
    色々変更したい場合は下記コマンドを実行。

    $ sudo raspi-config
    

    ホスト名変更などの他、overclock設定とかもあるっぽいので、そのうち試してみたい。また、raspi-configのソースをみると、コマンドライン実行できるようなので、自動構成スクリプトみたいなものが作れそう。

  • sshの有効化
    左上のラズパイアイコンをクリックし、設定からsshを有効化する。
    ラズパイ3ではルート直下にsshファイルを作るとsshが有効化されたが、そちらは未確認。
    同じ方法で有効化される場合、下記コマンドを実行で有効化できる。

    $ touch /ssh
    
  • ホスト鍵の更新

    $ sudo rm -v /etc/ssh/ssh_host*
    $ sudo dpkg-reconfigure openssh-server
    
  • ファイアーウォールの導入
    インストール

    $ sudo apt install ufw
    

    有効化

    $ sudo ufw enable
    

    ssh用にポート22番を解放。特定のサブネットに属する接続だけ開放する。

    $ sudo ufw allow from 192.168.0.0/24 to any port 22
    

    確認

    $ sudo ufw status
    Status: active
    To                         Action      From
    --                         ------      ----
    22                         ALLOW       192.168.0.0/24
    
  • sshで接続可能か確認

    $ ssh pi@<ホスト名 or IPアドレス>
    

aptリポジトリを変更

デフォルトはraspbian.raspberrypi.orgとなっており、適当な場所にリダイレクトされる。海外サーバだと通信が遅いため、ラズパイのミラーリポジトリを参考にして国内サーバへ設定を変更する。
以下、JAIST(北陸先端科学技術大学院大学)サーバへの変更例

$ sudo sed -ie "s/raspbian.raspberrypi.org/ftp.jaist.ac.jp/g" /etc/apt/sources.list

ベースOSのアップデート

  1. 現在のバージョンを確認

    $ uname -a
    Linux pisrv 4.19.75-v7l+ #1270 SMP Tue Sep 24 18:51:41 BST 2019 armv7l GNU/Linux 
    
  2. いろいろアップグレード
    1時間くらいかかる。

    $ sudo apt update
    $ sudo apt upgrade
    $ sudo apt dist-upgrade
    $ sudo rpi-update  # ファームウェア
    
  3. 再起動してバージョンを確認

    $ reboot
    $ uname -a
    

自動アップデート設定

セキュリティアップデートの自動更新を行うための設定。
まず下記パッケージをインストール。

$ sudo apt install unattended-upgrades

/etc/apt/apt.conf.d/50unattended-upgradesを開き、Origin-Pattern以下のSecurityがコメントになっていないことを確認する。

Unattended-Upgrade::Origins-Pattern {
    // Codename based matching:
    // This will follow the migration of a release through different
    // archives (e.g. from testing to stable and later oldstable).
    // Software will be the latest available for the named release,
    // but the Debian release itself will not be automatically upgraded.
//      "origin=Debian,codename=${distro_codename}-updates";
//      "origin=Debian,codename=${distro_codename}-proposed-updates";
    "origin=Debian,codename=${distro_codename},label=Debian";
    "origin=Debian,codename=${distro_codename},label=Debian-Security";  # これ

以下コマンドで有効化する

$ sudo dpkg-reconfigure -plow unattended-upgrades

アップデートログは/var/log/unattended-upgrades/unattended-upgrades.log

sudoパスワード

デフォルトではsudo実行時にパスワードなしで実行できるようになっている。
/etc/sudoers.d/010_pi-nopasswdにNOPASSWDの設定がされている。ファイルごと消せばOK。

$ sudo rm /etc/sudoers.d/010_pi-nopasswd

参考サイト

2
Help us understand the problem. What is going on with this article?
Why not register and get more from Qiita?
  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
rootpia

Comments

No comments
Sign up for free and join this conversation.
Sign Up
If you already have a Qiita account Login
2
Help us understand the problem. What is going on with this article?