Upgrade to Pro — share decks privately, control downloads, hide ads and more …

ラズパイ奮闘記 その1

ラズパイ奮闘記 その1

小江戸らぐ 8/17発表資料

世良泰明

August 17, 2024
Tweet

More Decks by 世良泰明

Other Decks in Technology

Transcript

  1. 自己紹介 名前: 世良 泰明 (せら やすあき) 職業: ひよっこインフラエンジニア (4年目) 名古屋の某SIer所属

    -> 最近転職しました. 製造業系. k8sと毎日戯れてます 趣味: 囲碁, 散歩, etc… twitter: @y_sera15 自宅K8sクラスター
  2. 近況報告 - 転勤先(横浜)の住む場所決まりました - OpenSUSE Asia Summitのプロポーザル出しました → 何を血迷ったか, 英語+30minセッション

    プロポーザルのネタ 複数ラズパイに入れたOpenSUSE Leap Microの上で軽量kubernetesを動かす話(これから作る) 話したい事 - transactional-updateの仕組み, 使い方 - 軽量kubernetes(k3s)の導入, アップグレード方法
  3. 発端 ラズパイ4にOSインストールを試みたところ, 失敗. ブートローダーまでは動くが, Liveイメージ起動せず. 入れようとしたもの - RHEL9.4 - OpenSUSE

    Leap Micro 手始めにRHEL, そのあとOpenSUSEのつもりだったが, どちらで検証しても失敗. ブートローダでメニュー選択後の画面 RHEL OpenSUSE カーネル読み込み~initramfs読み込み周りで死んでるっぽい. 今回はRHELを中心に話を進めていく EFI stub: Booting Linux Kernel... EFI stub: Using DTB from configuration table EFI stub: Exiting boot services... Loading Kernel... Loading initrd...
  4. 今回の構成と手順 RHEL9.0をPi4に導入した記事を元に構成. - Raspberry Pi4 8GB(EEPROM更新済み) - MicroSD UEFI +

    USB Live Image 手順 1. MicroSDでUEFI起動 2. (メモリ3GB上限解放) 3. Live Imageの入ったUSBを指定しブート 4. Grub画面でメニュー選択 5. 以下の表示で止まる #記事だとここでは止まらない ラズパイ4でRHEL9でMicroShift(エッジ向けOpenshift)の構築, Qiita Install RHEL9 on Raspberry Pi4, QIoT project https://github.com/pftf/RPi4 EFI stub: Booting Linux Kernel... EFI stub: Using DTB from configuration table EFI stub: Exiting boot services...
  5. やったこと 1. RHEL Live Image on MicroSD 2. Live USBのみ

    3. Grubの起動オプション追加 4. Alma Linux raspberry PI用イメージとの比較 いずれも起動せず. 1, 2に関しては, ラズパイがブート用のメディアを見つけられない. (USB bootに関してはEMMROM側の設定でどうにかなるかもしれない) 3, 4は後述.
  6. やったこと 3. Grubの起動オプション追加 以下のissueを見つけたので, それを見つつトライ. いずれか対応 - CONFIG_EFI_DISABLE_PCI_DMA=y (カーネルコンフィグ) -

    efi=no_disable_early_pci_dma (カーネルコマンドラインパラメータ) 後者で対応するために, grubのパラメータを編集. 起動せず. https://github.com/pftf/RPi4/issues/168
  7. やったこと 4. Alma Linux raspberry PI用イメージとの比較 Alma LinuxをmicroSDにインストール入れて起動 -> ちゃんと動いた

    差異(Alma側の特徴) - microSD - /boot/配下 - EFIがない(MBRでブート) - DTB(Device Table binary)系のファイルがたくさん. - パーティション - ブート領域Fat32: /boot - Linux用領域: / RHELのLiveイメージ: - USB - /boot配下はEFIベース. DTB系ファイル無し - パーティション: 1つ. partition type iso9660 https://github.com/pftf/RPi4/issues/168
  8. 状況整理 一旦, 状況を整理する. 通常のMicroSDブートシーケンス Raspi4B+ Boot Sequenceの再整理とBoot LoaderのUART出力, Hatena Blog

    ← microSDのUEFIではここだけ担当 Almaではここから下を全て担当 Liveイメージではこのあたりの必要な実装が足 りていないから? 要りそうなもの - DTB系ファイル - start4.elf - config.txt - boot用パーティション
  9. 困っていること - ブートに本当に必要な要素が分からない - DTB - start4.elf - config.txt -

    boot用パーティション - これ以外に過不足ない...? コピーするだけでよい? - Live イメージに手を入れるにはどうしたら? - 一度マウントして編集 -> 再作成 ⇒ MBR用の領域(先頭xxMB)はどうやって指定する? - OS更新に影響ない? - カーネル周りがパッケージ管理されていて, 毎回手動管理が必要ならしんどい