systemx

Aller au contenu | Aller au menu | Aller à la recherche

Mot-clé - sabayon

Fil des billets - Fil des commentaires

lundi, juin 11 2012

Mise en veille/hibernation qui fonctionne sur ASUS

Un bon mémo pour configurer linux sur un portable ASUS pour se mettre en veille.
Ca fonctionne sous sabayon/gentoo et arch, probablement chez ubuntu/debian aussi. Tout d'abord ce qui bloque c'est l'extinction de certaines device, pour corriger le probleme, il font donc avant le suspend/hibernate dévalider les devices qui utilisent "ehci_hcd" et décharger le module xchi du noyau.
Le script va donc chercher les devices dans /sys/bus/pci/drivers/ehci_hcd/ (c'est en rapport avec l'USB) et utiliser les fichier bind et unbind pour les desactiver/activer.
Pratique le sysfs.
On le met dans /etc/pm/sleep.d et lien dans /etc/pm/power.d (lien, avec un nom type 20-stopdevices).
Le " egrep "^$HEX+:$HEX+:$HEX"`" récupère les ID des devices chargées dans le kernel (à la place de modules que l'on pourrait adresser avec modload ...) qui se trouvent dans /sys/bus/pci/drivers/ehci_hcd/ avec les fichiers bind/unbind pour effectuer les opérations.
En pratique on utilise ce script (recupéré ).
#!/bin/bash

DEV_LIST=/tmp/usb-dev-list
DRIVERS_DIR=/sys/bus/pci/drivers
DRIVERS="ehci xhci" # ehci_hcd, xhci_hcd
HEX="[[:xdigit:]]"
MAX_BIND_ATTEMPTS=2
BIND_WAIT=0.1

unbindDev() {
        echo -n > $DEV_LIST 2>/dev/null
      for driver in $DRIVERS; do
        DDIR=$DRIVERS_DIR/${driver}_hcd
        for dev in `ls $DDIR 2>/dev/null | egrep "^$HEX+:$HEX+:$HEX"`; do
          echo -n "$dev" > $DDIR/unbind
          echo "$driver $dev" >> $DEV_LIST
        done
      done
}

bindDev() {
      if [ -s $DEV_LIST ]; then
        while read driver dev; do
          DDIR=$DRIVERS_DIR/${driver}_hcd
          while [ $((MAX_BIND_ATTEMPTS)) -gt 0 ]; do
              echo -n "$dev" > $DDIR/bind
              if [ ! -L "$DDIR/$dev" ]; then
                sleep $BIND_WAIT
              else
                break
              fi
              MAX_BIND_ATTEMPTS=$((MAX_BIND_ATTEMPTS-1))
          done
        done < $DEV_LIST
      fi
      rm $DEV_LIST 2>/dev/null
}

    case "$1" in
      hibernate|suspend) unbindDev;;
      resume|thaw)       bindDev;;
esac
Pour le hibernate, il faut ajouter au kernel le nom du device de swap avec le paramètre resume. On peut ajouter dans /etc/default/grub, les options en automatique (généré avec grub-mkconfig) :
GRUB_CMDLINE_LINUX_DEFAULT="quiet add_efi_memmap resume=$(swapon -s | grep '/dev/sd.[0-9]' -o)"

samedi, janvier 7 2012

Archlinux 2 - Le retour et install en chroot

Mon OS de base est Sabayon duquel je suis assez satisfait.
Tout y est si bien intégré que l'on fait pas beaucoup de système par contre il y a quand même beaucoup de choses installées (OS installé en 2010 à partir de le 5.4 kde), ca manque de frugalité.
Un autre point un peu ennuyeux de Sabayon est que la communauté est pas très grande, ca donne un coté intimiste mais il y a quand même peu d'activité sur le forum (il y a aussi peu de problèmes donc !), ca manque un peu de vie.
Je suis donc toujours à la recherche d'une distro simple et légère, j'ai préféré testé une gentoo, la mère de sabayon qui m'a permis d'apprendre pas mal de choses dont l'install en chroot.
Cette méthode consiste en gros à monter une partition dans un répertoire et de définir ce répertoire comme étant le "root" du shell.
Ce qui est intéressant c'est que avec un minimum de config on peut installer, updater et administrer la distrib gentoo à partir d'un autre OS, pas besoin de cd, clé usb ou même de reboot (hormis pour utiliser cette nouvelle installation).
Sans rentrer dans le détails gentoo c'est encore plus souple que sabayon car du à la compilation on a vraiment énormément de prise sur le système (les USE flag) et sur les versions des logiciels à installer.
C'est très bien fait, propre, clair avec une excellente doc mais mais ca prends du temps à compiler !
Voulant tester Arch linux depuis un moment j'ai utilisé une méthode d'installation en chroot sur mon portable.
La méthode générale est dans ce wiki, J'avais un peu galéré avec l'install via le cd mais la ca marche tout seul.
Il faut suivre toute la partie 3 qui permet en fin de tuto de booter sur un archlinux qui est vraiment minimal, pour rendre un système quasi opérationnel (avec wifi, X, openbox), voici les étapes supplémentaires (après le mkinitcpio).
  1. pacman -S grub2-bios
  2. Installation de grub2 pour avoir quelques outils pratiques type grub-mkconfig(remplace grub)
  3. pacman -S openbox obmenu obconf tint2
  4. Installation de openbox et des outils de configuration (à noter que openbox ne depends pas de ses outils de conf)
  5. pacman -S xorg-server
  6. Installation du server X
  7. pacman -S xf86-video-intel
  8. Après vérification du package par :

    pacman -Sg xorg-drivers | grep intel

  9. pacman -S sudo wicd
  10. wicd pour configurer simplement le wifi en nomade et sudo car su semble trop sécurisé.
  11. edit /etc/rc.conf
  12. Pour ajouter le démarrage de dbus et wicd :
    DAEMONS=(syslog-ng network crond dbus wicd)
  13. Configurer les locales
  14. edit /etc/locale.gen et choisir les locales dédirées.
    locale-gen
    locale -a
    Il faut aussi changer LOCALE,KEYMAP,TIMEZONE dans le rc.conf
  15. Configurer grub
  16. Dernière étape, j'utilise un grub multiboot sur mon portable, configurer le grub.cfg de sabayon pour ajouter une entrée arch.
    grub-mkconfig -o /tmp/grub.test
    Recopier la partir arch sur le /boot/grub/grub.cfg de l'OS hote.
    
    Sortir du chroot, umount dev/sys/proc, sync et reboot.
A cette étape on a un OS fonctionnel sous Arch/X/Openbox. On peut se connecter au wifi via wicd-curses si jamais on a des problèmes avec X11 pour installer les packages nécessaires (démarrage de X par xinit /usr/bin/openbox-session car pas de gestionnaire de connection). Il ne reste plus qu'à ajouter les packages pour agrémenter tout ca (firefox, vlc ...).
La prochaine étape sera de configurer un KDE si possible light, installer tous les logiciels que j'utilise sous sabayon et de faire un bout de route sous Arch pour comparer.

mardi, avril 12 2011

Le jour ou tout marche

Quelques modestes petits succès de la journée.

1 - Major !
Les fontes sous KDE sont parfois pas terribles surtout sous FF et autres GTKs apps.
Une super solution qui rends les choses presques parfaites.
Editer le .fonts.conf suivante cette page.
Quelques explications dans le forum gentoo (avantage de sabayon !).
Ca reste à creuser si je trouve le temps d'investiguer.
Il me reste plus qu'à tester si ca améliore le rendu assez mauvais des suse au boulot.

2 - Evidement pour editer du xml vi c est pas top.
Je trouve l'appli idéale pour editer simplement du xml sous QT !
Disponible dans entropy QXmlEdit.


3 - Satané VFAT Enfin ma clé USB ne voulait pas se monter en rw.
A noter que sur kubuntu ca se montait en RW alors que le fs etait corrompu ...
Après maintes recherches, l'option qu'il fallait (formattée en vfat) :

fsck -r  /dev/sdb1

3 problèmes de réglé en 15 minutes :-)

Il faudrait aussi que je me renseigne sur udev et les montages automatiques.
Les fichiers de conf me reste assez etrangers...
Encore dans les excellentes docs de gentoo.

mercredi, mars 16 2011

Utilisation de multisystem usb sur sabayon

Je trouve l'utilitaire multisystem extrêmement utile pour installer des iso sur une clé usb et pouvoir ensuite utiliser cette clé à la place d'un  gravage d'iso aussi temporaires que vite gâché.
Par contre le soft est écrit uniquement pour ubuntu et pas de la plus belle manière, j'ai regardé la portabilité de la chose.
Tout d'abord il faut faire l'install de l'outil en partant des sources à partir de /tmp...
Quelques packages manquent mais sont faciles à trouver (equo install xxxx).
Il faut pas mal de gnome ....
Reste quelques petits trucs :
- Variable SUDO_USER necessaire : faire export SUDO_USER=pierre
- genisofs : En regardant le ebuild du package gentoo cdrkit on voit :
"dosym genisoimage /usr/bin/mkisofs"
Il suffit donc de faire un lien de mkisofs (ln -s mkisofs genisoimage)

- fatresize : Impossible de trouver des sources ou paquets gentoo.
A partir des sources impossible de compiler ...
A la compilation il manque : libparted ...
configure: error: *** libparted >= 1.6.0 not installed - please install first ***
J'ai cette librairie : libparted.so.0 => /usr/lib/libparted.so.0, etonnant de passer de 0 à 1.6 ..
Je tourne dans tous les sens, compare avec une ubuntu :
pierre@ubuntu:/usr/local/share/multisystem$ ldd /usr/sbin/fatresize
linux-gate.so.1 => (0x00d44000)
libparted.so.0 => /lib/libparted.so.0 (0x0025c000)
libdl.so.2 => /lib/tls/i686/cmov/libdl.so.2 (0x00c1e000)
libc.so.6 => /lib/tls/i686/cmov/libc.so.6 (0x00a39000)
libuuid.so.1 => /lib/libuuid.so.1 (0x00f73000)
libdevmapper.so.1.02.1 => /lib/libdevmapper.so.1.02.1 (0x00525000)
libblkid.so.1 => /lib/libblkid.so.1 (0x005b0000)
/lib/ld-linux.so.2 (0x00e68000)
libselinux.so.1 => /lib/libselinux.so.1 (0x00baf000)
On est aussi en libparted.so.0 ...
A court d'idée et de temps je décide de reprendre le binaire kubuntu x64 et ca marche ...
J'ai même mon icône dans le kmenu et tout fonctionne nickel.
Si j'avais le temps je reprendrais bien le code qui est pas très pro ....

Il faut ajouter eval_gettext qui n'est pas trouvé de base.
C'est en fait une fonction disponible dans le package sys-devel/gettext en executant :
. /usr/bin/gettext.sh
Enfin au cas où il râle à cause de la non présence de grub-install, sous sabayon on a grub2-install donc faire un simple lien.
A noter que j'ai aussi essayé sur une opensuse 11.4 au boulot par curiosité et la impossible car gtkdialog n'est plus disponible.

vendredi, février 25 2011

Purger les vieux kernel sous Sabayon

A force d'installer des nouveaux kernels (via entropy), ça s'entasse sur mon système.
On commence par un purge des fichiers d'install de entropy :
equo cleanup
Ensuite on regarde les kernels installés (le kernel courant est celui suivis d'une *) :
sabayon ~ # eselect kernel list
Available kernel symlink targets:
[1]   linux-2.6.34-sabayon
[2]   linux-2.6.35-sabayon
[3]   linux-2.6.36-sabayon
[4]   linux-2.6.37-sabayon *
Je choisis de purger le .34.
sabayon ~ # equo query installed 2.6.34-sabayon | grep Paquet
@@ Paquet: app-emulation/virtualbox-guest-additions-4.0.2#2.6.34-sabayon branche: 5, [__system__]
@@ Paquet: app-emulation/virtualbox-modules-4.0.2#2.6.34-sabayon branche: 5, [__system__]
@@ Paquet: app-laptop/omnibook-20090628-r1#2.6.34-sabayon branche: 5, [__system__]
@@ Paquet: net-firewall/ipset-4.3#2.6.34-sabayon branche: 5, [__system__]
@@ Paquet: net-wireless/broadcom-sta-5.60.48.36-r1#2.6.34-sabayon branche: 5, [__system__]
@@ Paquet: net-wireless/ndiswrapper-1.55-r1#2.6.34-sabayon branche: 5, [__system__]
@@ Paquet: x11-drivers/xf86-video-virtualbox-4.0.2#2.6.34-sabayon branche: 5, [__system__
La il faut faire attention à bien avoir une version plus récente des packages que l'on s'apprete à enlever. On peut scripter ca :
for i in $(equo query installed 2.6.34-sabayon | grep Paquet | awk -F ':' '{print $2}' | sed s/-[0-9].*//) ;
do
equo query installed $i | grep Paquet
echo
done
Qui donne grosso modo tous les package qui comprennes une version de kernel. On peut donc enlever tous les packages correspondant à la version cible. Si il n'y a pas de version correspondante au kernel courant il peut etre sage de reinstaller le package par la suite. Dans mon cas j’obtiens la liste suivante :
@@ Paquet: app-emulation/virtualbox-guest-additions-4.0.2#2.6.34-sabayon branche: 5, [__system__]
@@ Paquet: app-emulation/virtualbox-modules-4.0.2#2.6.34-sabayon branche: 5, [__system__]
@@ Paquet: app-emulation/virtualbox-modules-4.0.2#2.6.36-sabayon branche: 5, [__system__]
@@ Paquet: app-emulation/virtualbox-modules-4.0.2#2.6.37-sabayon branche: 5, [__system__]
@@ Paquet: app-laptop/omnibook-20090628-r1#2.6.34-sabayon branche: 5, [__system__]
@@ Paquet: net-firewall/ipset-4.3#2.6.34-sabayon branche: 5, [__system__]
@@ Paquet: net-wireless/broadcom-sta-5.60.48.36-r1#2.6.34-sabayon branche: 5, [__system__]
@@ Paquet: net-wireless/ndiswrapper-1.55-r1#2.6.34-sabayon branche: 5, [__system__]
@@ Paquet: net-wireless/ndiswrapper-1.56#2.6.36-sabayon branche: 5, [__system__]
@@ Paquet: x11-drivers/xf86-video-virtualbox-4.0.2#2.6.34-sabayon branche: 5, [__system__]
@@ Paquet: x11-drivers/xf86-video-virtualbox-4.0.2#2.6.36-sabayon branche: 5, [__system__]
Au final je :
equo remove omnibook-20090628-r1#2.6.34-sabayon ipset-4.3#2.6.34-sabayon net-wireless/broadcom-sta-5.60.48.36-r1#2.6.34-sabayon
equo remove x11-drivers/xf86-video-virtualbox-4.0.2#2.6.34-sabayon ndiswrapper-1.55-r1#2.6.34-sabayon
equo remove sys-kernel/linux-sabayon-2.6.34
Je reinstalle les version recentes des packages manquants :
equo install x11-drivers/xf86-video-virtualbox-4.0.2#2.6.37-sabayon
Et voila.

jeudi, janvier 13 2011

sabacrunch - Sabayon sous openbox look crunchbang

Amateur de la distro crunchbang, j'ai essayé de l'installer sur mon poste via une clé USB.
Plantage en cours sur un bug lié à l'installeur Debian live.
Au final très content de Sabayon et interessé par openbox.
J'ai décidé de regarder de plus près la conf openbox et de l'adapter à mon OS sous KDE.

Je me suis basé sur une conf crunchbang installée en vbox.
La config openbox est extrêmement simple, localisé sous ~/.config/openbox et comprends 3 fichiers :

autostart.sh : appli lancées au démarrage
menu.xml : Menu openbox
rc.xml : Configuration openbox en général

Je n'ai pas modifié les pipemenus.
Tout d'abord installer openbox et les outils annexes de config :

equo install openbox obconf obmenu

puis la conf quelques packages lxde qui est utilisé pour gérer la session :

equo install lxsession lxappearance

Ajout de quelques applications :
tint2 : bar pour le desktop
nitrogen : pour gérer les fonds d'ecran
gmrun : Pour le lancer rapide d'application
terminator : terminal
dmenu : Menu list pour appeler les applications
conky : Applet de bureau pour afficher perf et raccourcis clavier.

equo install tint2 nitrogen conky gmrun terminator dmenu

Ensuite quelques application xfce :
Thunar : file manager
pidgin : à la place de kopete
Ensuite on a bien un systray dans la taskbar, on y ajoute les composants necessaires :
xfce4-power-manager : Indicateur de la batterie
gnome-media : Indicateur de son
nm-applet : applet network manager

Il reste ensuite à tout configurer pour reprendre le look crunchbang récupérés sur la VM.
skel.tar : fichier de /etc/skel qui sont copiés à la création d'un nouveau compte et qui contiennent la conf par defaut dont j'ai enlevé ce qui ne concerne pas openbox.
openbox-theme.tar : Themes open box
crunchbang-wallpapers.tar  : Wallpaper crunchbang
Ces fichiers sont diponible en attachement de ce post, à examiner avant de détarer.
En reprenant le skel.tar dans sa home dir on récupère une bonne partie de la config graphique crunch.

Il ne reste plus qu'à modifier les fichiers existant pour coller à ma configuration personnelle.
Pour l'auto start je rajoute :
gnome-volume-control-applet (à la place de volumeicon), ibus-daemon -xrd (gestion d'input clavier), pidgin et script xrandr pour gérer le double ecran.
Il faut ensuite configurer nitrogen pour aller chercher le bon repertoire, modifier le menu.xml pour mes applis favorites.
Je n'ai pas utilisé le programme volumeicon de crunchbang.
A noter la command obmenu qui permet de modifier graphiqument le menu.xml et d'appliquer les modifs immédiatement.
Voir le fichier menu.xml en attachement qui mixe les applis KDE, xfce, gnome.
Il faut aussi changer l'étiquette dans les fichiers :
./.config/autostart/xfce4-autostart.desktop
./.config/xfce4/xfconf/xfce-perchannel-xml/xfce4-keyboard-shortcuts.xml

A noter l'abbréviation x-www-browser fréquement utilisée qui est configurée sous debian par les update-alternatives.
Je n'ai pas trouvé d'équivalent sous sabayon/gentoo et ai donc fait un lien de ~/bin/x-www-browser -> /usr/bin/chromium.
Pour ceux qui utilisent gdm, le theme crunch est dispo la.

En conclusion un desktop attayant et très rapide mais il faut installer pas mal de choses.
Les dependances aidant on rajoute une bonne partie des desktops gnome et xfce.
Voila le resultat (avec un background sabayon !) :

Bureau sabayon/openbox
Liens utiles :
Configuration de la taskbar : http://code.google.com/p/tint2/wiki/Configure
Configuration openbox : http://www.siteduzero.com/tutoriel-3-240399-fichiers-de-configuration-autostart-sh-menu-xml-rc-xml.html
Configuration de conky : http://conky.sourceforge.net/

samedi, juillet 31 2010

Ecrire en japonais sous sabayon

La méthode pour ecrire en japonais sous sabayon est :
emerge ibus
emerge ibus-anthy
ibus-setup
Puis update le fichier .xprofile
export XMODIFIERS="@im=ibus"
export GTK_IM_MODULE="ibus"
export QT_IM_MODULE="xim"
ibus-daemon -d -x
J'ai beaucoup galéré et après maintes modifications j'y suis arrivé.
Les points qui me semblent importants :
  1. Utiliser emerge et pas equo.
  2. J'utilise un double boot avec kubuntu et la conf est un peu differente (remplacer QT_IM_MODULE=ibus => xim).
  3. Update des locales (voir plus bas)
  4. J'ai aussi ajouté les variable d'env dans mon .bashrc
Les locales systemes ne montraient pas l'env jap (locale -a).
Editer le fichier /etc/locale.gen et ajouter :
ja_JP.EUC-JP EUC-JP
ja_JP.UTF-8 UTF-8
Lancer la commande :
# locale-gen
Et voila, au besoin configurer la méthode de switch avec click droit sur l'icone de clavier dans ma boite à miniature.
Ca marche super bien dans toutes les applis.

Les liens suivant m'ont bien aidé :
http://forum.sabayon.org/viewtopic.php?f=57&t=16041&p=96397&hilit=japanese#p96397
http://zibundemo.blogspot.com/2008/10/japanese-ims-support-in-gentoo.html
http://sabayongentoo.blogspot.com/2009/11/ibus-anthy.html

ibus + Anthy
以上。