Installing Gentoo on a ThinkPad X220

From ThinkWiki
Revision as of 13:30, 30 June 2011 by Flow (Talk | contribs) (Boot from USB Stick)
Jump to: navigation, search

DRAFT! Installationdiary - Gentoo on a X220 DRAFT!

Model Specs

X220 - 4290-W1B

replaced internal HD with SSD Intel SSD 320 Series 120GB, 2.5", SATA II (SSDSA2CW120G310)

BIOS Update

Turns out to be very Linux unfriendly. There a ways to boot the .iso image with grub. I tried grub2 with help from syslinux memdisk, reached some kind of bios update menu. But got stuck there. After all I did it by installing Win7 and running the Windows BIOS update tool.

Boot from USB Stick

Sysresccd (2.2.0), which has a pretty nice script to create a bootable USB-Stick, failed to boot on the X220. Created an bootable usb stick from the gentoo-minimal.iso with unetbootin. Works.

Partition the Drive

parted

mklabel gpt

mkpart primary fat32 1 201

set 1 boot on

mkpart primary linux-swap 202 4047

mkpart pimrary ext2 4048 120GB


Format the partitions

mkfs.vfat /dev/sda1 mkswap /dev/sda2 mkfs.btrfs /dev/sda3

Note that mkfs.btrfs is not yet on the gentoo minimal image.

Gentoo stage3

Just like the handbook, boot from gentoo-minimal-image. Unpack stage3 and portage. Edit fstab and set a root password. Everything else can be done later on.

Grub with efi support installation

This was by far the hardest part yet. Because UEFI and GPT a relatively new and I am not so familiar with it and the documentation isn't so good yet. Basically EFI on the X220 looks for a FAT32 formatted GPT partition with the boot flag set. If it finds one it tries to start /EFI/boot/bootx64.efi (Note that this is actually case-insensitive because of FAT32).

Grub-1.99 from scarabeus overlay is needed. Fix the STRIP_MASK error, remove last "a". Enable GRUB_PLATFORMS=efi-64 in make.conf. TODO add tar.gz with fixed ebuild for adding to overlay


Not sure if this is needed:

cp /usr/share/grub/{unicode.pf2,ascii.pf2} /boot/efi/efi/grub/

grub2-install --boot-directory=/boot/efi/efi --bootloader-id=grub --no-floppy --recheck

Important part:

grub-mkimage -d /lib/grub/x86_64-efi -O x86_64-efi -p "" -o /boot/efi/efi/boot/bootx64.efi part_gpt btrfs fat ext2 normal chain boot configfile linux multiboot efi_gop

Optional but useful:

cp /lib/grub/x86_64-efi/*.mod /boot/efi/efi/boot/

cp /lib/grub/x86_64-efi/*.lst /boot/efi/efi/boot/


Put grub.cf in same directory as bootx64.efi -> /boot/efi/efi/boot/