A diferencia del valor predeterminado de bsdinstall para ZFS, no establece puntos de montaje explícitos para conjuntos de datos, sino que se basa en la herencia.
Este conjunto de instrucciones configura partición freebsd-boot, una particion ESP para la instalacion UEFI, intercambio cifrado con GELI y un grupo raíz.
Iniciar el instalador de FreeBSD
Elegir shell para el particionado manual
Limpiar disco - Esta es una operación destructiva
# gpart destroy -F ada0
ada0 destroyed
Configurar nueva tabla de partición GPT.
Antes de poder crear particiones de disco, se debe marcar el disco con el tipo de esquema de partición que utilizará, gpart create con la marca -s y el esquema, como gpt o mbr. Aquí, el disco usa el esquema GPT
# gpart create -s gpt ada0
ada0 created
Añadir particiones con etiquetas (label -l) para acceder a ellas por su nombre.
Crear partición boot para arranque Legacy (aunque no será utilizada). No puede ser mayor de 545k.
# gpart add -t freebsd-boot -s 512k -l boot0 ada0
ada0p1 added
UEFI ESP arranque UEFI.
# gpart add -t efi -s 200M -l efi0 ada0
ada0p2 added
ESP debe ser vfat/fat32:
# newfs_msdos -F 32 -c 1 /dev/ada0p2
/dev/gpt/efi0: 2003 sectors in 2003 FAT12 clusters (512 bytes/cluster)
BytesPerSec=512 SecPerClust=1 ResSectors=1 FATs=2 RootDirEnts=512 Sectors=2048 \
Media=0xf0 FATsecs=6 SecPerTrack=63 Heads=255 HiddenSecs=0
Partición swap
# gpart add -t freebsd-swap -l swap0 -a 1m -s 2048m ada0
Resto del disco
# gpart add -t freebsd-zfs -l zroot0 -a 1m ada0
Crear el root pool
.# zpool create -R /mnt -o cachefile=/tmp/zpool.cache -O mountpoint=/ \
-O atime=off -O canmount=off -O compression=on \
zroot gpt/zroot0
# zfs create -o canmount=off -o mountpoint=none zroot/ROOT
# zfs create -o mountpoint=/ zroot/ROOT/default
Definir el conjunto de datos de arranque predeterminado para este zpool
# zpool set bootfs=zroot/ROOT/default zroot
Crear el resto de los sistemas de archivos
# zfs create -o canmount=off zroot/usr
# zfs create zroot/usr/home
# zfs create zroot/usr/local
# zfs create zroot/usr/obj
# zfs create zroot/usr/src
# zfs create zroot/usr/ports
# zfs create -o canmount=off zroot/var
# zfs create zroot/var/jail
# zfs create zroot/var/log
# zfs create zroot/var/tmp
# zfs create zroot/tmp
# zfs set setuid=off zroot/tmp
# zfs set setuid=off zroot/var
# zfs set exec=off zroot/var
# zfs set setuid=off zroot/usr/src
# zfs set exec=off zroot/usr/src
# zfs set setuid=off zroot/usr/ports
# zfs set exec=on zroot/var/tmp
Copiar el caché de zpool
# mkdir -p /mnt/boot/zfs
# cp /tmp/zpool.cache /mnt/boot/zfs
No olvide elegir la opción shell para terminar la configuración al final de la instalación.
# exit
Elegir
Install
Keymap Selection
Set Hostname
Distribution Select
Partitioning
En este punto elegir la opción:
open a shell and partition by hand
# exit
Fetching Distribution
Comprobing checksum
Archive Extraction
New Password
Retype New Password
Network Configuration
Would you like to configure
IPv6..? No
Resolver Configuration
Select local or UTC (Greenwich Mean Time) clock
System Configuration
System Hardening
Add User Accounts (Yes)
Final Configuration
Exit (Apply configuration and exit installer) OK
Manual Configuration Yes
Elegir Yes para seguir con la configuración
# cat >> /boot/loader.conf<<EOF
zfs_load="YES"
zpool_cache_load="YES"
zpool_cache_name="/boot/zfs/zpool.cache"
zpool_cache_type="/boot/zfs/zpool.cache"
vfs.root.mountfrom="zfs:zroot/ROOT/default"
EOF
# cat >> /etc/rc.conf<<EOF
zfs_enable="YES"
zfsd_enable="YES"
EOF
# cat >> /etc/fstab<<EOF
/dev/gpt/efi0 /boot/efi0 msdosfs rw,late 0 0
/dev/swap.eli none swap sw 0 0
EOF
# mount -t devfs devfs /dev
# rm /dev/null
Crear punto de montaje y montar ESP
# mkdir /boot/efi0
# mount -t msdosfs /dev/gpt/efi0 /boot/efi0
UEFI con nomenclatura de reserva:
mkdir -p /boot/efi0/efi/boot
cp /boot/loader.efi /boot/efi0/efi/boot/bootx64.efi
Llegados a este punto debería estar listo.
# exit
# Reboot
# zfs create zroot/usr/home/carlos
Enlace simbólico y permisos.
# ln -s /usr/home /home
# chmod 1777 /var/tmp
# chmod 1777 /tmp
Usar git para obtener el código fuente de FreeBSD 13.0
(Si necesita construir módulos del kernel)
# pkg install git
# git clone -b releng/13.0 https://git.freebsd.org/src.git /usr/src
Clonar colección de puertos con git
# git clone https://git.freebsd.org/ports.git /usr/ports
Crear Directorios de usuario
# pkg install xdg-user-dirs
$ xdg-user-dirs-update
# cat /etc/fstab
/dev/gpt/efi0 /boot/efi0 msdosfs rw,late 2 2
/dev/swap.eli none swap sw 0 0
# cat /boot/loader.conf
security.bsd.allow_destructive_dtrace=0
cryptodev_load="YES"
zfs_load="YES"
zpool_cache_load="YES"
zpool_cache_name="/boot/zfs/zpool.cache"
zpool_cache_type="/boot/zfs/zpool.cache"
vfs.root.mountfrom="zfs:zroot/ROOT/default"
# cat /etc/rc.conf
clear_tmp_enable="YES"
syslogd_flags="-ss"
sendmail_enable="NONE"
hostname="bsdzfs"
ifconfig_ue0="DHCP"
sshd_enable="YES"
ntpd_enable="YES"
# Set dumpdev to "AUTO" to enable crash dumps, "NO" to disable
dumpdev="NO"
zfs_enable="YES"
zfsd_enable="YES"
# gpart show
=> 40 976773088 ada0 GPT (466G)
40 1088 1 freebsd-boot (544K)
1128 2048 2 efi (1.0M)
3176 920 - free - (460K)
4096 4194304 3 freebsd-swap (2.0G)
4198400 972574720 4 freebsd-zfs (464G)
976773120 8 - free - (4.0K)
# zfs list
NAME USED AVAIL REFER MOUNTPOINT
zroot 1.83G 444G 96K /
zroot/ROOT 1011M 444G 96K none
zroot/ROOT/default 1011M 444G 1011M /
zroot/tmp 104K 444G 104K /tmp
zroot/usr 863M 444G 96K /usr
zroot/usr/home 96K 444G 96K /usr/home
zroot/usr/local 191M 444G 191M /usr/local
zroot/usr/obj 96K 444G 96K /usr/obj
zroot/usr/ports 192K 444G 96K /usr/ports
zroot/usr/ports/distfiles 96K 444G 96K /usr/ports/distfiles
zroot/usr/src 672M 444G 672M /usr/src
zroot/var 432K 444G 96K /var
zroot/var/jail 96K 444G 96K /var/jail
zroot/var/log 144K 444G 144K /var/log
zroot/var/tmp 96K 444G 96K /var/tmp
https://wiki.freebsd.org/MasonLoringBliss/ZFSandGELIbyHAND
FreeBSD es genial!.
No hay comentarios:
Publicar un comentario