User:Bugalo/Dell XPS 15 7590

The Dell XPS 15 7590 is the 2019 model of Dell's slim 15 inch laptop. It is fully functional with the latest Linux kernel versions.

Summary
This document will serve as a guide on how to install Gentoo on the Dell XPS 15 7590 with the following configuration:
 * Dual boot with Windows 10, in Handbook:AMD64/Installation/Disks with Handbook:AMD64/Installation/Disks mode, using GRUB2 as a boot loader.
 * ZFS on all non-Windows partitions, including root, with native transparent compression and encryption. Deduplication will not be configured.
 * GNOME with systemd profile.

Accessories
(Optional section. Describe any accessories that may be possible in this section. Anything from external plug-and-play LCD screens to computer docks.)

Dual boot with Windows 10
Dual booting with Windows 10 requires some special steps that need to be performed both within Windows and the laptop's BIOS. All the steps of this section need to be performed within Windows 10 unless stated otherwise.


 * 1) Update Windows and the laptop's  and firmware:
 * 2) * Open and update as needed.
 * 3) * Open and update the, firmware and controllers as needed.
 * 4) Create a recovery USB . This drive can be used to restore the laptop's factory settings in case of need.
 * 5) Turn off  and/or the  . It can be turned on again after install.
 * 6) Turn off UEFI_Dual_boot_with_Windows_7/8.
 * 7) Configure Windows to use  rather than System_time.
 * 8) Switch Windows 10 from RAID to AHCI operation, and disable  and  in the.
 * 9) * Open as administrator.
 * 10) * Run the command.
 * 11) * Restart the computer and enter the by pressing  during boot.
 * 12) * Under System Configuration, change the SATA operation mode from RAID to AHCI.
 * 13) * Under Secure Boot, disable secure boot.
 * 14) * Under POST Behaviour, change Fastboot to Thorough.
 * 15) * Under Security, Absolute, choose Permanently Disabled to remove the Absolute Persistence Module tracking backdoor.
 * 16) * Save changes and exit.
 * 17) * Boot Windows. It will start in Safe Mode.
 * 18) * Open as administrator.
 * 19) * Run the command.
 * 20) * Reboot.
 * 21) Reduce the size of the Windows install.
 * 22) * Disable Windows' hibernation . This will free a space in the hard drive as big as the computer's.
 * 23) * Enable NTFS compression in C:.
 * 24) * Run Compact OS.
 * 25) * Disable Virtual Memory.
 * 26) * Remove pre-installed bloatware.
 * 27) * Shrink the C: partition to leave space to.
 * 28) Remove unneeded partitions created during Windows 10 install, i.e. Wineretools, Image, Dellsupport. Anything needed from those partitions should be already in the recovery USB created above.
 * 29) * Removing Wineretools.
 * 30) * The partitions Image and Dellsupport can be deleted, their content should be already in the recovery USB. Their content might be copied, again, in the USB before deletion.
 * 31) * Microsoft Reserved Partition: there is a hidden partition of around 128mb. It will not appear in Windows' Disk Manager, but it will be shown by Gentoo's tools. Deleting this partition will render Windows 10 unbootable.

Preparing the Ubuntu Live Environment

 * 1) Create an Ubuntu bootable USB using, for example using UNetbootin.
 * 2) Plug the USB and boot the laptop.
 * 3) Access the One-time boot menu of the  by pressing.
 * 4) Choose the appropriate entry to boot from the live USB.
 * 5) In the  menu, choose Try Ubuntu without installing.
 * 6) Connect to the internet, through either a wireless or wired network with an USB-C to ethernet adapter.
 * 7) Upgrade Ubuntu to use the latest  modules availabe.
 * 8) Verify that  is loaded
 * 9) Create a folder for the Gentoo install.
 * 10) Install the text editor of your choice, e.g. Vim.

Partitioning
All the partitions of the system will use the Filesystem except the EFI_System_Partition, formatted in FAT, the aforementioned Microsoft Reserved Partition, and the Windows partition, formatted in NTFS. allows the use of whole disks, without partitioning, to install the different parts of the system. In this case, the whole disk would be a, and we would create different in it that would be conceptually similar to traditional partitions, but they don't need to have a fixed predetermined size. However, the presence of Windows on the drive requires partitioning the disk. Thus, a needs to be created in a partition, not in the whole disk. Furthermore, cannot currently reside in a  with advanced features activated, such as encryption. In order to satisfy both requirements of using as a  and having the system residing in  with native encryption, we need to create yet another  compatible with.


 * 1) Open.
 * 2) Create an unformatted partition, , in the unallocated space, named Gentoo-Boot, of around 1GB.
 * 3) Create an unformatted partition, , in the unallocated space, named Gentoo-Root, occupying the remaining space.
 * 4) Apply all operations and exit.
 * 5) Create a, with all 's unsupported features disabled, in.
 * 6) Create a, for the Gentoo system, in.

Firmware
(Optional section.)

Kernel
(Show what options are necessary in the kernel in order to get all device components functional for this hardware platform.)

Emerge
(Optional section. If the platform requires any user space packages or kernel patches, mention them here).

Configuration
(Explain any additional configuration or special customization for this hardware platform. Could be anything from BIOS settings to assigning proper media key functionality.)

Example 1
(Example: Do this in order to get these keys working.)

Troubleshooting
(Optional section.)

(Troubleshoot issues in this section. Separate issues by best describing the error with a new section name. Remove this section and subsections if no issues are known.)

Issue 1
When X happens, Y is how you fix it.

External resources

 * https://wiki.archlinux.org/index.php/Dell_XPS_15_7590
 * https://github.com/zfsonlinux/zfs/wiki/Debian-Buster-Root-on-ZFS
 * https://wiki.archlinux.org/index.php/ZFS#GRUB-compatible_pool_creation
 * https://www.funtoo.org/ZFS_as_Root_Filesystem
 * https://www.reddit.com/r/zfs/comments/bnvdco/zol_080_encryption_dont_encrypt_the_pool_root/
 * https://wiki.archlinux.org/index.php/ZFS
 * https://github.com/zfsonlinux/zfs/issues/8810
 * https://github.com/HankB/Linux_ZFS_Root/tree/master/Debian
 * https://wiki.archlinux.org/index.php/ZFS#Native_encryption