Movatterモバイル変換


[0]ホーム

URL:


あっきぃ日誌

ラズピッピブログのようなオタクブログのようななにか

Raspberry Pi Advent Calendar 2025 1日目: Raspberry Pi OSにcloud-initとNetplan.ioがやってきた

今年もAdvent Calendarの時期が来ました。Raspberry Pi AC 2025の1日目です。

adventar.org

今年で11回目になりました。うっかり惰性で作りましたが、今回は多忙で無理そうなので、完走はたぶん無理ですな。

今年Raspberry Piでやったこと、Picoで作ったもの、来年やりたいことなど、お気軽にご参加ください。

Raspberry Pi OSにcloud-initとNetplan.ioがやってきた

いきなり時事ネタを拾うだけの記事なんですけど、いいネタなので。先週Raspberry Pi OSTrixieにアップデートがあり、cloud-initとNetplan.ioが含まれるようになりました。

www.raspberrypi.com

cloud-init

cloud-initは、初回起動時のOSに対して初期設定を行うためのツールです。YAMLフォーマットの設定ファイルを用意してOSに渡すことで、ユーザー設定やネットワーク設定やコマンド実行などを行うことができます。各種Linuxクラウド環境などで幅広く使用されています。個人的にはUbuntuクラウドイメージをESXiとかProxmoxとかKVMにデプロイしたときに使っています。便利。

Raspberry Pi OSでは、これまでは独自のシェルスクリプトを/boot/firstrun.shに配置して、これを実行して初回の設定を実行していましたが、これがcloud-initで置き換えらたという感じです。

cloud-initの各設定ファイルは、/boot以下に配置することで設定が可能になります。配置されるのはこの3つのファイル。設定があるのはuser-dataとnetwork-configの2つですね。

Raspberry Pi Imagerを使用しているユーザーの場合は、同じく最近リリースされたバージョン2.0.0を使用すると、カスタム設定がcloud-initの設定ファイルとして/bootに書き出されるようになります。ゼロから自分で設定を用意するよりは、Imagerで設定を作らせて、設定ファイルだけ取り出しておいたのを、別の機会に流用するのが楽ちんかもしれません。

なお、cc_raspberry_piモジュールによってcloud-initに拡張が加えられているらしく、I2CとかSPIとかの設定もできます。ウソ……めっちゃ便利ですやん!

以下は実際にImagerが出力したuser-dataファイル。パッケージの導入が必要ならpackagesに足せばいいですし、rpiのinterfacesにi2cとかspiを書けばいきなりこれらを有効にできます。強い。ただ、何故か昔からlocaleの設定は入れてくらないのが謎ではあります。notoなら最低限入ってるのになあ。なんなら言語設定に応じてフォントも入れられるようになりますし(ネットに繋がっていればなんですけど)。

#cloud-confighostname: zuhosdmanage_etc_hosts:truepackages:-avahi-daemonapt:conf: |    Acquire{      Check-Date"false";};timezone: Asia/Tokyokeyboard:model: pc105layout:"jp"enable_ssh:trueusers:-name: akkiegroups: users,adm,dialout,audio,netdev,video,plugdev,cdrom,games,input,gpio,spi,i2c,render,sudoshell: /bin/bashlock_passwd:falsepasswd: (略)ssh_authorized_keys:-(略)sudo: ALL=(ALL) NOPASSWD:ALLrpi:interfaces:serial:true

network-configはこんな感じ。宿からやってて東横インSSIDなんですが、それはさておき。

network:version:2wifis:wlan0:dhcp4:trueregulatory-domain:"JP"access-points:"toyoko-innXXXX":password:"略"optional:true

network-configの中身はnetplanに展開されますが、NetworkManagerに食わされるっぽいので、ファイル名もそんな感じになっていました。

$ ls /etc/netplan/90-NM-3f029ea6-3e48-3383-8c9e-f18e2942a649.yaml

Netplan.io

Netplan.ioは、ネットワーク設定をYAMLで記述することで、OSのネットワークバックエンドに合わせて設定をレンダリングしてくれるツールです。Ubuntuユーザーであればすでに馴染み深いかと思います。

NetworkManagerに投入された設定とNetplanのYAMLが衝突しないように、いくつかパッチを作成して考慮しているようです。network-configの中身が90-NMナニナニになっていたのもそういう都合っぽいですが、詳細は追えておらず。

つまりどういうこと

独自のスクリプトから業界標準的なツールに移行したことで、豊富な設定例を探して記述することができるようになりました。カスタムも、シェルスクリプトからYAMLに変わることで、メンテナンスがしやすくなるかと思います。

ネットワーク設定も、nmcliのちょっと難しい設定がnetplan のYAMLで記述できるようになるので、結構ラクをできるようになると思っています。既存設定との衝突の部分だけ気をつけたら多分結構ラクをできるようになるはず。ただまあ、RPiで複雑なネットワークを構成することはあまりなくて、せいぜいIPの固定くらいだもんなあ、という気はしなくもないですが。

ブログ検索
プロフィール
id:Akkiesoftid:Akkiesoft

Ejectコマンドユーザー会とかRaspberry Pi最新動向ヲッチとかサーバーインフラとかミクとかコミックとか電車とかそんなかんじのアラフォーおじさんのブログ。

同人誌頒布情報

C107冬のやつ
「Raspberry Pi 5で学べる!Cockpitで作る仮想化&コンテナ基盤入門」
紙版はメロンブックスで予約受付中です

Raspberry Pi 5で学べる!Cockpitで作る仮想化&コンテナ基盤入門

C106夏のやつ
「あっきぃのラズピッピいじり2025.8」
紙版はメロンブックスで販売中です
電子版はBOOTH もしくはDLsite で販売中です

あっきぃのラズピッピいじり2025.8

既刊各種も頒布中です。
メロンブックス(紙版)
BOOTH(電子版)

Raspberry Pi PicoのGPIOを
それっぽくラズパイのGPIOに変換するボード
「uHAT Porter Pico」
スイッチサイエンスさんにて委託販売中!
使用例はこのへん!

uHAT Porter Pico

▼ラズパイでUSB SSDするならコレいいゾ▼

ラズパイ本体は正規リセーラーから買おうね
▼お仕事でProxmoxの本書きました。よろしくね▼

引用をストックしました

引用するにはまずログインしてください

引用をストックできませんでした。再度お試しください

限定公開記事のため引用できません。

読者です読者をやめる読者になる読者になる

[8]ページ先頭

©2009-2025 Movatter.jp