This shows you the differences between two versions of the page.
Both sides previous revision Previous revision Next revision | Previous revision | ||
dell_xps_15_9530 [2014/11/24 13:31] ben |
dell_xps_15_9530 [2021/08/27 07:40] (current) ben |
||
---|---|---|---|
Line 22: | Line 22: | ||
KDE defaults to letting the multimedia volume keys (Fn+F1/ | KDE defaults to letting the multimedia volume keys (Fn+F1/ | ||
+ | If there' | ||
==== Graphics ==== | ==== Graphics ==== | ||
Line 89: | Line 90: | ||
Just works. | Just works. | ||
+ | |||
+ | ===== Flashing BIOS ===== | ||
+ | |||
+ | Taken from [[https:// | ||
+ | |||
+ | * Download the latest freedos version | ||
+ | * Flash it to the USB stick with '' | ||
+ | * Mount and copy in the BIOS executable from [[https:// | ||
+ | * Reboot into freedos, select the '' | ||
+ | * It might also be necessary to disable Intel VTx, not confirmed; don't forget to re-enable after | ||
+ | |||
+ | ===== ZFS root ===== | ||
+ | |||
+ | * Prepare the partition table manually | ||
+ | - BIOS boot for grub/mbr, 1M | ||
+ | - ext2 for /boot, 1G | ||
+ | - vfat for /efi, 1G | ||
+ | - zfs partition | ||
+ | - ext4 temporary filesystem for / during install | ||
+ | * Install sabayon to the ext4 partition at the end, but don't auto reboot at the end | ||
+ | * Create the '' | ||
+ | * Create the '' | ||
+ | * Set '' | ||
+ | * Set the mountpoints for each filesystem: <code bash> | ||
+ | zfs set mountpoint=/ | ||
+ | zfs set mountpoint=/ | ||
+ | zfs set mountpoint=/ | ||
+ | </ | ||
+ | * Mount the filesystems to arbitrary locations with: <code bash> | ||
+ | mkdir / | ||
+ | mount -o zfsutil -t zfs rpool/root / | ||
+ | mount -o zfsutil -t zfs rpool/ | ||
+ | mount -o zfsutil -t zfs rpool/ | ||
+ | </ | ||
+ | * Rsync the contents into the ZFS root: <code bash> | ||
+ | mkdir / | ||
+ | mount /dev/sda5 / | ||
+ | rsync -a / | ||
+ | </ | ||
+ | * Prepare dracut for zfs root booting: <code text / | ||
+ | add_dracutmodules+=" | ||
+ | </ | ||
+ | * Chroot into the zfs root filesystem and rebuild the initramfs: <code bash> | ||
+ | dracut -f / | ||
+ | </ | ||
+ | * Remove the temporary partition | ||
+ | * Add a swap partition at the very end of the disk | ||
+ | * Extend the zfs partition to fill the remaining space | ||
+ | * Reboot and pray | ||
+ | |||
+ | Kernel package installations run '' | ||
+ | |||
+ | Grub 2.02-r3 ships a version of '' | ||
+ | |||
+ | |||
+ | ====== Troubleshooting ====== | ||
+ | |||
+ | ===== Failure to boot from ZFS root ===== | ||
+ | |||
+ | Errors on startup about system not having been booted with systemd. This is a problem with the dracut initrd. | ||
+ | |||
+ | Manual boot: | ||
+ | * Edit grub kernel commandline to add '' | ||
+ | * At the prompt, run: <code bash> | ||
+ | zpool import rpool | ||
+ | zfs load-key rpool/root | ||
+ | # Enter encryption passphrase | ||
+ | mount -t zfs -o zfsutil rpool/root /sysroot | ||
+ | mount -t zfs -o zfsutil rpool/ | ||
+ | mount -t zfs -o zfsutil rpool/ | ||
+ | mount -t zfs -o zfsutil rpool/ | ||
+ | exit | ||
+ | </ | ||
+ | * After boot, regenerate the initrd <code bash> | ||
+ | dracut -f / | ||
+ | </ | ||
+ | |||
+ | Known issues: | ||
+ | * Infinite loop of something complaining about system not having been booted with systemd, dbus error: Initramfs was built without systemd support, and needs rebuilding | ||
+ | * Error that '' | ||
+ | # This: | ||
+ | ask_for_password \ | ||
+ | --tries 5 \ | ||
+ | --prompt " | ||
+ | --cmd "zfs load-key ' | ||
+ | # Should be: | ||
+ | ask_for_password \ | ||
+ | --tries 5 \ | ||
+ | --prompt " | ||
+ | --cmd "zfs load-key ${ENCRYPTIONROOT}" | ||
+ | </ | ||
+ | |||
+ | ===== NetworkManager not authorized to control networking ===== | ||
+ | |||
+ | * Ensure interactive user is a member of the '' | ||
+ | * Ensure polkit permits netdev group to control networkmanager (changes take immediate effect): <code javascript / | ||
+ | polkit.addRule(function(action, | ||
+ | if (action.id.indexOf(" | ||
+ | return polkit.Result.YES; | ||
+ | } | ||
+ | }); | ||
+ | </ | ||
+ | |||
+ | |||
+ |