Slide 1

Slide 1 text

ラズパイ奮闘記 その1 2024/08/17 小江戸らぐ 8月のオフな集まり(第265回) 世良泰明

Slide 2

Slide 2 text

自己紹介 名前: 世良 泰明 (せら やすあき) 職業: ひよっこインフラエンジニア (4年目) 名古屋の某SIer所属 -> 最近転職しました. 製造業系. k8sと毎日戯れてます 趣味: 囲碁, 散歩, etc… twitter: @y_sera15 自宅K8sクラスター

Slide 3

Slide 3 text

近況報告 - 転勤先(横浜)の住む場所決まりました - OpenSUSE Asia Summitのプロポーザル出しました → 何を血迷ったか, 英語+30minセッション プロポーザルのネタ 複数ラズパイに入れたOpenSUSE Leap Microの上で軽量kubernetesを動かす話(これから作る) 話したい事 - transactional-updateの仕組み, 使い方 - 軽量kubernetes(k3s)の導入, アップグレード方法

Slide 4

Slide 4 text

今日の話 OpenSUSE Asia Summitの発表ネタの準備...の初っ端でコケたので, そのお話.(未解決) 現状整理と相談を兼ねて発表.

Slide 5

Slide 5 text

発端 ラズパイ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...

Slide 6

Slide 6 text

今回の構成と手順 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...

Slide 7

Slide 7 text

やったこと 1. RHEL Live Image on MicroSD 2. Live USBのみ 3. Grubの起動オプション追加 4. Alma Linux raspberry PI用イメージとの比較 いずれも起動せず. 1, 2に関しては, ラズパイがブート用のメディアを見つけられない. (USB bootに関してはEMMROM側の設定でどうにかなるかもしれない) 3, 4は後述.

Slide 8

Slide 8 text

やったこと 3. Grubの起動オプション追加 以下のissueを見つけたので, それを見つつトライ. いずれか対応 - CONFIG_EFI_DISABLE_PCI_DMA=y (カーネルコンフィグ) - efi=no_disable_early_pci_dma (カーネルコマンドラインパラメータ) 後者で対応するために, grubのパラメータを編集. 起動せず. https://github.com/pftf/RPi4/issues/168

Slide 9

Slide 9 text

やったこと 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

Slide 10

Slide 10 text

状況整理 一旦, 状況を整理する. 通常のMicroSDブートシーケンス Raspi4B+ Boot Sequenceの再整理とBoot LoaderのUART出力, Hatena Blog ← microSDのUEFIではここだけ担当 Almaではここから下を全て担当 Liveイメージではこのあたりの必要な実装が足 りていないから? 要りそうなもの - DTB系ファイル - start4.elf - config.txt - boot用パーティション

Slide 11

Slide 11 text

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

Slide 12

Slide 12 text

今後の展望 1. 8月中にOpenSUSE MicroOSのbootまでこぎつけたい 2. 9月中にtransactional-update検証, k3s導入 3. 10月に英語化, 発表トレーニング なんだか炎上プロジェクトの予感...