How do I make the SSD accessible to the Ubuntu installer on a Samsung Galaxy Book S (Intel Lakefield)?

Goal: Install Ubuntu 20.04 LTS on a Samsung Galaxy Book S (Intel Lakefield).

Status: I can boot from the USB drive with the Ubuntu ISO image.

Problem: The installer complains that there is not enough space on the drive to install. I have created a 128 GB partition though that is completely invisible to the installer. There is no opportunity to select a drive. It seems to only recognize the USB drive it's booted from.

(The keyboard and trackpad do not work and as suggested in the answer to this question, Samsung Galaxy Book S (Intel) Ubuntu 20.04 installation keyboard/touchpad do not work connecting a USB keyboard/mouse does work.)

What I've Done So Far:

  1. I've looked around the BIOS. I didn't see any settings related to the SSD. Disabling secure boot in the BIOS was necessary to boot from the USB drive.
  2. I've created a partition by shrinking the partition where Windows is installed by 128 GB. This creates 128 GB of unallocated space that I have been unable to get the Ubuntu installer to "see".
  3. I've Googled around. Most of what I come across is about the Qualcomm version of the Galaxy Book S. Just for emphasis, this is the Intel version.

even though I don't have a device wit eUFS-storage I was curious about this, so I did some research - and perhaps this can be a starting point.

In the following I am assuming, that windows is installed in a "classical" uefi style.

¡At first make sure you have disabled the fast-boot function in windows - this almost always causes trouble with dual-boot installations! There are plenty of howtos on the web - just ask your preferred web-search.

  • As your install-medium boots select the 'try ubuntu/live-session' option.

  • after it booted to the live-session open a terminal and load the ufshcd-* kernel modules via for mod in ufshcd-core ufshcd-dwc ufshcd-pci ufshcd-pltfrm; do sudo modprobe $mod; done

  • check if the storage device is recognized, e.g via sudo lsblk -o NAME,FSTYPE,SIZE,MOUNTPOINT,LABEL in the terminal. If the output shows anything other than your install-medium and loop devices, dance three times around the desk and let's get back to work ;)

  • start installing ubuntu via the "button" on the desktop. I guess that a normal "install besides windows" should work - let's see.

Assuming the install process was successfull do not reboot, as we have to tweak some things first. To do these tweaks we will chroot into the installed system. To chroot into the system we have to do some preparations:

  • open a terminal and run the aforementioned lsblk command

  • mount the root partition of the newly installed system to /mnt via sudo mount /dev/{name of root partition} /mnt - the root partition should be the biggest ext4 partition

  • if there is a second ext4 partition it's the boot partition and we have to mount it too, so do sudo mount /dev/{name of boot partition} /mnt/boot

  • now lets mount the efi partition - thats the fat partition: sudo mount /dev/{name of uefi partition} /mnt/boot/efi

  • make some system parts available to the chroot: for dir in /dev /dev/pts /proc /sys /run; do sudo mount --bind $dir /mnt$dir; done

Now that we have everything set up, let's jump into the chroot:

  • in the terminal run chroot /mnt

  • Inside the chroot we will have to add the kernel modules from the top to two files /etc/modules and /etc/initramfs-tools/modules. Just add them at the end of the files one module per line. You can edit files on the command line via sudo nano {path-to-file} - in nano you can save with Ctrl+O and exit it with Ctrl+X.

  • After we have edited these two files we have to recreate the initramfs: sudo update-initramfs and the grub files sudo update-grub. Now after this is done lets exit the chroot with exit and reboot.

¡While rebooting do a head stand and cross all your fingers and toes ....!

hope this is of any help

peace