Freebsd
從 ZFS 引導時的核心語法是什麼?
我正在嘗試
grub.cfg
完全從頭開始編寫一個,它將引導幾個 FreeBSD 系統中的一個從單個 ZFS 池中啟動,該池以一組名為, ,tank
的根文件系統命名。root1``root2``root3
當我查看官方 GRUB2 文件時,5.3 中有一個範例
menuentry "FreeBSD" { insmod zfs search --set=root --label freepool --hint hd0,msdos7 kfreebsd /freebsd@/boot/kernel/kernel kfreebsd_module_elf /freebsd@/boot/kernel/opensolaris.ko kfreebsd_module_elf /freebsd@/boot/kernel/zfs.ko kfreebsd_module /freebsd@/boot/zfs/zpool.cache type=/boot/zfs/zpool.cache set kFreeBSD.vfs.root.mountfrom=zfs:freepool/freebsd set kFreeBSD.hw.psm.synaptics_support=1 }
我認為這
freepool
很可能是我將替換為的 ZFS 池名稱tank
。我懷疑語法是x@y
引用由. 然後我會用. 可悲的是,語法沒有記錄,我不想只是嘗試交叉手指,而是理解並知道我在做什麼。任何人都可以闡明這一點嗎?y``x``search``/root1@/boot/kernel/kernel``x@y
沒錯,@ 之前的任何內容都是帶有 / 前綴的 ZFS 數據集名稱(又名文件系統名稱)。例如
/boot/kernel/kernel
,文件系統中的文件zroot/ROOT/freebsd-10
可以/zroot/ROOT/freebsd-10@/boot/kernel/kernel
在 GRUB 中引用。您也可以通過使用 GRUB 命令行來了解這一點(
c
如果您在 GRUB 菜單中,請按下)。GRUB 2 中的 ZFS 支持支持目錄列表,因此您可以使用ls
命令或 TAB 來探索 GRUB 2 中 ZFS 的這種內部結構。