2.5K Views
August 19, 23
スライド概要
2023/8/19に開催されたDebian勉強会の発表資料
東京エリア・関西合同Debian勉強会 Live Buildを使った カスタムフレーバの作成 カナやん 2023/08/19
目次 1. はじめに 2. Live Build とは 3. Live Build の導入 4. Live Build によるビルドの流れ 5. カスタムの例 2
自己紹介 カナやん Twitter(現X): rkarsnk mastodon: [email protected] 主に利用しているOS macOS Debian 12 はじめて触ったLinuxはPlamo Linux 1.4(Linux/98 2.1) 本日のDebian勉強会では、Live Build を利用して、自分好みのカスタム フレーバを作成する方法について説明します 3
はじめに 開発コミュニティのおかげで,DebianやopenSUSE,Rocky Linux のように安定して利用できるdistroが入手できる こうしたdistroでは、決まった構成のデスクトップ環境が提供されている 定食も悪くないが、好きなものを組み合わせたデスクトップ環境が欲しい 使わないアプリは後で削除? 設定どうしよう? でゼロから? debootstrap 使ってカスタムフレーバの インストールイメージ作っちゃいなYo! Live Build 4
Live Build とは Live Build とは、Debian Live Team 1 が開発・メンテナンスしている Live Imageを作成するツール 何をしてくれるツールなのか debootstrapで取得したrootfsに GUI環境などのパッケージを導入し xorrisoでISO化する Debian 12からは、このツールを利用して、 GNOME/KDE/Xfce/MATEなどの公式ライブインストールイメージが 作成され配布されている 2 1 https://salsa.debian.org/live-team 2 https://cdimage.debian.org/debian-cd/12.1.0-live/amd64/ 5
Live Buildの導入 Debian 12 がインストールされたPCに,Live Buildをインストール $ sudo apt install live-build $ lb -u live-build - Utility to build live systems Usage: lb lb lb lb {clean|config|build} [-h|--help] [-u|--usage] [-v|--version] Try "lb --help" for more information. 6
Live Build によるビルドの流れ Live Build を利用したカスタムフレーバのビルド手順は以下 1. lb config でconfigディレクトリ作成(オプション指定必要) 2. configディレクトリに設定を追加する(カスタムはここでやる) 3. lb build でビルド(ビルドが成功するの祈るだけ) lb config 1 カスタム 2 3 config lb build 7
lb config $ mkdir live $ cd live $ lb config \ --architecture amd64 \ --distribution bookworm \ --mirror-chroot "http://deb.debian.org/debian" \ --archive-areas "main contrib non-free non-free-firmware" \ --bootappend-live "boot=live components debug=1" \ --image-name "Live-Image" $ ls -F auto/ config/ local/ 上の実行例では,amd64なBookwormをベースとしたライブイメージ を作成するためのconfigディレクトリを作成している 指定するオプションの詳細については, man lb_config を参照 8
configディレクトリ $ ls -F config/ apt/ common archives/ debian-installer/ binary hooks/ bootloaders/ includes/ bootstrap includes.binary/ chroot includes.bootstrap/ binary includes.chroot_after_packages/ includes.chroot_before_packages/ includes.installer/ includes.source/ package-lists/ packages/ packages.binary/ packages.chroot/ preseed/ rootfs/ source , bootstrap , chroot , common , source は生成された設定ファイル package-lists/ はインストールパッケージのリストを置く場所 includes.chroot_after_packages/ はパッケージが展開されたchroot環 境に上書きするファイルを置く場所 9
lb build lb buildは以下の5つの処理からなる lb bootstrap 基本となるDebianのrootファイルシステムを構築する(debootstrap) lb chroot package-lists/ 以下のパッケージリストを元にLiveOS システムを構築する lb installer (オプション) Debian Installerを利用する場合に実行される. lb binary Live Image (ISO)をビルドする(xorriso) lb source (オプション) 対応するソースイメージをビルドする. 10
カスタム例 SatariaOS 個人的に自分のために作っているカスタムフレーバ ビルド用のソースコードはGitHubにあります https://github.com/SatariaOS/build_iso 11
SatariaOSの仕様 ベースはDebian Bookworm WMはタイル型ウィンドウマネージャのi3wm 事前に好みの設定を~/.config/i3に追加する DMはLightDM インストーラはCalamares CalamaresはDebian公式LiveISOでも採用 calamares-settings-debian をベースにSatariaOS用のパッケージを作成済み 12
まとめ みなさんもLive Buildで自分だけのDebian環境を作ってみませんか? 13