AC100

Differences between revisions 37 and 38
Revision 37 as of 2011-09-23 17:55:59
Size: 8334
Editor: a88-114-249-161
Comment:
Revision 38 as of 2011-09-26 10:55:34
Size: 8866
Editor: labb
Comment: zram compressed swap
Deletions are marked like this. Additions are marked like this.
Line 130: Line 130:
=== zram compressed swap ===

Since the AC100 only have 512Mb of RAM some applications will complain when the RAM gets full. ZRAM are a compressed ramdisk that can be enabled when using the latest Linux kernels. The ZRAM ramdisk can be used as a compressed swap device thus makes it possible to fit more applications into the AC100 RAM! ZRAM are quicker to use than to enable a swap device on flash.

The file attachment:zramswap.conf can be placed in /etc/init/ and will make Upstart configure and enable zram swap on bootup.

Status of the Ubuntu port to the AC100/Dynabook Tegra based netbook

This page collects information necessary to get a working Ubuntu port on the AC100 using only open source components and everything in the official archives (or temporarily in PPAs)



Installer

Prerequisites

Installation prerequisites

Required for installation

  • Mini-usb cable
  • Host computer with linux (virtual or physical)
  • Usb-stick or sd-card (min. 1GB)
  • About 1-2h of your life (depending on the download-time)


Files to download

For the installation, you will need to download these things:

Oneiric Installer

There are two AC100 related files in the oneiric release directory:

Get them both and make sure that the md5sum corresponds after the download.

nvflash

The bootimage needs to be flashed via a mini-USB and using the nvflash tool.
This image when booted will set up the internal storage using a tarball provided on a USB stick or SD card.

The link contains instructions on how to easily install nvflash to your current debian-based linux-distro.


Installation

The installation is done in two phases:

Flashing the bootimage

  • Shut down the AC100.
  • Connect the mini-usb from the AC100 to your host computer.
  • Put netbook in recovery mode by booting with ctrl and esc buttons held down. The screen stays off while the power led lights up.
  • On your host computer, open a terminal and run:

    nvflash --bl /usr/lib/nvflash/fastboot.bin --download 6 /path/to/oneiric-preinstalled-desktop-armel+ac100.bootimg
    NOTE: the path and name of fastboot.bin might vary, the guide uses version from http://share.grandou.net

Installing the preinstalled rootfs

  • Copy oneiric-preinstalled-desktop-armel+ac100.tar.gz to a USB stick as a regular file on the first partition.
    Do not unpack or dd it, simply copy! Make sure the md5sum is alright after copying to the media.

  • Reboot with the USB stick inserted and follow the simple instructions. Overall it does one reboot and in total can take about 20-30 minutes.

Notes on installation

  • Oneiric is still in beta, and random errors might (read: probably will) occur.
  • If the locale/keymap selection freezes, start again and select keymap after the installation has finished and rebooted



A Note About Fragmentation

The effort the bring hardware support has always been fragmented. We are thankful for phh who did the initial bringup of a working linux kernel on the ac100 and made Linux4Tegra work on the older root filesystems ogra who built all Ubuntu root filesystems and the official oneiric images, marvin24 who has put effort in porting the Chrome OS kernel to the AC100, and the many others who were involved.

The downside of this fragmentation is that documentation is fragmented too. The goal of this wiki is to provide good quality information for the latest and most promising effort.

Wiki maintainers: don't reference the old "wetpaint" wiki. It is virtually unmaintained and will cause confusion. Information about the inner workings of the device and drivers must go here: http://ac100.grandou.net/


Hardware

The AC100 netbook

The AC100 is an nVidia Tegra2 based device which has Android 2.1 as factory default. It has dual ARM Cortex-A9 cores at 1 GHz and nVidia GPU technology on its System On Chip. Some models come with 3G modems and the eMMC flash storage comes in various sizes.

Strengths

  • Very slim and light
  • Long battery life
  • HDMI out

Weaknesses

  • Slow eMMC storage (not an SSD)
  • No VGA out (must use a displaylink device for most projectors)

Features known to work on Ubuntu: webcam, touchpad, 3G modem, WiFi, OpenGL ES (proprietary), indicator LEDs, card reader

Incomplete support: video acceleration, HDMI out, audio

For details and a list of models, see http://ac100.grandou.net/models


Boot loader

The current first stage bootloader is Android Fastboot which uses the kernel and initramfs images found on partition 6 of the device. The partition can be written via the mini-USB port from another computer using the closed source nvflash utility from nvidia or opensource putusb, or updated from an already running system. The boot partition can be handled using the abootimg tool.

The ac100 PPA has a kernel that reads the (nvidia-proprietary format) main partition table, so kernel upgrades are possible. The flash-kernel package in the PPA takes care of this (note that all packages from the PPA are integrated in the oneiric images linked above, in oneiric the PPA will only be used for post-release updates of single packages).

U-Boot

The default boot loader is inflexible, and there is interest in adding U-Boot as a second stage boot loader. There are Tegra based U-Boot using devices but there's no working AC100 image yet that can handle the eMMC or the screen to be actually useful for a wider audience.


Kernel

As of early September 2011 a 2.3.38-chromeos kernel fork is used in Ubuntu and included in the Oneiric archives. It does not support suspend/resume and sound yet.

Work is done to upstream AC100 support patches in 3.x kernels so we can use mainline eventually.

The kernel tree the Ubuntu package is based on is at https://gitorious.org/~marvin24/ac100/marvin24s-kernel

zram compressed swap

Since the AC100 only have 512Mb of RAM some applications will complain when the RAM gets full. ZRAM are a compressed ramdisk that can be enabled when using the latest Linux kernels. The ZRAM ramdisk can be used as a compressed swap device thus makes it possible to fit more applications into the AC100 RAM! ZRAM are quicker to use than to enable a swap device on flash.

The file attachment:zramswap.conf can be placed in /etc/init/ and will make Upstart configure and enable zram swap on bootup.


Adobe Flash

Dropping this library into ~/.mozilla/plugins allows flash playback. It warns though that it is out of date. http://kotelett.no/ac100/phh/Android2.2/libflashplayer.so


Graphics

Latest Linux4Tegra SDK from Nvidia is 12alpha1 for kernel 2.6.38.

WebGL

Chromium browser v 13 from the Oneiric Ocelot archive works with some WebGL demos if passed --use-gl=egl --ignore-gpu-blacklist at the command line.

http://www.khronos.org/webgl/wiki/Demo_Repository

GLES demos

The native visual ID for all EGL fbconfigs seems to be returned as 0. This is bug acknowledged by NVidia.

eglGetConfigAttrib(ed, &config, EGL_NATIVE_VISUAL_ID, &id); //id = 0

so most GLES apps will not work as there appears to be no visual with that ID.

Example of change needed in es2tri.c from the mesa-utils-extra package

- visInfo = XGetVisualInfo(x_dpy, VisualIDMask, &visTemplate, &num_visuals); + visInfo = XGetVisualInfo(x_dpy, VisualNoMask, &visTemplate, &num_visuals);

Screen depth

In the Xorg config file, a depth should be set as 16 or else not even the limited support for GLES as seen above is available.

Section "Screen"
 Identifier "<myscreen>"
 Device "Tegra"
 DefaultDepth 16
EndSection


Contact

IRC: #ac100 on freenode

Mailing list archives: https://lists.launchpad.net/ac100/

Launchpad team: https://launchpad.net/~ac100


Only put here links that are still relevant for present and future development and do not lead to unnecessary work and confusion. In particular, try to avoid the wetpaint wiki.


CategoryHardware

ARM/TEGRA/AC100 (last edited 2021-07-13 10:07:57 by ogra)