Gentoo Forums
Gentoo Forums
Gentoo Forums
Quick Search: in
Gentoo on the Archos 9
View unanswered posts
View posts from last 24 hours

 
Reply to topic    Gentoo Forums Forum Index Documentation, Tips & Tricks
View previous topic :: View next topic  
Author Message
AdmiralNemo
Apprentice
Apprentice


Joined: 25 Sep 2004
Posts: 247
Location: Overland Park, KS

PostPosted: Thu Aug 26, 2010 6:00 am    Post subject: Gentoo on the Archos 9 Reply with quote

Hello, all! It's been a very long time since I've been around these forums, but I thought I'd share my (somewhat limited) progress on installing Gentoo on my new Archos 9 tablet.

Caveats

Installing Gentoo is a very CPU-intensive process and my Archos 9 has some pretty serious heat dissipation issues. I had to keep a desk fan blowing on my tablet at all times to prevent the LCD from overheating and failing. Archos refused to admit that this is a problem and would not repair or replace my device when I RMA'd it because they could find nothing wrong. For this reason, I would not recommend buying one of these devices.

I haven't completely finished this process, so I will add more to this post as I complete various steps. For now, here's what I have working:
  • It boots!
  • Wi-Fi
  • Native 1024×600 resolution at the console
Here's what I have tried that didn't work (yet):
  • X11 using the "psb" driver
  • Ethernet adapter (on the port replicator)
And finally, here's what I haven't yet tried:
  • Audio
  • Bluetooth
  • Webcam
  • Touch screen
  • "Trackpoint"

Preparing the Install Media

The Archos 9 only has a single USB port, and obviously there is no on-screen keyboard available while installing Gentoo, so you'll need to get some more ports to support both a keyboard and the boot medium. I bought the port replicator from Archos, which has two extra ports, but you can also use a USB hub.

There are a couple of ways to boot the Gentoo install media, including using an external USB CD-ROM and creating a bootable USB flash drive. I don't have an external USB CD-ROM drive, so I chose to make a bootable flash drive using UNetbootin:
  1. Download the latest weekly x86 minimal install CD image from a Gentoo mirror and verify the file signatures
  2. Get the UNetbootin utility (`emerge -av unetbootin` or download the Windows version).
  3. Launch UNetbootin, tick "Disk Image," choose ISO and enter the path to the install CD image you downloaded.
  4. Choose your USB device at the bottom and click OK.
UNetbootin will install GRUB on your flash drive and copy the necessary files from the ISO image onto it. You can also follow the official Gentoo instructions for creating a LiveUSB, but UNetbootin is easier by far.

In order to access the network later, you will need the firmware for the Broadcom wireless chipset. Supposedly, you can get this from the b43 Driver page at Linux Wireless, but I couldn't find it. Luckily, there is an ebuild in Portage, "b43-firmware," that will fetch the firmware for you.
  1. Fetch the "b43" firmware (`emerge -av b43-firmware` on another Gentoo machine, or download the broadcom-wl-4.150.10.5.tar.bz2 tarball directly)
  2. Copy the "b43" directory (/lib/firmware/b43 if you used the ebuild) to your flash drive
Unmount/safely remove your flash drive and plug it into your Archos 9. The tablet will automatically boot off of a USB storage device if present, so power it on. You should see the UNetbootin Grub menu. Choose "gentoo-nofb" and hit enter.

Installing Gentoo

Follow the Gentoo Handbook for installing Gentoo. For each section, there may be a few deviations from the recommended steps, which I have listed here.

Configuring your Network

Surprisingly, I was able to get the wireless to work but not the wired Ethernet adapter on the port replicator. For the wireless, you'll need special firmware. The Gentoo install media include the `b43-fwcutter` utility, but not the firmware itself, which is why you had to copy it yourself earlier. To install it, simply copy it over from your flash drive:
Code:
cp -R /mnt/cdrom/b43 /lib/firmware/
Follow the instructions in the Gentoo Handbook, part 4, chapter 4 Wireless Networking to configure your wireless network. "wpa_supplicant" is available on the install media, so all you should have to do is create `/etc/wpa_supplicant/wpa_supplicant.conf` and enter your network information. You'll then need to create an init script:
Code:
cd /etc/init.d/
ln -s net.lo net.wlan0
and start it:
Code:
/etc/init.d/net.wlan0 start
If you configured wpa_supplicant correctly, you should be now connected. It may take several seconds for everything to get running. Run
Code:
wpa_cli status
to see what's going on.

Preparing the Disks

The install medium doesn't automatically load the necessary kernel module for the SATA controller in the Archos 9. You'll have to load it manually or no hard disks will be detected:
Code:
modprobe pata_sch

Installing the Gentoo Installation Files

Nothing special about this section; follow the handbook as usual.

Installing the Gentoo Base System

If you have another Gentoo computer, I would highly recommend setting up Distcc. The Atom Z515 in the Archos 9 is terribly slow, so compiling software on its own will take a very long time. Follow the Gentoo Distcc Documentation for instructions on how to set up Distcc on both your other computer and your tablet. You will need to make sure you follow the Distcc Cross-Compiling guide as well, if your other computer is running an amd64 installation.

Configuring the Kernel

When you are ready to configure your Kernel, make sure you have at least the following (in addition to the recommendations in the handbook):
Code:
General setup  --->
    [*] Initial RAM filesystem and RAM disk (initramfs/initrd) support
[*] Enable loadable module support  --->
-*- Enable the block layer -->
    IO Schedulers  --->
        Default I/O scheduler (No-op)
Processor type and features
    Processor family (Intel Atom)
Bus options (PCI, etc.)  --->
    [*] PCI support
    [*] PCI Express support
    <*>   PCI Express Hotplug driver
    < > PCCard (PCMCIA/CardBus) support
    <*> Support for PCI Hotplug  --->
[*] Networking support  --->
    -*- Wireless --->
        <*> cfg80211 - wireless configuration API
            <*> Generic IEEE 802.11 Networking Stack
Device Drivers  --->
    < > ATA/ATAPI/MFM/RLL Support
    <*> Serial ATA and Parallel ATA drivers  --->
        <*>   AHCI SATA support
        [*]   ATA SFF support
        [*]     ATA BMDMA support
        <*>       Intel ESB, ICH, PIIX3, PIIX4 PATA/SATA support
        <*>       Intel PATA old PIIX support
        <*>       Intel SCH PATA support
        <*>     Intel PATA MPIIX support
        <*>     Generic ATA support
    [*] Network device support  --->
        [*]   Wireless LAN  --->
            <*>   Broadcom 43xx wireless support (mac80211 stack)
        [ ]   PCMCIA network device support  --->
              USB Network Adapters  --->
            <*> Multi-purpose USB Networking Framework
            <*>   SMSC LAN95XX based USB 2.0 10/100 ethernet devices
    -*- I2C support  --->
        [ ]   Autoselect pertinent helper modules
                I2C Algorithms  --->
                    -*- I2C bit-banging interfaces
                    <*> I2C PCF 8584 interfaces
                    <*> I2C PCA 9564 interfaces
    Graphics support  --->
        < > Direct Rendering Manager (XFree86 4.1.0 and higher DRI support)  --->
        <*> Support for frame buffer devices  --->
            [ ]   Enable Tile Blitting Support
            <*>   Userspace VESA VGA graphics support
            <*>   VESA VGA graphics support
        Console display driver support  --->
            <*> Framebuffer Console support
            [*]   Map the console to the primary display device
            [*]   Support for the Framebuffer Console Decorations
    <*> Sound card support  --->
        <*>   Advanced Linux Sound Architecture  --->
            [*]   PCI sound devices  --->
                <*>   Intel HD Audio  --->
                    [*]   Build hwdep interface for HD-audio driver
                    [*]   Build Realtek HD-audio codec support
                    [*]   Build Analog Device HD-audio codec support
                    [*]   Build IDT/Sigmatel HD-audio codec support
                    [*]   Build VIA HD-audio codec support
                    [*]   Build ATI HDMI HD-audio codec support
                    [*]   Build NVIDIA HDMI HD-audio codec support
                    [*]   Build INTEL HDMI HD-audio codec support
                    [*]   Build Cirrus Logic codec support
                    [*]   Build Conexant HD-audio codec support
                    [*]   Build Creative CA0110-IBG codec support
                    [*]   Build C-Media HD-audio codec support
                    [*]   Build Silicon Labs 3054 HD-modem codec support
                    [*]   Enable generic HD-audio codec parser
Make sure you unselect things I have listed but do not have marked; some options only become available when others are not selected.

Again, if you have the ability to use Distcc, I would recommend using it to compile the kernel as well. Instead of the command listed at "Code Listing 3.8: Compiling the kernel," do the following to build your kernel with Distcc:
Code:
export PATH="/usr/lib/distcc/bin:${PATH}"
pump make -j5 && make modules_install

Configuring your System

The wireless LAN adapter will be named "wlan0," so substitute that for anywhere the handbook says "eth0." For example, in /etc/conf.d/net, you'll have this:
Code:
modules_wlan0=( "wpa_supplicant" )
config_wlan0=( "dhcp" )

Installing Necessary System Tools

Make sure you install the necessary tools, etc. to get wireless working. I recommend wpa_supplicant for configuration, and you will also need the Broadcom firmware:
Code:
emerge -av wpa_supplicant b43-fwcutter b43-firmware

Configuring the Bootloader

To activate the framebuffer, you need a `vga` parameter on your kernel command line. Your `kernel` line should look something like this:
Code:
kernel /kernel-2.6.35-r4 vga=0x315
800×600 is the best you can get with the VESA driver; 1024×600 will be available later with the Poulsbo driver.

Finalizing your Gentoo Installation

That's pretty much it for installing. Once you finish reading the handbook, your tablet should be able to boot on its own. There are a couple of things I like to do to my Gentoo installs, like installing `splashutils` and the `splash-themes-livecd` theme and setting them up, and setting up an initramfs to choose the root partition by UUID instead of device node. You can find instructions for getting all that working online; nothing special needs to be done for the Archos 9.

X.org

The Intel GMA500 chipset is pretty problematic for Linux. There are at least two different drivers available, psb and IEGD, and neither of them have high success rates. Nevertheless, I attempted to get the psb driver working with marginal success.

There is no longer a `VIDEO_CARDS` flag for the psb driver, so once you get xorg-server installed, you'll need to install the `xf86-video-psb` driver manually. This will pull in a number of dependencies, including a drm library and a kernel module, as well as a few others. The kernel module will not compile against kernel >= 2.6.34, but a patch is available. The X.org driver will compile but will not load. There are a few patches available for it as well, but I still can't get it to work. `X -configure` detects the driver and adapter and creates a configuration file, but `startx` just blanks the screen and leaves the device unresponsive. To restart it, you'll have to use the emergency SysRq key sequences.

You can get the patched kernel module and X.org driver from my Portage overlay if you want to try your luck.
  1. Install "layman"
    Code:
    emerge -av layman

  2. Edit your /etc/layman/layman.cfg and adjust the "overlays" option:
    Code:
    overlays  : http://www.gentoo.org/proj/en/overlays/repositories.xml
                http://pyrocufflink.net/layman-list.xml

  3. Sync the overlay list and install the "dustin" overlay
    Code:
    layman -L
    layman -a dustin

  4. Finally, activate layman
    Code:
    echo source /var/lib/layman/make.conf >> /etc/make.conf
Let me know if you have any trouble with the ebuilds.

Once you have the `psb-kmod` package installed, you can insert it into the kernel, which will automatically adjust the console resolution to native 1024×600.
Code:
modprobe psb
The module will be automatically loaded at boot in the future, so you'll always have a decent console resolution.

I believe the problem with the X.org driver is incompatibility with X.org 1.8. I am going to try downgrading to 1.7 later and see if that helps. I also intend to try the generic VESA driver.

More to Come

I will try to keep this post up-to-date with my results as I continue to work with my Archos 9. I don't know what problems I'll encounter, but I intend to get the bluetooth, audio, and webcam working. I read in a few places that the touchscreen may work, but perhaps not optimally. I'm not sure about the trackpoint. I am really hoping to have a fully functional Gentoo install soon; I really don't want to have to go back to Windows 7 Starter. Questions, comments, and suggestions are welcome.
_________________
Help the Unanswered
Back to top
View user's profile Send private message
tomk
Bodhisattva
Bodhisattva


Joined: 23 Sep 2003
Posts: 7221
Location: Sat in front of my computer

PostPosted: Thu Aug 26, 2010 9:27 am    Post subject: Reply with quote

Moved from Kernel & Hardware to Documentation, Tips & Tricks as it fits better here.
_________________
Search | Read | Answer | Report | Strip
Back to top
View user's profile Send private message
AdmiralNemo
Apprentice
Apprentice


Joined: 25 Sep 2004
Posts: 247
Location: Overland Park, KS

PostPosted: Sat Aug 28, 2010 12:31 am    Post subject: Reply with quote

I've been working for several days still trying to get a working X11 environment without much luck. I've mostly been concentrating on the psb driver since it seems to have a few advantages over the other options, like 3D acceleration and native resolution support. I have updated all the related ebuilds in my overlay to match the SRPMs available in RPM Fusion that are apparently working for other people on Fedora, but I still can't get Xorg to start; just a blank, unresponsive console terminal.

Here are some pages I have been reading, just for reference, though most of them are pretty outdated:If anyone has any other suggestions, please share. I hope to get my tablet to be more than an expensive desk ornament soon!
_________________
Help the Unanswered
Back to top
View user's profile Send private message
n3r0
n00b
n00b


Joined: 27 Feb 2007
Posts: 25
Location: Western Australia

PostPosted: Sun Sep 19, 2010 12:39 pm    Post subject: Reply with quote

Hi AdmiralNemo,

Cheers for the updated ebuilds for the Poulsbo driver set, it is much appreciated.
As detailed below I gave the ebuilds a crack and managed to get the system up and running perfectly after fiddling with the CFLAGS.

Background:
I have had my Xorg-Server frozen at 1.6 for the past few months and have been meaning to have a crack at the new rpm's posted on Happy Assassin.
So this turned out to be a really awesome find in terms of getting some of my weekend back.
I am running Gentoo on a little BenQ U121, which of course has the intel gma500 chipset.

Problem:
I added your Repo and unmasked xf86-video-psb-0.32.1 and all the frozen packages related to xorg-server-1.7.*.
Pleasantly they all built without any problems and so I decided to go for a restart.
Sadly I was initially greeted with a blank screen after the psb drivers were loaded.
At first I thought it was the same problem as with the older ebuilds however I decided to dig around and see what was happening (after all reverting to 1.6 was going to be tricky at best now).
Although there were no errors being logged in Xorg.0.log, I managed to find a reference in the slim.log about an undefined symbol.
A quick hunt through the source code revealed that the function did exist but that the compiler was not exposing the symbol during the build.

Solution:
I decided to add "-fvisibility=default" to my CFLAGS on the command line and rebuild all psb related packages in the hope that the driver would behave.

A quick reboot later and I now have a working X running natively at 1366x768!
I have to say, with the latest version of Xfce4 and Xorg-Server, the system seems to be much more responsive, and certainly I can see a definite improvement in the graphic quality.

A quick search yielded some discussion about an upstream patch to address this, however I'm not sure if it's made it into the latest rpm's.
For now though the visibility declaration seems to fix the problem.

So once again Thankyou very much for the excellent ebuilds and I hope with a bit more testing this can be merged back in to the main tree.
Back to top
View user's profile Send private message
AdmiralNemo
Apprentice
Apprentice


Joined: 25 Sep 2004
Posts: 247
Location: Overland Park, KS

PostPosted: Mon Sep 20, 2010 9:30 pm    Post subject: Reply with quote

Thanks n3r0 for your suggestion regarding the Poulsbo driver. Unfortunately, I no longer have my Archos 9 device; I sent it back because of the heat issue I described above (sitting idle at a console for 45 minutes would cause the device to overheat and become unusable). I hope your advice can help others, though.

Looking forward to the Asus EEE Pad; hopefully it will have better results :)
_________________
Help the Unanswered
Back to top
View user's profile Send private message
AnarKEY
n00b
n00b


Joined: 20 Apr 2010
Posts: 14

PostPosted: Tue Sep 28, 2010 9:43 am    Post subject: It work's on Acer AspireOne Reply with quote

Hey,
thank you very much! Since I updated my xserver to 1.7, I had to use vesa with very bad resoluation and performance. Now it works fine with n3r0's hints and the excellent ebuild on kernel 2.6.35.6.
Back to top
View user's profile Send private message
AdmiralNemo
Apprentice
Apprentice


Joined: 25 Sep 2004
Posts: 247
Location: Overland Park, KS

PostPosted: Tue Sep 28, 2010 10:36 pm    Post subject: Reply with quote

Great! I'm glad other people are benefiting from my experiences. I will try to continue to maintain the Poulsbo-related ebuilds in my overlay knowing that others are using them, and if I get time, I'll submit them for review and inclusion in the mainline tree. Please let me know if you have any trouble.
_________________
Help the Unanswered
Back to top
View user's profile Send private message
Yamakuzure
Advocate
Advocate


Joined: 21 Jun 2006
Posts: 2284
Location: Adendorf, Germany

PostPosted: Wed Feb 02, 2011 2:10 pm    Post subject: Reply with quote

I have just tried the ebuilds from your overlay, and the kernel module fails to build abysmally with gentoo-sources-2.6.37. I guess it is a lot more different to previous kernels than I thought.

I am currently downgrading my kernel and try again. If it works I can post the log from the failed build. (It's on a different machine than from which I am typing now)

Edit: It doesn't compile with 2.6.36 as well.

Edit 2:: The patches here: https://bugs.gentoo.org/show_bug.cgi?id=344889 are said to fix the bug with kernel-2.6.36
_________________
Important German:
  1. "Aha" - German reaction to pretend that you are really interested while giving no f*ck.
  2. "Tja" - German reaction to the apocalypse, nuclear war, an alien invasion or no bread in the house.
Back to top
View user's profile Send private message
Yamakuzure
Advocate
Advocate


Joined: 21 Jun 2006
Posts: 2284
Location: Adendorf, Germany

PostPosted: Wed Feb 02, 2011 2:41 pm    Post subject: Reply with quote

But the patch doesn't help, neither with 2.6.36 nor .37.

I have opened a bug with the error messages here: https://bugs.gentoo.org/show_bug.cgi?id=353514 (I tried with the ebuilds from the bug mentioned above first)

Edit: I found an entry in https://bugs.gentoo.org/show_bug.cgi?id=338330 telling of the overlay "luman" which is said to be tested with 2.6.36 and 2.6.37. I'll give it a try tonight.
_________________
Important German:
  1. "Aha" - German reaction to pretend that you are really interested while giving no f*ck.
  2. "Tja" - German reaction to the apocalypse, nuclear war, an alien invasion or no bread in the house.
Back to top
View user's profile Send private message
Yamakuzure
Advocate
Advocate


Joined: 21 Jun 2006
Posts: 2284
Location: Adendorf, Germany

PostPosted: Wed Feb 02, 2011 9:19 pm    Post subject: Reply with quote

It isn't enough for amd64, but I created a new ebuild with an additional patch that makes the poulsbo drivers (ebuilds from luman overlay) compile fine under amd64 with gentoo-sources-2.6.37. (Bug 353514)

Unfortunately I have to wait until tomorrow to test the module.
_________________
Important German:
  1. "Aha" - German reaction to pretend that you are really interested while giving no f*ck.
  2. "Tja" - German reaction to the apocalypse, nuclear war, an alien invasion or no bread in the house.
Back to top
View user's profile Send private message
just a guest
n00b
n00b


Joined: 18 Jan 2011
Posts: 13
Location: Ставрополь

PostPosted: Fri Mar 11, 2011 1:48 pm    Post subject: Reply with quote

Very thanks for this topic! I just buyed Archos7 and, think, should try to install gentoo.
Back to top
View user's profile Send private message
Display posts from previous:   
Reply to topic    Gentoo Forums Forum Index Documentation, Tips & Tricks All times are GMT
Page 1 of 1

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum