« Configuration Aspire One » : différence entre les versions

De Pensée Profonde - Club de robotique
Aller à la navigation Aller à la recherche
(Nouvelle page : =Le matériel= right|250px L'Aspire One rentre dans la catégorie des Netbook. Voici un aperçu de ces spécifications : {| border="1" class="pBody" |- ...)
 
(ajout madwifi)
 
(6 versions intermédiaires par 2 utilisateurs non affichées)
Ligne 1 : Ligne 1 :
=Le matériel=
=Le matériel=
[[Image:AspireA110aw.jpg|right|250px]]
[[Image:AspireA110aw.jpg|right|250px]]
L'Aspire One rentre dans la catégorie des Netbook. Voici un aperçu de ces spécifications :
L'Aspire One rentre dans la catégorie des Netbooks. Voici un aperçu de ses spécifications :
  {| border="1" class="pBody"
  {| border="1" class="pBody"
  |-
  |-
Ligne 42 : Ligne 42 :


==Installation==
==Installation==
Comme une Ubuntu classique Linux4One s'installe depuis le liveCD. Ne disposant pas de lecteur CD nous allons créer une clé usb bootable reprenant le contenu du liveCD. L'outil [http://unetbootin.sourceforge.net/ UnetBootIn] nous assiste dans ce processus. Il suffit de lui fournir l'image ISO et d'indiquer le chemin de la clé. En quelques minutes notre clé est prête.
Fidèle à elle même, l'installation d'Ubuntu est un jeu d'enfant. Nous avons opté pour un partitionnement manuel afin de définir nous même la taille du swap (512mo en l'occurrence). Tout se passe sans encombre. A noter que Linux4One exécute des scripts lors du premier reboot de la machine. Il faut donc relancer 2 fois la machine avant d'avoir un système opérationnel.
==Configuration==
==Configuration==
Linux4One apporte tout une série d'optimisations par rapport à une version "standard" d'Ubuntu :
* Un noyau 2.6.28 compilé spécialement pour le matériel de l'Aspire One
* Un temps de boot réduit
* Wifi fonctionnel
* Les 2 lecteurs de cartes sont fonctionnels
* Réduction du nombre d'écriture sur le disque (log en tmpfs ...)
* Interface "Netbook Remix"
Cependant tout n'est pas parfait et nous sommes loin de pouvoir intégrer la machine dans le robot. Aussi nous avons continué le travail de configuration :
* Passage du scheduler par défaut en "noop" à la place de "deadline" (meilleur réponse du SSD).
* Ajouts sur le tableau de bord et réorganisation des barres d'application.
* Suppression de logiciels pas forcément utiles (amule, liferea ...)
* Installation de quelques logiciels:
** JDK6 de Sun (sun-java6-jdk)
** NetBeans IDE http://www.netbeans.org/
** OpenCV (libcv1, libhighgui1, libcvaux1, libcv-dev, libcvaux-dev, libhighgui-dev)
** OmniOrb4 (omniorb4, omniidl4, libomniorb4-1, libomniorb4-dev)
* La classe USB-CDC n'est pas reconnue par le noyau !
==Un nouveau noyau==
Le noyau installé par défaut avec Linux4one permet une meilleure reconnaissance du matériel, un temps de boot réduit ... mais souffre de quelques défaut gênants. D'une part ses options ne sont pas forcément les plus judicieuses. D'autre part il manque le support de la classe CDC utilisé par notre adapteur USB-I2C.
Pour cette raison nous avons décidé de compiler notre propre noyau linux. En voici les étapes:
* Passage en root:
<pre>sudo -s</pre>
* Téléchargement des sources sur [http://kernel.org/ kernel.org], décompression dans /usr/src/:
<pre>
cd /user/src
wget http://kernel.org/pub/linux/kernel/v2.6/linux-2.6.28.3.tar.bz2
tar -xjf linux-2.6.28.3.tar.bz2
</pre>
* Récupération du .config de Linux4one et re-configuration:
<pre>
cp /boot/config-2.6.28-aspire1v15 /user/src/linux/.config
cd /usr/src/linux-2.6.28.3
make menuconfig
</pre>
* Compilation et création du package:
<pre>
make-kpkg clean
make-kpkg --initrd --append-to-version=-penseeprofonde kernel_image kernel_headers
</pre>
* Installation des package:
<pre>
cd ..
dpkg -i linux-image-2.6.28.3-penseeprofonde-xxxxxxxxxxxx-i386.deb
dpkg -i linux-headers-2.6.28.3-penseeprofonde-xxxxxxxxxxxx-i386.deb
</pre>
* Mise à jour du lien vers les headers linux. Normalement l'installation du paquet header devrait le faire, vérifiez tout de même. Dans le pire des cas il faut réaliser la manipulation suivante:
<pre>
rm /usr/src/linux
ln -s /usr/src/linux-headers-2.6.28.3-penseeprofonde-xxxxxxxxxxxx-i386 /usr/src/linux
</pre>
* Configuration de GRUB. On y ajoute notre noyau en première position, ainsi il est le choix par défaut:
<pre>
gedit /boot/grub/menu.lst
</pre>
C'est bon pour le noyau ! On reboot, sélectionnons la bonne option dans GRUB et cela fonctionne.
Par contre pas de Wifi ! Et oui, c'est un module et il n'est pas inclus dans les sources du kernel. Heureusement, on a tout prévu et nous avons déjà les sources sur la machine. Dans le pire des cas une connexion filaire permet de les télécharger.
<pre>
cd /home
wget http://snapshots.madwifi-project.org/madwifi-hal-0.10.5.6/madwifi-hal-0.10.5.6-r3942-20090205.tar.gz
tar -xzf madwifi-hal-0.10.5.6-r3942-20090205.tar.gz
cd madwifi-hal-0.10.5.6-r3942-20090205
make clean
make
make install
</pre>
Un reboot et le wifi fonctionne comme avant :)


=Liens=
=Liens=
* http://www.cowcotland.com/articles/317/test-netbook-acer-aspire-one.html
* Le test de L'AspireOne: http://www.cowcotland.com/articles/317/test-netbook-acer-aspire-one.html
* http://www.linux4one.it/
* Création de clé usb bootables: http://unetbootin.sourceforge.net/
* http://doc.ubuntu-fr.org/hardy
* Les distributions: http://www.linux4one.it/ & http://doc.ubuntu-fr.org/hardy
* Ubuntu et l'AspireOne: https://help.ubuntu.com/community/AspireOne110L & https://help.ubuntu.com/community/AspireOne
* Le SSD: http://www.antharius.com/blog/?p=1337 & http://blogs.zdnet.com/perlow/?p=9190
* Les sources de MadWifi HAL: http://snapshots.madwifi-project.org/madwifi-hal-0.10.5.6/

Version actuelle datée du 8 février 2009 à 22:24

Le matériel

AspireA110aw.jpg

L'Aspire One rentre dans la catégorie des Netbooks. Voici un aperçu de ses spécifications :

CPU ATOM N270
Chipset Intel 945 GME
Mémoire 512 Mo DDR2 667MHz
Dimensions 240 x 195 x 36 mm
Poids 0.965 kg
GPU GMA 950 8 Mo partagé
Ecran 8.9 " 1024 x 600
Disque dur SSD 8 Go
Cartes mémoires 4 en 1 + SDHC
Port Ethernet 1
WiFi 802.11b/g
USB 3


Le système d'exploitation

Ubuntu 8.04 // Linux4One

Même si un netbook est très proche d'un PC classique il reste en tête des machines capricieuses. L'utilisation d'un SSD à la place du disque mécanique, d'une carte son et wifi spéciales, de lecteurs de cartes intégrés ... On se retrouve vite à devoir bricoler la configuration des distributions Linux ou recompiler des modules. Ajoutez à cela un écran, un touchpad et un clavier aux dimensions réduites. Il n'en fallait pas plus pour que soit développées des versions "orientées netbook" des distributions Linux.

Notre choix s'est porté sur Linux4One 1.00, basée sur Ubuntu 8.04 avec Ubuntu NetBook Remix et tout particulièrement configurée pour l'Aspire One.


Tableau de bord


Installation

Comme une Ubuntu classique Linux4One s'installe depuis le liveCD. Ne disposant pas de lecteur CD nous allons créer une clé usb bootable reprenant le contenu du liveCD. L'outil UnetBootIn nous assiste dans ce processus. Il suffit de lui fournir l'image ISO et d'indiquer le chemin de la clé. En quelques minutes notre clé est prête.

Fidèle à elle même, l'installation d'Ubuntu est un jeu d'enfant. Nous avons opté pour un partitionnement manuel afin de définir nous même la taille du swap (512mo en l'occurrence). Tout se passe sans encombre. A noter que Linux4One exécute des scripts lors du premier reboot de la machine. Il faut donc relancer 2 fois la machine avant d'avoir un système opérationnel.


Configuration

Linux4One apporte tout une série d'optimisations par rapport à une version "standard" d'Ubuntu :

  • Un noyau 2.6.28 compilé spécialement pour le matériel de l'Aspire One
  • Un temps de boot réduit
  • Wifi fonctionnel
  • Les 2 lecteurs de cartes sont fonctionnels
  • Réduction du nombre d'écriture sur le disque (log en tmpfs ...)
  • Interface "Netbook Remix"


Cependant tout n'est pas parfait et nous sommes loin de pouvoir intégrer la machine dans le robot. Aussi nous avons continué le travail de configuration :

  • Passage du scheduler par défaut en "noop" à la place de "deadline" (meilleur réponse du SSD).
  • Ajouts sur le tableau de bord et réorganisation des barres d'application.
  • Suppression de logiciels pas forcément utiles (amule, liferea ...)
  • Installation de quelques logiciels:
    • JDK6 de Sun (sun-java6-jdk)
    • NetBeans IDE http://www.netbeans.org/
    • OpenCV (libcv1, libhighgui1, libcvaux1, libcv-dev, libcvaux-dev, libhighgui-dev)
    • OmniOrb4 (omniorb4, omniidl4, libomniorb4-1, libomniorb4-dev)
  • La classe USB-CDC n'est pas reconnue par le noyau !


Un nouveau noyau

Le noyau installé par défaut avec Linux4one permet une meilleure reconnaissance du matériel, un temps de boot réduit ... mais souffre de quelques défaut gênants. D'une part ses options ne sont pas forcément les plus judicieuses. D'autre part il manque le support de la classe CDC utilisé par notre adapteur USB-I2C.

Pour cette raison nous avons décidé de compiler notre propre noyau linux. En voici les étapes:

  • Passage en root:
sudo -s
  • Téléchargement des sources sur kernel.org, décompression dans /usr/src/:
cd /user/src
wget http://kernel.org/pub/linux/kernel/v2.6/linux-2.6.28.3.tar.bz2
tar -xjf linux-2.6.28.3.tar.bz2
  • Récupération du .config de Linux4one et re-configuration:
cp /boot/config-2.6.28-aspire1v15 /user/src/linux/.config
cd /usr/src/linux-2.6.28.3
make menuconfig
  • Compilation et création du package:
make-kpkg clean
make-kpkg --initrd --append-to-version=-penseeprofonde kernel_image kernel_headers 
  • Installation des package:
cd ..
dpkg -i linux-image-2.6.28.3-penseeprofonde-xxxxxxxxxxxx-i386.deb
dpkg -i linux-headers-2.6.28.3-penseeprofonde-xxxxxxxxxxxx-i386.deb
  • Mise à jour du lien vers les headers linux. Normalement l'installation du paquet header devrait le faire, vérifiez tout de même. Dans le pire des cas il faut réaliser la manipulation suivante:
rm /usr/src/linux
ln -s /usr/src/linux-headers-2.6.28.3-penseeprofonde-xxxxxxxxxxxx-i386 /usr/src/linux
  • Configuration de GRUB. On y ajoute notre noyau en première position, ainsi il est le choix par défaut:
gedit /boot/grub/menu.lst

C'est bon pour le noyau ! On reboot, sélectionnons la bonne option dans GRUB et cela fonctionne.

Par contre pas de Wifi ! Et oui, c'est un module et il n'est pas inclus dans les sources du kernel. Heureusement, on a tout prévu et nous avons déjà les sources sur la machine. Dans le pire des cas une connexion filaire permet de les télécharger.

cd /home
wget http://snapshots.madwifi-project.org/madwifi-hal-0.10.5.6/madwifi-hal-0.10.5.6-r3942-20090205.tar.gz
tar -xzf madwifi-hal-0.10.5.6-r3942-20090205.tar.gz
cd madwifi-hal-0.10.5.6-r3942-20090205
make clean
make
make install

Un reboot et le wifi fonctionne comme avant :)


Liens