Debian/UbuntuのLive media作成 (bdebstrap版)

# **Debian/UbuntuのLive media作成 (bdebstrap版)**  
  
以下のLive mediaをbdebstrapを利用し作成する  
（サイズとファイル名は作成例）
  
|   ID   | Ver.  |   Suite  | Note      | GUI   | Size   | File name                      |  
| :----: | :---: | :------- | :-------- | :---: | :----: | :----------------------------- |  
| Debian |  11.0 | bullseye | oldstable | LXDE  | 1.8GiB | live-denian-11-bullseye.iso    |  
|        |  12.0 | bookworm | stable    |       | 2.0GiB | live-denian-12-bookworm.iso    |  
|        |  13.0 | trixie   | testing   |       | 2.0GiB | live-denian-13-trixie.iso      |  
|        |  xx.x | unstable |           |       | 2.0GiB | live-denian-xx-unstable.iso    |  
| Ubuntu | 22.04 | jammy    |           | GNOME | 2.0GiB | live-ubuntu-22.04-jammy.iso    |  
|        | 24.04 | noble    |           |       | 2.2GiB | live-ubuntu-24.04-noble.iso    |  
|        | 24.10 | oracular |           |       | 2.3GiB | live-ubuntu-24.10-oracular.iso |  
    
## システム構成  
  
### ソフトウェア  
  
| 使用目的          | 項目           | 詳細                             |  
| ----------------- | -------------- | -------------------------------- |  
| Host PC           | Windows        | Windows 10 Pro 22H2              |  
|                   | Virtual system | VMware Workstation 16 Pro        |  
| Guest PC (Server) | Linux          | Debian 12 (stable)               |  
  
### ハードウェア  
  
| 使用目的          | 項目           | 詳細                             |  
| ----------------- | -------------- | -------------------------------- |  
| Host PC           | Processor      | Intel Core i7-6700 CPU @ 3.40GHz |  
|                   | Memory         | 32GiB                            |  
|                   | Storage        |                                  |  
|                   | Network        |                                  |  
| Guest PC (Server) | Processor      | 1 processor / 2 cores (i7-6700)  |  
|                   | Memory         | 4GiB                             |  
|                   | Storage        | NVMe 500 GiB / SATA -            |  
|                   | Network        | NIC1 e1000e / NIC2 -             |  
  
## Live mediaブートオプション  
  
::: note info
ログインユーザー名・パスワード、日本語環境等を設定  
:::
  
::: note warn
設定できるパラメーターは環境依存
:::
  
| Boot option       | Parameter              | Default                    |  
| :---------------- | :--------------------- | :------------------------- |  
| overlay-size=     |                        | 90%                        |  
| hooks=            |                        | medium                     |  
| xorg-resolution=  | LIVE_XORG_RESOLUTION   | 1680x1050                  |  
| utc=              | LIVE_UTC               | yes                        |  
| locales=          | LIVE_LOCALES           | ja_JP.UTF-8                |  
| timezone=         | LIVE_TIMEZONE          | Asia/Tokyo                 |  
| key_model=        | LIVE_KEYBOARD_MODEL    | pc105                      |  
| key_layouts=      | LIVE_KEYBOARD_LAYOUTS  | jp                         |  
| key_variants=     | LIVE_KEYBOARD_VARIANTS | OADG109A                   |  
| key_options=      | LIVE_KEYBOARD_OPTIONS  | (empty)                    |  
| hostname=         | LIVE_HOSTNAME          | live-debian or live-ubuntu |  
| username=         | LIVE_USERNAME          | user                       |  
| password=         | LIVE_PASSWORD          | live                       |  
| emptypwd          | LIVE_PASSWORD=""       | (use default password)     |  
| debug or debugout | LIVE_DEBUGOUT="true"   | (empty)                    |  
  
## 作成用スクリプトファイル  
  
* [作成用スクリプト](https://github.com/office-itou/Linux/blob/master/shell-script/mk_live_media.sh)  
  
### 実行方法
  
``` bash: 
sudo ./mk_live_media.sh [ options ]
create a full suite
  -a | --all
choose any suite
  bullseye | bookworm | trixie | unstable | jammy | noble | oracular
```
  
::: note warn
1. **事前に以下をshare/confに展開する事**  
[conf](https://github.com/office-itou/Linux/tree/master/conf)  
2. **事前に以下をshare/keysに展開する事**（2024/7/18現在）  
[debian-archive-keyring_2023.4_all.deb](http://ftp.debian.org/debian/pool/main/d/debian-archive-keyring/debian-archive-keyring_2023.4_all.deb)  
[ubuntu-keyring_2023.11.28.1_all.deb](http://archive.ubuntu.com/ubuntu/pool/main/u/ubuntu-keyring/ubuntu-keyring_2023.11.28.1_all.deb)  
[ubuntu-oem-keyring_2023.11.28.1_all.deb](http://archive.ubuntu.com/ubuntu/pool/main/u/ubuntu-keyring/ubuntu-oem-keyring_2023.11.28.1_all.deb)  
  
* dpkg -xで適当なディレクトリーに展開しusr/share/keyringsの中身をコピー  
* ubuntuではNO_PUBKEYエラーが発生（ググると回避策は有るが非推奨）  
* 設定ファイル(YAML)のkeyrings部をコメント化や各自の環境に合わせ変更  
:::
  
### 作成コマンド部抜粋  
  
``` bash: mk_live_media.sh
bdebstrap \
    --config "設定ファイル" \
    --suite "bullseye or bookworm or trixie or unstable or jammy or noble or oracular" \
    --name "出力先ディレクトリー" \
    --output-base-dir "出力先の親ディレクトリー" \
    --target "squashfsファイル名"
```
  
``` bash: mk_live_media.sh
xorriso -as mkisofs                                 \
    -verbose                                        \
    -iso-level 3                                    \
    -full-iso9660-filenames                         \
    -volid "ボリューム名"                            \
    -eltorito-boot isolinux/isolinux.bin            \
    -eltorito-catalog isolinux/boot.cat             \
    -no-emul-boot                                   \
    -boot-load-size 4                               \
    -boot-info-table                                \
    -isohybrid-mbr /usr/lib/ISOLINUX/isohdpfx.bin   \
    -eltorito-alt-boot                              \
    -e boot/grub/efi.img                            \
    -no-emul-boot                                   \
    -isohybrid-gpt-basdat                           \
    -output "ISOファイル名"                          \
    "対象ディレクトリー"
```
  
## フック用スクリプトファイル  
  
**Live media起動中に各種設定処理を追加するファイル群**  
  
* [パラメーター定義](https://github.com/office-itou/Linux/blob/master/conf/script/live_0000-user-conf-param.conf)  
* [デバッグ用](https://github.com/office-itou/Linux/blob/master/conf/script/live_9999-user-conf-debug.sh)  
* [セットアップ用](https://github.com/office-itou/Linux/blob/master/conf/script/live_9999-user-conf-setup.sh)  
  
## 設定ファイル  
  
**作成作業用の設定ファイル群**  
  
* [live_debian.yaml](https://github.com/office-itou/Linux/blob/master/conf/_template/live_debian.yaml)  
* [live_ubuntu.yaml](https://github.com/office-itou/Linux/blob/master/conf/_template/live_ubuntu.yaml)  
  
## 備考  
  
### [サポート状態](https://github.com/office-itou/Linux/blob/master/os_version_history.md)  
  
### [VMwareでLinuxが音割れした時の確認](https://qiita.com/office-itou/items/0ab9418c55d4124b53c9)