Installing phh's latest ubuntu with nilfs2 fs on an sd-card

Also works for internal install, check on the bottom of the page

Update 23.5.2011:

I made a modded rootfs (big thanks to chrisq for hosting the file), so all the final setup steps became unnecessary. You can still check out the whole guide here if needed. Also the guide for phh's .29 kernel can be found here


Even if this guide is written by me (gildean) the real credit goes to the people who made this possible (especially big thanks to phh and markit, you guys rule :)


Make sure you have these things:
  1. 1x Toshiba AC100 with 2.2 update installed
  2. 1x Linux computer (physical or virtual, ubuntu recommended)
  3. 1x SD-card or USB-flash(min. 4GB and up)
  4. 1x USB Mini-B to Standard-A
  5. An hour or two....or more.

The tideous bit

  1. Get nilfs-tools for your linux laptop/desktop ( for example sudo apt-get install nilfs-tools )

  2. Get the latest boot.img from markit, phh's ubuntu tarball modded by gildean and tools from nvidia (credits to scoopr for the repack!)

  3. Stick your sd-card (or usb-stick) to the linux machine and don't let it automount. If it does, umount it first.

  4. Create a single partition to the sd-card and format it to nilfs2 ( for example sudo mkfs -t nilfs2 /dev/mmcblkXp1 )

  5. Mount the newly created nilfs2 partition to /mnt ( sudo mount -t nilfs2 /dev/mmcblkXp1 /mnt )

  6. Unpack the ubuntu rootfs to /mnt ( with sudo tar xavf Ubuntu7.modded.tar.gz --numeric-owner -C /mnt ) This will take a while, make some coffee on the mean time.

  7. Umount the sd-card and set it aside for a while

  8. Power off your ac100, connect an usb cable from ac100 to your linux machine and power on the ac100 while pressing crtl+esc. The screen on the ac100 should remain off and the power led should light up.

  9. Surf to the folder where you unpacked the nvidia developer tools and take backup of the partition you're going to flash ( with sudo LD_LIBRARY_PATH=./nvflash/ ./nvflash/nvflash --bl ./prebuilt/fastboot.stock.bin --read 6 tegra_partition_6.bin --go )

  10. Power down the ac100 first and then power on again with ctrl+esc.

  11. With Android 2.2 bootloader dualbooting is no longer possible, so we're flashing part 6 with the boot.img. Flashing part 6 makes the ac100 boot straight into ubuntu, but destroys android ( sudo LD_LIBRARY_PATH=./nvflash/ ./nvflash/nvflash --wait --bl ./prebuilt/fastboot.stock.bin --download 6 /the/path/to/ --go )

  12. Nvflash should say that the flashing was succesfull and you can power off the ac100 by pressing the power button for a few seconds.

  13. Stick the sd-card to the ac100 and power on.

  14. Thanks to markit, we now have a bootmenu where you can pick the bootdevice or drop to console if you want to. The menu disappears automatically in 5s and the default device is booted (if a bootable sd or usb is connected, that is considered the default bootdevice)

  15. You should soon get in front of the typical ubuntu setup assistant, which will ask you your name, where you live etc.

  16. Now do sudo apt-get update && sudo apt-get upgrade && sudo apt-get dist-upgrade and reboot

  17. Done!

  18. Optional step: For more eyecandy, open up a terminal and run gconf-editor. Under apps->metacity->general check the box for compositing_manager

  19. Working backlight controls: Get /system from phh here, surf to to the download folder and do sudo rm -Rf /system ; sudo tar xf ./system.tar.bz2 -C / to replace your old /system. Then get the backlight-scripts from phh here and extract them to /usr/bin and make sure they are executable. Now you can call increase_backlight and decrease_backlight and map those commands as keyboard shortcuts in the gnome menu.

Internal setup

Installing on the internal emmc works the same way.
Just use the above guide to prepare an sd-card or an usb-stick to boot the ac100 into ubuntu, don't create a new partition, just umount and format /dev/mmcblk3p6, mount with -t nilfs2 to /mnt and untar the system image (or you can rsync the running rootfs from external media, if you know how).


Don't upgrade to natty, it doesn't work (you can still run apt-get dist-upgrade, that doesn't actually upgrade the distro, as confusing as it sounds).

Untarring with the -v switch (verbose) might cause problems if your scroll buffer is set to unlimited. Remove the v if you have problems untarring.

On a QWERTZ- and AZERTY-layout, disable TakeScreenShot-shortcut in ubuntu settings for the up-arrow to work properly.

For more bleeding edge, you can check out marvin24's .37 kernel with natty here, it's missing sound and suspend, but other ways it's quite stable

If you have problems, come to IRC

html5+css3 no rights reserved
webmaster: gildean