Ubuntu 10.10 on AC100 install instructions

Thanks to Chippy for making this nice video of Ubuntu running on the AC100, btw the webcam have been fixed and do work now out of the box now when we are using the new Linux kernel based on the Toshiba GPL source code.
These instructions will make it possible to install and boot Ubuntu 10.10 from an external USB drive or sdcard on the Toshiba AC100. The AC100 will then be able to dualboot Ubuntu/Android by holding down the "home" button during poweron. Once you have Ubuntu running from an external USB drive or sdcard then you have the possibility to compleatly replace Android with Ubuntu permanently on the internal eMMC flash by following the additional instructions in http://ac100.gudinna.com/internal.

This AC100 Ubuntu installation was made possible by combining all hard work made by all ac100 hackers and contributors to the Toshiba AC100 open-source developer team, Toshiba forum, Hacking the Toshiba AC100 Wiki, and the #ac100 IRC channel on irc.freenode.net. Enjoy!

== Update the bootloader ==

Get the linux4tegra package from nvidia so you have the nvflash utility (download here).
Connect an USB to USB mini cable between your host PC and the ac100.
On your ac100 hold down ctrl and esc on boot (hold them down before pressing the power button,
dont worry, it is normal that the screen stays off in this mode), the device will go into flash mode.

Pull the tegra-2.6.29-arm2-ac100-boot.img (download here, md5 checksum).

Make a backup of the existing partition 5 (recovery boot) of the ac100.
sudo LD_LIBRARY_PATH=. ./nvflash --bl ../prebuilt/fastboot.stock.bin --read 5 tegra_partition_5.bin --go

Write the linux autodetection boot image to partition 5 on the device.
sudo LD_LIBRARY_PATH=. ./nvflash --bl ../prebuilt/fastboot.stock.bin --download 5 <path to tegra-2.6.29-arm2-ac100-boot.img>

Exit flash mode by holding down the powerbutton for 10 seconds untill the powerled powers off.

From now on the recovery mode on your ac100 will scan for linux on the SD card slot and USB port if you enter the recovery
mode (hold down "Home" during boot, press 1 if the recovery menu shows up).

== Create a rootfs SD card ==

Grab the tarball called tegra-rootfs.tgz (download here, md5 checksum, changelog).
Prepare an SD card, it should be 4G or bigger and formated as ext3 with a single partition.

Mount the SD card manually (do not use nautilus automount, mount it as root in /mnt)
and uncompress the tarball to it (this needs to be done as root and you need to use the --numeric-owner option to tar !).
Do not forget to properly unmount the card afterwards.

Example command:
sudo tar xzvf tegra-rootfs.tgz --numeric-owner -C /mnt

Indeed instead of an SD card you can also use a USB key, the boot image will detect either.

== Booting ==

Plug the SD card into the SD slot of the ac100, hold down "Home" while pressing the power button.
Once the recovery menu shows up, press 1.
Be patient until the welcome screen to configure the system comes up.
Enable the network if you want to use a different language on the device, the language
packs will be installed during configuration.

Finish the Welcome screen and you will be dropped into your newly configured Ubuntu install.

== Known Issues ==

There is currently no sound driver, so no sound will work on the ac100

If you have problems using wifi:
If you are running a wifi+bluetooth ac100 model and experience a problem that the wifi can
connect to a wireless router but no data can be recived then try
to disable the bluetooth module after booting up by running:
sudo /etc/init.d/bluetooth stop

If you have problems using your touchpad:

First of all try to use the touchpad enablement key on your keyboard (the key above 7 and 8).
If that doesnt work there can be several other issues

The Welcome screen (oem-config) is usable via keyboard (apart from the timezone selection),
finish the setup by using the keyboard, then use the test-ec command with values as described
at http://tosh-ac100.wetpaint.com/page/ec_odm

To check the touchpad is working run the following in a terminal:
sudo cat /dev/input/event1

If it works you should see grabage in the terminal as you move your fingers on the touchpad.

On some devices the touchpad shows up as a different event device, so test others too.
If this is the case, please adjust the mouse entry in /etc/X11/xorg.conf.

Neither resume from suspend nor hibernate do work.

Backlight control does not work, there is a way to switch the backlight on/off documented on
http://tosh-ac100.wetpaint.com/ but no way to adjust the brightness.

The powerbutton events are not recognized.

The ESC key is by default mapped to XF86Back, to change that, create an .xmodmap file with
the following line in your homedir, Ubuntu will offer to load it on next login:

keycode 234 = Escape

== Work in progress ==

Impressively Phh have been able to combine the Nvidia Linux 4 Tegra drivers with the Toshiba android kernel and Ubuntu 10.10 and by using this combination it is possible to run Quake 3 using OpenGL ES on the AC100!
Phh have been able to combine the Nvidia Linux 4 tegra drivers with the Ubuntu 10.10 system and combine them into a working experimental reference system available at: http://kotelett.no/ac100/phh/
Instructions:quick install instructions of phh's experimental image

By using this combined system you can get access to some more hardware features of the AC100 when running Ubuntu. The downside of this system are that the system are running less stable since we are unable to fix any problem in the nvidia Linux 4 tegra drivers, we simply dont have any FOSS sourcecode for these nvidia bits.

Nvidia please get in contact with Linaro and allow the best engineers and community to improve and work openly with the Tegra hardware and graphics drivers!

By combining all current work in progress then: Sound work.
OpenGl ES work.
hdmi work.
Suspend work.
wifi leds work.
stability: experimental.