LoginSignup
1
2

More than 1 year has passed since last update.

Raspberry Pi 4B に FreeBSD 13.0-RELEASE ARM64を入れて SSDからブート

Posted at

Raspberry Pi 4B で FreeBSD 13.0-RELEASE を USB接続した SSD にインストールしてみました
結構手間がかかります

1.準備
  インストールイメージファイルをSSDに書き込むパソコンまたは Raspberry Pi OS からもできます
  ラズパイで書き込む場合はラズパイOSのSDカードで立ち上げて、SSDを接続して書き込みます
  ラズパイのファームウェアを最新にしておきます
  コンセントから電源供給できるUSBハブ(ラズパイからSSDへ電源供給するとラズパイが電源容量不足になる場合があります)
  USB接続できるSSD
  ラズパイは4Gか8G、無線LANは使用できないのでLANケーブルを接続します

2.インストールイメージを書き込むツールは Raspberry Pi Imager を使用します
  https://www.raspberrypi.org/software/
  を参照してください

3.インストールイメージファイルのダウンロード
  https://download.freebsd.org/ftp/releases/arm64/aarch64/ISO-IMAGES/13.0/FreeBSD-13.0-RELEASE-arm64-aarch64-RPI.img.xz

4.イメージファイルの書き込み
  SSD をパソコンまたはラズパイに接続して Raspberry Pi Imager を起動します
Screenshot at 2021-08-03 19-38-23.png

  CHOOSE OS を選択します
  Operating System で一番下の Use custom を選択します
  ダウンロードのフォルダーへ移動し FreeBSD-13.0-RELEASE-arm64-aarch64-RPI.img.xz を選択します
  CHOOSE STRAGE を選択します
  接続したSSDが表示されていると思いますので選択してください
  WRITE を選択します
  確認のメッセージが表示されますのでYESを選択します
  Writing Verifying が終了すると Write Successful が表示されますので CONTINUE を選択します

  このルールを使うとラズパイ用イメージの書き込みには便利です

5.FreeBSDの起動
  いよいよ、FreeBSDが無事起動するか、という段階がきました
  SSDをUSBハブ経由でラズパイに接続し、SDカードがセットされていないことを確認し電源投入
  画面表示の最後のほうが
  FreeBSD/arm64 (generic) (ttyv0)
  login:
  と表示されていれば、とりあえずブート成功です
  マウスが接続されていばマウスの矢印も動くと思います
  Enterキーを入力するとlogin:が新たに表示されるとキーボードにも反応しています

6.Loginします
  仮想コンソールになっていてAltキーを押しながらF2キーを入力すると(Alt+F2)
  FreeBSD/arm64 (generic) (ttyv1)
  login:
  という表示 ttyv1 に変わっていると思います
  Alt+F1を入力すると ttyv0 に変わっていると思います
  ここでUSBキーボードを抜いたり、差したりするとシステムメッセージが表示されると思います
  ttyv0はシステムコンソールも兼ねているので、通常は使用しないで ttyv1~ttyv7で作業してください

  login:のところでrootと入力しEnterキーを入力します
  Password:のところでrootと入力しEnterキーを入力します
  正しく入力できると、いろいろ表示されて
  root@generic:~#が最後に表示されているとログイン成功です

7.いろいろ設定をしていきます
  とりあえず日本語キーボードの設定をします
  kbdcontrol -l jp
  kbdcまで入力してTabキーを入力するとkbdcontrolと表示されます
  タイムゾーンを日本時間(JST)に設定します
  タイムゾーンを設定するコマンドは tzsetup というのがあります
  tzsetup
  Yesが選択されているのでEnterキーを入力します
  下矢印キーで 4 Asia を選択してEnterキーを入力しましす
  下矢印キーで 18 Japan を選択してEnterキーを入力します
  ConfirnationでYesが選択してあるのでEnterキーを入力します
  現在の日時を設定します
  ntpdate ntp.nict.jp
  日時が正しく設定できたか確認します
  date

  Cpuクロックの確認
  sysctl -a | grep freq
  いろいろ表示されますが dev.cpu.0.freq: 600 となっていると cpu速度が600Mhzに設定されています

  だんだんややこしくなってきましたが、タイムゾーン以外は応急処置的な設定をしましたので
  設定ファイルに定義します
  /etc/rc.conf というファイルに以下の3行を追加します
  keymap="jp"
  ntpdate_enable="YES"
  powerd_enable="YES"

  疲れてきましたので、ここでシャットダウンして休憩しましよう
  shutdown -p now または poweroff でシャットダウンできます

8.FreeBSDの設定確認
  今までの設定が正しく行われたか確認してみましょう
  ラズパイの電源をいれます
  FreeBSDが起動できたらttyv1でroot/rootでログインします
  date
  で表示された日時を確認します
  @キーを入力して@が表示されたか確認します
  sysctl -a | grep freq
  で dev.cpu.0.freq: 1500 となっているか確認します

9.FreeBSDのアップデート
  13.0-RELEASEが公開されてから、多少アップデートされていますので、最新の状態へアップデートしてみます

  pkg update
  と入力するとメッセージが表示されますので y を入力してください
  パッケージ管理情報の取得

  pkg install git
  と入力するとメッセージが表示されますので y を入力してください
  いろいろメッセージが表示されますが git というアプリケーションがインストールされます

  git clone -b releng/13.0 --depth 1 https://git.freebsd.org/src.git /usr/src
  ソースコードの取得
  このコマンドは初めてソースコードを取得するときに使います

  ここまでが準備で、これからアップデートします
  freebsd-update fetch
  アップデートするファイル名が表示されています
  スペースキーを入力して最後まで表示されたら q を入力します
  freebsd-update install
  アップデートをインストールします
  reboot
  再起動します

  rootでログインすると 13.0-RELEASE-p3 になっていました

10.パッケージソフトのインストール
  パケージソフトは好みで自由にインストールしてください
  とりあえずGUI環境をインストールしてみます
  pkg install xorg mate firefox-esr ja-font-std
  メッセージが表示されるので y を入力します
  /etc/rc.conf に dbus_enable="YES" を追加します
  インストールはrootで行いますが、使用するのはfreebsdというユーザでやってみます
  普通は adduser でユーザを登録するのでしょう
  Alt+F? で使っていないttyに切り替えて freebsd/freebsd でログインします
  .xinitrc というファイル(多分、新規作成になると思います)に
  export LANG=ja_JP.UTF-8
  exec mate-session
  という2行を書き込みます

11.mateの起動
  startx
  でウィンドウシステムが起動されると思います
Screenshot at 2021-08-05 18-33-42.png
  解像度がおかしいですね
  システムー>設定ー>ハードウェアー>ディスプレイを選択すると
Screenshot at 2021-08-05 18-43-02.png
  解像度が592x448ですね
  閉じる を選択して システムー>freebsdのログアウト を選択して ロクアウト を選択します

12.解像度の調整
  Alt+F? で root のttyへ移動します
  cd /boot/msdos へ移動します
  config.txt というファイルで
  [pi4]
  hdmi_safe=1
  のところで hdmi_safe=1 をコメント化します
  先頭に # をつけます
  #hdmi_safe=1 このように変更できたら保存します
  
  reboot
  再起動します

  画面の文字が小さくなっていますね
  freebsd でログインして解像度を確認してみます
Screenshot at 2021-08-05 19-13-28.png
  1824x984ですね
  Alt+F? でログインできるttyへ移動し root でログインします
  /boot/msdos/config.txt に修正を加えます
  [pi4]
  #hdmi_safe=1
  disable_overscan=1  <ー 追加して保存します

  reboot
  再起動します

  freebsd でログインして解像度を確認してみます
Screenshot at 2021-08-05 20-03-18.png

  これで正しい解像度になりました

13.パスワードの変更
  root と freebsd のパスワードを変更します
  rootでログインします
  passwd
  New Password: 新たなパスワードを入力します
  Retype New Password: もう一度新たなパスワードを入力します

  freebsd のパスワードを変更するときは freebsd でログインして passwd で変更してもいいですが
  rooot で passwd freebsd と入力して変更することもできます

14.この先は
  あと、日本語入力とか環境構築についてはネット検索でいろいろ見つかると思います
  freebsd-update fetch
  freebsd-update install
  pkg update
  pkg upgrade
  で、たまには最新にしてください

  hirsute-preinstalled-desktop-arm64+raspi.img.xz のSSDインストールにtryしてみようと
  思いますので、ここらへんで失礼します

1
2
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
2