如何透過「live-build」製作「自訂的 Debian Live ISO」 [論壇 - Ubuntu 非官方發行版討論]


正在瀏覽:   1 名遊客


 到底部   前一個主題   下一個主題  [無發表權] 請登錄或者註冊



如何透過「live-build」製作「自訂的 Debian Live ISO」
會員五級
註冊日期:
2012/4/22 10:50
所屬群組:
已註冊使用者
等級: 37
HP : 0 / 905
MP : 679 / 30267
EXP: 23
離線
# 如何透過「live-build」製作「自訂的 Debian Live ISO」

================================================================================

## 前提

最近「Debian 12 Bookworm」發行了。

我有安裝「Debian 12 Xfce」在我的其中一個「USB隨身碟」。

延續我在另一個「討論串 - 回覆: 製作ubuntu安裝ISO給其他電腦安裝」提到的,

之前我只有透過「Archiso」,製作過「自訂的 Arch Linix Live ISO」的經驗。
目前是透過「Ezarcher」提供的樣板,來「衍生修改實作」。

剛好趁安裝好「Debian 12 Bookworm」這個契機,

來學習透過「live-build」,製作「自訂的 Debian Live ISO」。

我是參考「EznixOS」的作法,

我是參考「eznix12X」的原型,

可以參考他的「bldeznix12X」這個腳本,

大致上了解他的作法後,

我就另外寫了一個架構,這個架構的「原型」一樣有放在「GitHub」上

主要架構上的修改,只是一些設定放置的資料夾路徑不同而已,

我調整成自己慣用的放法,可以參考我寫的「steps.sh」這個腳本。

產生的操作步驟很簡單,

只要在「Debian 12 Bookworm」的環境,

先執行下面的指令安裝「live-build」。


sudo apt-get install live-build



接著執行下面指令


make build



或是執行下面指令


./build.sh



就會執行產生「自製的 Debian Live ISO」。

================================================================================

## 架構

若要修改,大致上,修改兩個地方

* asset/overlay
* asset/package


關於「asset/overlay」,主要會對應到「live system」的「/」這個資料夾。

關於「asset/package」,裡面放置的文字檔,是紀錄你想要安裝「Debian Packge」。


關於「/etc/skel」這個特別的資料夾,

當新建帳號時,會將此資料夾裡面的檔案,覆蓋到「該帳號的家目錄」底下


================================================================================

## 衍生

根據上面我改過後的架構原型,我就先衍生了下面幾個主要的「桌面環境(Desktop Environment)」的「iso-build-profile」。

* xfce
* mate
* cinnamon
* kde-plasma
* gnome-shell

除了有我個人慣用的「英文介面」,也有「中文介面」。


我只是針對各個「桌面環境」做簡單的設定調整,

大致上的調整有

* 按鍵綁定
* 佈景主題
* 中文字型
* 中文輸入法
* dconf 和 gsettings 的設定
* 我個人慣用工具的設定
* 安裝程式

================================================================================

## 按鍵綁定

針對每個「桌面環境」,我都有設定我慣用的「按鍵綁定」,大部分都是一致的。

可以參考我在另一篇「討論串 - 關於「桌面環境」便利操作的按鍵組合設定」。

================================================================================

## 佈景主題

關於「佈景主題」,我個人慣用的「Gruvbox」,

我是因為偷懶,所以就先採用目前「Debian」有提供的「佈景主題 Package」。

而上面提到的範例「xfce」,「mate」,「cinnamon」,「gnome-shell」

這些「佈景主題」是採用「Arc-Dark」,並且「ICON」是搭配「Papirus-Dark」。

而「kde-plasma」的「佈景主題」則是採用「Breeze-Dark」。


另外「xfce」,「mate」,「cinnamon」,「gnome-shell」這幾個桌面環境

我都有設定「qt style 根據 gtk style」。

================================================================================

## 中文字型

關於「中文字型」,我有安裝「fonts-noto-cjk」。

另外,我也有設定「字型查找順序」。

關於這部份的概念,可以參考我在另一個「討論串 - 回覆: 關於steam遊戲--Portal 2 無法顯示中文字型
和另一個「討論串 - 如何設定「sans-serif」,「serif」,「monospace」的字型查找順序」,我所提到的概念。

================================================================================

## 中文輸入法

關於「輸入法框架」,我是採用「fcitx5

而我慣用的「中文輸入法」是「新酷音輸入法(chewing)」,

所以我是安裝「fcitx5-chewing」。

================================================================================

## dconf 和 gsettings 的設定

關於「dconf 的設定」,我有設定一個檔案「/etc/dconf/profile/user」。


另外我有寫了兩個「hook」,針對「dconf」和「gsettings」的設定。

分別是

* 1100-update-dconf-db.hook.chroot
* 1110-update-glib-schemas.hook.chroot


關於「dconf」和「gsettings」這部份的議題,我之前有在另一個「討論串 - 回覆: 【分享】適合 Ubuntu MATE 22.04 的面板布局方案」,有做詳細的說明。

關於「dconf」和「gsettings」的設定,比較會使用到的是「gnome-shell」,「mate」,「cinnamon」這幾個「桌面環境」

一般只要使用到「gsettings」的機制就行了,放置的資料夾路徑在「/usr/share/glib-2.0/schemas」。


若有使用到「Gsettings / Relocatable schemas」,

則會用到「dconf」的設定,

例如

* gnome-terminal
* gnome-shell-keybind-custom
* mate-terminal
* mate-keybind-custom
* cinnamon-keybind-custom


注意:

要注意的是放在「/usr/share/glib-2.0/schemas」這裡的「gschema.override」裡面的「Ini Session Name」是用「.」來隔開。

舉例:


[org.gnome.desktop.background]



然而放在「/etc/dconf/db/」這裡的「dconf db schema」裡面的「Ini Session Name」則是用「/」來隔開。

舉例:


[org/gnome/desktop/background]



================================================================================

## 我個人慣用工具的設定

我有針對我個人常用的工具,做一些設定,

這些都可以在「asset/overlay/etc/skel/.config」底下找到。

================================================================================

## 安裝程式


關於「Debian 12 安裝程式」是採用「calamares」,

而「EznixOS」有自訂的「calamares」設定檔,

在我寫的架構,我則是複製「calamares-settings-debian」裡面的設定檔來做簡單修改。

================================================================================

## 小結

以上只是簡易的介紹,我還沒有力氣寫詳細說明。

先紀錄連結,提供對這個議題有興趣的人一個「探索的起點」,

上面紀錄的範例,是我個人在使用的,所以我會陸續的修改,

關於「live-build」的機制,我也還沒研究透徹,

目前只有針對我有使用到的,去做修改。

我曉得每個人慣用設定都不一樣,

所以建議可以參考上面紀錄的範例,複製一份當作樣板,自己去操作修改,改成您自己要的設定

或是也可以像我一樣,了解了大致的作法,您也可以自行撰寫成自己的架構,自己慣用的檔案目錄放置路徑。

除了可以參考「EznixOS」的作法,

另外也可以參考「Spiral Linux」。

更進階一點,也可以參考「Kali Linux」,

也都是透過「live-build」來製作的。

================================================================================

以上提供參考

報告完畢

7/26 17:35:46
應用擴展 工具箱


 [無發表權] 請登錄或者註冊


可以查看帖子.
不可發帖.
不可回覆.
不可編輯自己的帖子.
不可刪除自己的帖子.
不可發起投票調查.
不可在投票調查中投票.
不可上傳附件.
不可不經審核直接發帖.