Sunday, October 29, 2006

AIGLX + Beryl on MacBook

Install AIGLX. Following the instructions for setting up AIGLX, I did the following.
  1. Edit /etc/X11/xorg.conf file. My xorg.conf file is below.
  2. Restart the X server with '/etc/init.d/gdm restart'.

    # /etc/X11/xorg.conf (xorg X Window System server configuration file)
    # This file was generated by dexconf, the Debian X Configuration tool, using
    # values from the debconf database.
    # Edit this file with caution, and see the /etc/X11/xorg.conf manual page.
    # (Type "man /etc/X11/xorg.conf" at the shell prompt.)
    # This file is automatically updated on xserver-xorg package upgrades *only*
    # if it has not been modified since the last upgrade of the xserver-xorg
    # package.
    # If you have edited this file but would like it to be automatically updated
    # again, run the following command:
    # sudo dpkg-reconfigure -phigh xserver-xorg

    Section "Files"
    FontPath "/usr/share/X11/fonts/misc"
    FontPath "/usr/share/X11/fonts/cyrillic"
    FontPath "/usr/share/X11/fonts/100dpi/:unscaled"
    FontPath "/usr/share/X11/fonts/75dpi/:unscaled"
    FontPath "/usr/share/X11/fonts/Type1"
    FontPath "/usr/share/X11/fonts/100dpi"
    FontPath "/usr/share/X11/fonts/75dpi"
    FontPath "/usr/share/fonts/X11/misc"
    # path to defoma fonts
    FontPath "/var/lib/defoma/x-ttcidfont-conf.d/dirs/TrueType"

    Section "Module"
    Load "i2c"
    Load "bitmap"
    Load "ddc"
    Load "dri"
    Load "extmod"
    Load "freetype"
    Load "glx"
    Load "int10"
    Load "type1"
    Load "vbe"
    Load "dbe"

    Section "InputDevice"
    Identifier "Generic Keyboard"
    Driver "kbd"
    Option "CoreKeyboard"
    Option "XkbRules" "xorg"
    Option "XkbModel" "pc105"
    Option "XkbLayout" "us"
    Option "XkbOptions" "lv3:ralt_switch"

    Section "InputDevice"
    Identifier "Configured Mouse"
    Driver "mouse"
    Option "CorePointer"
    Option "Device" "/dev/input/mice"
    Option "Protocol" "ExplorerPS/2"
    Option "ZAxisMapping" "4 5"
    Option "Emulate3Buttons" "true"

    Section "InputDevice"
    Driver "wacom"
    Identifier "stylus"
    Option "Device" "/dev/wacom" # Change to
    # /dev/input/event
    # for USB
    Option "Type" "stylus"
    Option "ForceDevice" "ISDV4" # Tablet PC ONLY

    Section "InputDevice"
    Driver "wacom"
    Identifier "eraser"
    Option "Device" "/dev/wacom" # Change to
    # /dev/input/event
    # for USB
    Option "Type" "eraser"
    Option "ForceDevice" "ISDV4" # Tablet PC ONLY

    Section "InputDevice"
    Driver "wacom"
    Identifier "cursor"
    Option "Device" "/dev/wacom" # Change to
    # /dev/input/event
    # for USB
    Option "Type" "cursor"
    Option "ForceDevice" "ISDV4" # Tablet PC ONLY

    Section "Device"
    Identifier "Intel Corporation Mobile Integrated Graphics Controller"
    Driver "i810"
    Option "XAANoOffscreenPixmaps"
    BusID "PCI:0:2:0"

    Section "Monitor"
    Identifier "Color LCD"
    Option "DPMS"
    HorizSync 28-64
    VertRefresh 43-60

    Section "Screen"
    Identifier "Default Screen"
    Device "Intel Corporation Mobile Integrated Graphics Controller"
    Monitor "Color LCD"
    DefaultDepth 24
    SubSection "Display"
    Depth 1
    Modes "1280x800"
    SubSection "Display"
    Depth 4
    Modes "1280x800"
    SubSection "Display"
    Depth 8
    Modes "1280x800"
    SubSection "Display"
    Depth 15
    Modes "1280x800"
    SubSection "Display"
    Depth 16
    Modes "1280x800"
    SubSection "Display"
    Depth 24
    Modes "1280x800"

    Section "ServerLayout"
    Identifier "Default Layout"
    Screen "Default Screen"
    InputDevice "Generic Keyboard"
    InputDevice "Configured Mouse"
    InputDevice "stylus" "SendCoreEvents"
    InputDevice "cursor" "SendCoreEvents"
    InputDevice "eraser" "SendCoreEvents"
    Option "AIGLX" "true"

    Section "DRI"
    Mode 0666

    Section "Extensions"
    Option "Composite" "Enable"

Install Beryl. Follow the instructions:
  1. Add repository.
    deb edgy main-edgy
  2. Import key.
    wget -O - | sudo apt-key add -
  3. Install Beryl.
    apt-get update
    apt-get install beryl emerald-themes
  4. [Optional] Test the Beryl window manager.
  5. beryl-manager
  6. Add beryl-manager to System -> Preferences -> Sessions -> Startup Programs.
  7. Restart the X server with '/etc/init.d/gdm restart'.

Saturday, October 28, 2006

Dual-Boot Ubuntu Edgy Eft (6.10) on a MacBook

The following explains how to dual-boot Mac OS X and Ubuntu Edge Eft (6.10) on the new Intel Macbooks. This will only deal with the installation, post-installation setup will be dealt with in a later post.

This is an amalgamation of instructions for Ubuntu Dapper Dan (6.06) from various sources. Most notably, Felipe Alfaro Solana's blog entry about
Installing Ubuntu Linux on a MacBook Pro.

Software Update.

  1. Update Mac OS X.
    Apple Menu -> Software Update...
  2. Update Firmware if needed. See the following webpage.

Install the rEFIt Boot Menu.
  1. Download from
  2. Mount the image.
  3. Drag the efi folder to Macintosh HD icon on desktop.
  4. Open a terminal.
    cd /efi/refit
  5. Unmount the image.

Resize Hard Drive.

I have a 80G hard drive. I will create a 50G partition for OS X and the rest for Linux. I will further partition the latter partition into three partitions during the Ubuntu installation: one of 15G (/home); one of 2G (swap); and the rest for the root partition /.
diskutil resizeVolume disk0s2 50G
I got the name of my disk (disk0s2) from the output of the mount command. Look for the disk mounted on /.

[You can use Bootcamp for partitioning instead, if you'd like.]

Install Ubuntu.
  1. Download the Ubuntu CD image (i386 Desktop) from
  2. Create a CD.
  3. Put it in your computer and reboot.
  4. During startup hold the C key.
  5. Check CD for defects. It takes a while, but is good to do.
  6. Reboot.
  7. Select Start or install Ubuntu. The Ubuntu desktop loads.
  8. Click the Install icon.
  9. Follow the on screen instructions. Some notes on partitioning:
    • Manually edit the partition table. I created: 2G swap; 15G /home; 7+G /.
    • On the next screen make sure that EFI GPT partition is not mounted.
    • Also make sure that your partitions are mounted in the correct spots (swap, /home, /).
    • Remember what your / partition is (mine is /dev/sda5).
  10. Grub will fail to install. This is expected. We'll install LILO later.
  11. Make the / partition bootable (mine is /dev/sda5).
    parted /dev/sda
    set 5
  12. Install LILO.
    mount -t proc none /target/proc
    mount -o bind /dev /target/dev
    chroot /target
    apt-get install lilo lilo-doc linux-686-smp
  13. Create /etc/lilo.conf, adjusting /dev/sda5 to reflect your / partition.
    image=/vmlinuz initrd=/initrd.img
  14. Install LILO.
    lilo -b /dev/sda
  15. Exit the chrooted environment.
  16. Check that LILO is installed. Look for LILO at the beginning of the output of the following command.
    hexdump -C /dev/sda | less
  17. Reboot.
    umount /target/proc
    umount /target/dev
    umount /target
  18. Select "Start Partitioning Tool" at the rEFIt menu. It might ask you to sync the MBR GPT maps. Select yes.
  19. Reboot.
  20. Select the Penguin at the rEFIt menu.