溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

網(wǎng)絡(luò)如何啟動一個Fedora Live CD

發(fā)布時間:2021-12-18 15:23:59 來源:億速云 閱讀:233 作者:小新 欄目:系統(tǒng)運維

這篇文章給大家分享的是有關(guān)網(wǎng)絡(luò)如何啟動一個Fedora Live CD的內(nèi)容。小編覺得挺實用的,因此分享給大家做個參考,一起跟隨小編過來看看吧。

網(wǎng)絡(luò)如何啟動一個Fedora Live CD

Live CD 對于很多任務(wù)是很有用的,例如:

  • 將操作系統(tǒng)安裝到一個硬盤驅(qū)動器

  • 修復一個啟動加載程序或執(zhí)行其它救援模式操作

  • 為 Web 瀏覽提供一個相適應的最小環(huán)境

  • …以及更多的東西。

作為使用 DVD 和 USB 驅(qū)動器來存儲你的 Live CD 鏡像是一個替代方案,你可以上傳它們到一個不太可能丟失或損壞的 iSCSI 服務(wù)器中。這個指南向你展示如何加載你的 Live CD 鏡像到一個 ISCSI 服務(wù)器上,并使用 iPXE 啟動加載程序來訪問它們。

下載一個 Live CD 鏡像

$ MY_RLSE=27$ MY_LIVE=$(wget -q -O - https://dl.fedoraproject.org/pub/archive/fedora/linux/releases/$MY_RLSE/Workstation/x86_64/iso | perl -ne '/(Fedora[^ ]*?-Live-[^ ]*?\.iso)(?{print $^N})/;')$ MY_NAME=fc$MY_RLSE $ wget -O $MY_NAME.iso https://dl.fedoraproject.org/pub/archive/fedora/linux/releases/$MY_RLSE/Workstation/x86_64/iso/$MY_LIVE

上面的命令下載 Fedora-Workstation-Live-x86_64-27-1.6.iso Fedora Live 鏡像,并保存為 fc27.iso。更改 MY_RLSE 的值來下載其它檔案版本?;蛘?,你可以瀏覽 https://getfedora.org/ 來下載最新的 Fedora live 鏡像。在 21 之前的版本使用不同的命名約定,必需在這里手動下載。如果你手動下載一個 Live CD 鏡像,設(shè)置 MY_NAME 變量為不帶有擴展名的文件的基本名稱。用此方法,下面部分中命令將引用正確的文件。

轉(zhuǎn)換 Live CD 鏡像

使用 livecd-iso-to-disk 工具來轉(zhuǎn)換 ISO 文件為一個磁盤鏡像,并添加 netroot 參數(shù)到嵌入的內(nèi)核命令行:

$ sudo dnf install -y livecd-tools$ MY_SIZE=$(du -ms $MY_NAME.iso | cut -f 1)$ dd if=/dev/zero of=$MY_NAME.img bs=1MiB count=0 seek=$(($MY_SIZE+512)) $ MY_SRVR=server-01.example.edu $ MY_RVRS=$(echo $MY_SRVR | tr '.' "\n" | tac | tr "\n" '.' | cut -b -${#MY_SRVR}) $ MY_LOOP=$(sudo losetup --show --nooverlap --find $MY_NAME.img) $ sudo livecd-iso-to-disk --format --extra-kernel-args netroot=iscsi:$MY_SRVR:::1:iqn.$MY_RVRS:$MY_NAME $MY_NAME.iso $MY_LOOP $ sudo losetup -d $MY_LOOP

上傳 Live 鏡像到你的服務(wù)器

在你的 ISCSI 服務(wù)器上創(chuàng)建一個目錄來存儲你的 live 鏡像,隨后上傳你修改的鏡像到其中。

對于 21 及更高發(fā)布版本:

$ MY_FLDR=/images $ scp $MY_NAME.img $MY_SRVR:$MY_FLDR/

對于 21 以前發(fā)布版本:

$ MY_FLDR=/images $ MY_LOOP=$(sudo losetup --show --nooverlap --find --partscan $MY_NAME.img) $ sudo tune2fs -O ^has_journal ${MY_LOOP}p1 $ sudo e2fsck ${MY_LOOP}p1 $ sudo dd status=none if=${MY_LOOP}p1 | ssh $MY_SRVR "dd of=$MY_FLDR/$MY_NAME.img" $ sudo losetup -d $MY_LOOP

定義 iSCSI 目標

在你的 iSCSI 服務(wù)器上運行下面的命令:

$ sudo -i # MY_NAME=fc27 # MY_FLDR=/images # MY_SRVR=`hostname` # MY_RVRS=$(echo $MY_SRVR | tr '.' "\n" | tac | tr "\n" '.' | cut -b -${#MY_SRVR}) # cat << END > /etc/tgt/conf.d/$MY_NAME.conf <target iqn.$MY_RVRS:$MY_NAME>    backing-store $MY_FLDR/$MY_NAME.img    readonly 1    allow-in-use yes </target> END # tgt-admin --update ALL

創(chuàng)建一個可啟動 USB 驅(qū)動器

iPXE 啟動加載程序有一個 sanboot 命令,你可以使用它來連接并啟動托管于你 ISCSI 服務(wù)器上運行的 live 鏡像。它可以以很多不同的格式編譯。最好的工作格式依賴于你正在運行的硬件。例如,下面的說明向你展示如何在一個 USB 驅(qū)動器上從 syslinux 中 鏈式加載 iPXE。

首先,下載 iPXE,并以它的 lkrn 格式構(gòu)建。這應該作為一個工作站上的普通用戶完成:

$ sudo dnf install -y git $ git clone http://git.ipxe.org/ipxe.git $HOME/ipxe $ sudo dnf groupinstall -y "C Development Tools and Libraries"$ cd $HOME/ipxe/src $ make clean $ make bin/ipxe.lkrn $ cp bin/ipxe.lkrn /tmp

接下來,準備一個帶有一個 MSDOS 分區(qū)表和一個 FAT32 文件系統(tǒng)的 USB 驅(qū)動器。下面的命令假設(shè)你已經(jīng)連接將要格式化的 USB 驅(qū)動器。注意:你要格式正確的驅(qū)動器!

$ sudo -i # dnf install -y parted util-linux dosfstools # echo; find /dev/disk/by-id ! -regex '.*-part.*' -name 'usb-*' -exec readlink -f {} \; | xargs -i bash -c "parted -s {} unit MiB print | perl -0 -ne '/^Model: ([^(]*).*\n.*?([0-9]*MiB)/i && print \"Found: {} = \$2 \$1\n\"'"; echo; read -e -i "$(find /dev/disk/by-id ! -regex '.*-part.*' -name 'usb-*' -exec readlink -f {} \; -quit)" -p "Drive to format: " MY_USB# umount $MY_USB? # wipefs -a $MY_USB # parted -s $MY_USB mklabel msdos mkpart primary fat32 1MiB 100% set 1 boot on # mkfs -t vfat -F 32 ${MY_USB}1

最后,在 USB 驅(qū)動器上安裝并配置 syslinux ,來鏈式加載 iPXE:

# dnf install -y syslinux-nonlinux # syslinux -i ${MY_USB}1 # dd if=/usr/share/syslinux/mbr.bin of=${MY_USB} # MY_MNT=$(mktemp -d) # mount ${MY_USB}1 $MY_MNT # MY_NAME=fc27 # MY_SRVR=server-01.example.edu # MY_RVRS=$(echo $MY_SRVR | tr '.' "\n" | tac | tr "\n" '.' | cut -b -${#MY_SRVR}) # cat << END > $MY_MNT/syslinux.cfgui menu.c32default $MY_NAMEtimeout 100menu title SYSLINUXlabel $MY_NAME    menu label ${MY_NAME^^}    kernel ipxe.lkrn    append dhcp && sanboot iscsi:$MY_SRVR:::1:iqn.$MY_RVRS:$MY_NAMEEND # cp /usr/share/syslinux/menu.c32 $MY_MNT # cp /usr/share/syslinux/libutil.c32 $MY_MNT # cp /tmp/ipxe.lkrn $MY_MNT # umount ${MY_USB}1

通過簡單地編輯 syslinux.cfg 文件,并添加附加的菜單項,你應該能夠使用這同一個 USB 驅(qū)動器來網(wǎng)絡(luò)啟動附加的 ISCSI 目標。

這僅是加載 IPXE 的一種方法。你可以直接在你的工作站上安裝 syslinux 。再一種選項是編譯 iPXE 為一個 EFI 可執(zhí)行文件,并直接放置它到你的 ESP 中。又一種選項是編譯 iPXE 為一個 PXE 加載器,并放置它到你的能夠被 DHCP 引用的 TFTP 服務(wù)器。最佳的選項依賴于的環(huán)境

最后說明

  • 如果你以 IPXE 的 EFI 格式編譯 IPXE ,你可能想添加 &ndash;filename \EFI\BOOT\grubx64.efi 參數(shù)到 sanboot 命令。

  • 能夠創(chuàng)建自定義 live 鏡像。更多信息參考創(chuàng)建和使用 live CD。

  • 可以添加 &ndash;overlay-size-mb&ndash;home-size-mb 參數(shù)到 livecd-iso-to-disk 命令來創(chuàng)建永久存儲的 live 鏡像。然而,如果你有多個并發(fā)用戶,你將需要設(shè)置你的 ISCSI 服務(wù)器來管理獨立的每個用戶的可寫覆蓋。這與 “如何構(gòu)建一個網(wǎng)絡(luò)啟動服務(wù)器,部分 4” 一文所示類似。

  • Live 鏡像在它們的內(nèi)核命令行中支持一個 persistenthome 選項(例如, persistenthome=LABEL=HOME)。與經(jīng)過 CHAP 身份驗證的 iSCSI 目標一起使用,對于中心控制主目錄,persistenthome 選項為 NFS 提供一個有趣的替代方案。

感謝各位的閱讀!關(guān)于“網(wǎng)絡(luò)如何啟動一個Fedora Live CD”這篇文章就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,讓大家可以學到更多知識,如果覺得文章不錯,可以把它分享出去讓更多的人看到吧!

向AI問一下細節(jié)

免責聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI