This shows you the differences between two versions of the page.
Both sides previous revision Previous revision Next revision | Previous revision Last revision Both sides next revision | ||
dell_xps_15_9530 [2014/11/24 02:09] ben |
dell_xps_15_9530 [2020/09/22 20:17] ben [ZFS root] |
||
---|---|---|---|
Line 2: | Line 2: | ||
===== Installing Sabayon ===== | ===== Installing Sabayon ===== | ||
- | | + | |
+ | | ||
* Be sure to install using ethernet, since there are no wireless drivers out of the box on 13.08. | * Be sure to install using ethernet, since there are no wireless drivers out of the box on 13.08. | ||
==== Wireless ==== | ==== Wireless ==== | ||
- | Install a kernel >= 3.11.6 and make sure //CONFIG_IWLMVM// is enabled. the //iwlwifi// module should be automatically loaded and wifi just works. | + | |
+ | Install a kernel >= 3.11.6 and make sure '' | ||
==== Audio ==== | ==== Audio ==== | ||
+ | |||
Mostly just works. | Mostly just works. | ||
- | There are two physical sound cards, both driven by the snd-hda-intel driver. The HDMI card is always detected first, and the analog (speakers and headphones) second. Reorder these to make the analog the default by editing /// | + | There are two physical sound cards, both driven by the '' |
- | < | + | < |
options snd-hda-intel index=1,0 | options snd-hda-intel index=1,0 | ||
</ | </ | ||
- | KDE defaults to letting the multimedia volume keys (Fn+F1/ | + | KDE defaults to letting the multimedia volume keys (Fn+F1/ |
+ | If there' | ||
==== Graphics ==== | ==== Graphics ==== | ||
- | After installing and upgrading to latest i915 driver, remove // | ||
- | Install bumblebee and enable the service to use optimus. Run programs using //optirun// to enable the discrete graphics card. | + | After installing and upgrading to latest i915 driver, remove '' |
+ | |||
+ | Install bumblebee and enable the service to use optimus. Run programs using '' | ||
Nice feature, the screen brightness can be turned all the way down to zero, which turns the screen and backlight off. | Nice feature, the screen brightness can be turned all the way down to zero, which turns the screen and backlight off. | ||
=== DPI === | === DPI === | ||
+ | |||
Because of the high resolution, text will be very small by default. Change the DPI size in KDE to make all KDE applications well-behaved (konsole, plasma). | Because of the high resolution, text will be very small by default. Change the DPI size in KDE to make all KDE applications well-behaved (konsole, plasma). | ||
Line 32: | Line 38: | ||
==== Bluetooth ==== | ==== Bluetooth ==== | ||
+ | |||
* Enable the bluetooth <code bash> | * Enable the bluetooth <code bash> | ||
systemctl enable bluetooth | systemctl enable bluetooth | ||
systemctl start bluetooth | systemctl start bluetooth | ||
</ | </ | ||
- | * Use //bluetoothctl// to enable the controller, scan and pair with devices, and connect <code bash> | + | * Use '' |
- | | + | # Start the shell |
bluetoothctl -a | bluetoothctl -a | ||
- | - Turn on the controller | + | # Turn on the controller |
power on | power on | ||
- | | + | agent on |
+ | default-agent | ||
+ | # Scan for devices | ||
scan on | scan on | ||
- | - List available devices | + | # List available devices |
devices | devices | ||
- | - Pair with a device | + | # Pair with a device |
pair $mac | pair $mac | ||
- | - Connect to the device | + | # Connect to the device |
connect $mac | connect $mac | ||
</ | </ | ||
- | This is currently broken in KDE 4.12 (bluetoothctl connect fails due to missing a2dp protocol, bluedevil-audio | + | The error message: <code text> |
+ | Nov 24 12:33:22 serenity.jellybean.sihnon.net dbus[1878]: [system] Rejected send message, 1 matched rules; type=" | ||
+ | Nov 24 12:33:22 serenity.jellybean.sihnon.net bluetoothd[10758]: | ||
+ | </ | ||
+ | <policy user=" | ||
+ | <allow own=" | ||
+ | <!-- Add this line below --> | ||
+ | <allow send_type=" | ||
+ | <allow send_destination=" | ||
+ | <allow send_interface=" | ||
+ | <allow send_interface=" | ||
+ | <allow send_interface=" | ||
+ | <allow send_interface=" | ||
+ | <allow send_interface=" | ||
+ | <allow send_interface=" | ||
+ | </ | ||
+ | </ | ||
+ | https:// | ||
+ | |||
+ | Set the preference for certain types of audio (e.g. '' | ||
==== Touch screen ==== | ==== Touch screen ==== | ||
+ | |||
Out of the box, single touch input works but no gestures. This means you can touch to click, and drag to select. No scrolling, or pinch-to-zoom. | Out of the box, single touch input works but no gestures. This means you can touch to click, and drag to select. No scrolling, or pinch-to-zoom. | ||
- | Install and run touchegg to get multitouch gestures. | + | Install and run '' |
==== USB ==== | ==== USB ==== | ||
+ | |||
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 '' | ||
+ | ==== Failure to boot ==== | ||
+ | |||
+ | 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}" | ||
+ | </ | ||
+ | |||
+ |