紅聯Linux門戶
Linux幫助

如何自制Fedora Live介質

發布時間:2014-08-01 15:52:13來源:linuxtoy.org作者:黑日白月

包含重大變化的 Fedora 21 延期到了 11 月份,意味著 Fedora 用戶群體將不得不堅守去年底發布的 Fedora 20 長達一年?墒,若是遇到新硬件,老的 Live 介質中的內核太早不支持,怎么辦?

自己動手唄!其實自己構建包含最新更新的 Fedora Live 介質是個很簡單的事情。


本文基于官方 Wiki:https://fedoraproject.org/wiki/How_to_create_and_use_a_Live_CD(亦有中文版),撿要點簡單敘述下。


安裝必要工具

pkcon install livecd-tools spin-kickstarts

livecd-tools 中包含了創建 LiveCD 以及將 LiveCD 制作成 USB 的工具,而 spin-kickstarts 中則包含了構建用的大量 KS 模板:https://git.fedorahosted.org/cgit/spin-kickstarts.git/tree/。

和安裝介質不同,Live 介質的構建思路是將指定的軟件包安裝到一個特定目錄,再將其目錄轉換成運行根目錄。于是這個過程使用和 Fedora 無人值守安裝一樣的 KS 文件進行定制。


準備工作

構建 LiveCD 就要用 livecd-creator,不過這個工具工作過程特殊,需要在開始前暫時禁用 SELinux。

su -c 'setenforce 0'

若是感興趣,可以仔細瀏覽下 KS 模板們:/usr/share/spin-kickstarts/里面包含了各種 Live 介質,從名字可以看出包含依賴關系,比較重要的幾個基礎類別 KS 有: fedora-live-desktop.ks、fedora-live-base.ks 和 fedora-repo.ks 。


開始構建

若想直入主題,構建包含最近更新的 LiveCD,那么進入想要存放生成 ISO 文件的目錄,執行以下命令:

su -c 'livecd-creator --verbose --config=/usr/share/spin-kickstarts/fedora-livecd-desktop.ks --fslabel=F20x8664-Latest --cache =/var/cache/live'

參數的用途可以從名字看出,無需多解釋。換個 cache 目錄后亦可以用普通用戶執行,

從輸出可以看到其先在 /tmp 臨時目錄創建多個偽 ext 分區并掛載,然后依據 KS 文件通過 yum 從鏡像抓取 RPM 包,之后安裝至偽分區,且會執行一部分腳本操作進行諸如清理 man 數據庫。F20 的 Desktop 鏡像大小在 1G 左右,所以具體用時取決于網絡速度。

接下來轉換偽分區至 squashfs 的過程比較費時,因為涉及壓縮,在本人 A10-5800K 的機子上,滿載五分鐘才完成,不愧是炎炎夏日中的保暖極品……


寫入 USB

耐心等待后,一個全新的 LiveCD ISO 就完成了。若是直接依據官方 KS 文件,那么無需擔憂,可以直接制成 LiveUSB 使用。

插入一個 FAT32 分區格式的 U 盤,umount 掉自動掛載的分區,執行以下命令即可

su -c 'livecd-iso-to-disk --reset-mbr F20x8664-Latest.iso /dev/sdb1'

上面的命令假設 U 盤上對應為 sdb1,請根據實際情況替換。


結語

其實,在 Linus 吐槽 Fedora 不發布更新版本安裝鏡像之后,Fedora 就開始提供 Live-Respins。Respins 沒有太固定的更新周期,基本上每月會有一次。所以若是等不及的話,還是參照本文中的方法自己構建吧。


由此入門,還可以嘗試融合 rpmfusion 的 ks 實現更多的訂制,留待諸位童鞋自行研究。

贵州体彩11选5查询号码