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"
    EndSection

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

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

    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"
    EndSection

    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
    EndSection

    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
    EndSection

    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
    EndSection

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

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

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

    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"
    EndSection

    Section "DRI"
    Mode 0666
    EndSection

    Section "Extensions"
    Option "Composite" "Enable"
    EndSection


Install Beryl. Follow the instructions:
  1. Add repository.
    deb http://ubuntu.beryl-project.org/ edgy main-edgy
  2. Import key.
    wget http://ubuntu.beryl-project.org/quinn.key.asc -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.
    http://docs.info.apple.com/article.html?artnum=303880

Install the rEFIt Boot Menu.
  1. Download from http://refit.sourceforge.net.
  2. Mount the image.
  3. Drag the efi folder to Macintosh HD icon on desktop.
  4. Open a terminal.
    cd /efi/refit
    ./enable-always.sh
  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 www.ubuntu.com.
  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
    boot
    on
    quit
  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.
    boot=/dev/sda5
    default=Ubuntu
    map=/boot/map
    delay=20
    image=/vmlinuz initrd=/initrd.img
    root=/dev/sda5
    append=noapic
    label=Ubuntu
    read-only
  14. Install LILO.
    lilo -b /dev/sda
  15. Exit the chrooted environment.
    exit
  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
    reboot
  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.