Parabola GNU/Linux on Macbook2,1

bootloader grub


update the whole Arch Build System

# abs

or just the directory for the grub package

# abs libre/grub

copy the grub directory to some other place, e.g. /home/$USER/packages

# cp -r /var/abs/libre/grub /home/$USER/packages 

change owner to user

# chown -R $USER:users /home/$USER/packages/grub

patch the file PKGBUILD by changing the lines

[[ "${CARCH}" == "x86_64" ]] && _EFI_ARCH="x86_64"
[[ "${CARCH}" == "i686" ]] && _EFI_ARCH="i386"
#[[ "${CARCH}" == "x86_64" ]] && _EFI_ARCH="x86_64"
#[[ "${CARCH}" == "i686" ]] && _EFI_ARCH="i386"

build the package

$ cd /home/$USER/packages/grub
$ makepkg -s

install the package

# pacman -U grub-2.00.5086-1-x86_64.pkg.tar.xz 

Create the UEFI application

Note: efibootmgr should not be installed, because it is known to possibly break the macbook. grub-install will therefore output a warning, which is not harmful at all.

# grub-install --target=i386-efi --efi-directory=/boot/efi --bootloader-id=BOOT --boot-directory=/boot --recheck 

grub-install creates two identical UEFI applications boot.efi and grubia32.efi. One of which can be removed, the other one must be renamed bootia32.efi, so that the macbook will recognize it. You might want to backup the old UEFI application.

# mv /boot/efi/EFI/BOOT/bootia32.efi /boot/efi/EFI/BOOT/bootia32.efi_backup
# rm /boot/efi/EFI/BOOT/boot.efi
# mv /boot/efi/EFI/BOOT/grubia32.efi /boot/efi/EFI/BOOT/bootia32.efi

Create the configuration file

Note: you might want to backup any previous configuration file

# mv /boot/grub/grub.cfg /boot/grub/grub.cfg.backup
# grub-mkconfig -o /boot/grub/grub.cfg

Non-responsive touchpad

Sometimes the touchpad is non-responsive, after starting the X server. This can be solved by removing the appletouch module from the kernel and adding it again.

# rmmod appletouch
# modprobe appletouch