Salut à tous, aux anciens et aux nouveaux
Après un vol de portable cher, je me suis rabattu sur un Chromebook Asus C300 - moins cher mais aussi beaucoup moins bien achalandé. J'ai passé une journée à y installer une Debian Jessie 8.4 tellement les infos sont dispersées et le modèle (pour de bonnes raisons) n'est pas répandu sous Linux.
Au final, c'est bien une Jessie/Stretch qui y tourne directement, sans rien d'autre (ni Chroot, ni Crouton, ni double-boot, etc).
Voici donc quelques infos.
Je ne conseille pas forcément l'acquisition de ce genre de machine pour y faire tourner une Debian:
* C'EST DIFFICILE ET RISQUE POUR LA MACHINE ET LES MANIPULATIONS SE FONT SOUS VOTRE RESPONSABILITE
* La machine produit un léger bruit lorsque le processeur travaille, ce qui peut en gêner certains (Debian ou pas)
* Le clavier n'est pas standard
L'installation complète fonctionne indifféremment avec sysvinit ou systemd.
Elle nécessite pulseaudio
Les points 1-3 sont tirées de cette page en anglais et parfois éliptique:
https://cublinux.com/forum/viewtopic.php?f=9&p=2376
*1) Dévérouiller le Chromebook*
Démarrer avec la combinaison de touches: echap+rafraîchissement (la spirale)+bouton d'allumage
appuyez sur ctrl+d et laissez faire, sans crainte, malgré les points d'exclamation et le double bip final
C'est là que le C300 réserve ses premières surprises, avec notamment des problèmes de droit admin si vous ne passez pas par la bonne porte:
Une fois le chromebook démarré en mode dévellopeur, faites la combinaison ctlrl+alt+touche flèche droite (ou gauche) en haut du clavier
Connectez vous en tant que chronos, puis su
Entrez l'instruction proposée par le chromebook pour dévérouiller les ports usb au démarrage
exit
Redémarrez.
*2) Dévérouiller physiquement le BIOS (étape critique)*
On appréciera les soins que Google prend pour protéger ses utilisateurs et qui f(er)ont peut-être regretter ses concurrents.
Le bios ne peut pas démarrer sur des noyaux non-signés (type Debian semble t-i) si on ne retire pas une... vis à côté du bios sur la carte mère. A faire avec les tourne-vis et la carte en plastique qui va bien comme indiqué ici avec photos, vers le milieu de la page
http://www.matws.org/c300/
3) Installer Seabios et flasher le biospour pouvoir démarrer sur usb
Autre étape critique.
faites la combinaison ctlrl+alt+touche flèche droite (ou gauche) en haut du clavier pour vous connecter à la console admin en tant que chronos
puis
Code : Tout sélectionner
cd; rm -f flash_chromebook_rom.sh; curl -O https://johnlewis.ie/flash_chromebook_rom.sh; sudo -E bash flash_chromebook_rom.sh
*4) Installer Debian Jessie (et faire marcher le wifi)*
Au plus simple, prendre une image iso hybride live de Debian xfce4, qui contient à coup sûr network-manger (à tester avec la netinstall)
http://cdimage.debian.org/debian-cd/cur ... esktop.iso
Copier l'image sur une clé bootable (où sdx est votre clé usb sans indication de partition):
Code : Tout sélectionner
dd if=image.iso of=/dev/sdx
Passer par l'installation en mode expert. Il manque les firmwares pour le wifi.
Télécharger firmware-iwlwifi_0.43_all.deb, extraire le paquet comme une archive, de cette archive, sortir iwlwifi-7260-8.ucode et iwlwifi-7260-9.ucode et les placer sur une clé usb, brancher la clé.
L'intalleur Debian se charge du reste.
*5) Mettre le noyau de la Jessie à niveau (faire marcher le Touchpad et à nouveau le wifi)*
Le touchpad ne marche pas avec le noyau 3.16. A partir du 4.4, pas de souci.
Passer par les dépôts jessie-backports pour éviter les problèmes de dépendances de Xserver-xorg, qui peuvent problème ensuite
Dans mon cas, noyau utilisé=linux-image-4.5.0-0.bpo.1-amd64
Le wifi peut décrocher avec ce noyau, sans network-manager. Installeez la dernière version de firmware-iwlwifi des dépôts backports (la 20160110-1~bpo8+1)
VOIR POST DU PREMER FEVRIER 2018 POUR INSTALLER UN NOYAU SUR 4.14 et SUPERIEUR ET NON le POINT 6 Ci-DESSOUS
*6) Installer le noyau de la distribution GalliumOS (faire marcher le son, étape 1)*
Le son ne marche absolument pas à ce stade. Pas trouvé d'autres solutions que reprendre un noyau d'une distribution spéciale pour Chromebook, GalliumOS (basée sur Ubuntu).
Ajouter ces lignes à votre sources.list:
Code : Tout sélectionner
deb http://apt.galliumos.org xenon main
deb http://apt.galliumos.org xenon-testing main
Code : Tout sélectionner
Package: *
Pin: release o=galliumos.org
Pin-Priority: 10
Code : Tout sélectionner
apt-get install linux-firmware-image-4.12.0-galliumos-baytrail
apt-get install linux-headers-4.12.0-galliumos-baytrail
apt-get install linux-image-4.12.0-galliumos-baytrail
*7) Installer galliumos-baytrail patché ou en le patchant (faire marcher le son, étape 2)*
Pour faire marcher le son, pas trouvé de quoi reproduire ce que fait en configuration de pulseausio un paquet de galliumOS, galliumos-baytrail
Ce paquet pose un problème de dépendance (à un paquet de configuration général, galliumos-base à ne surtout pas installer). Il faut les modifier. Patchez les dépendances vous même, par exemple grâce à cette page:
http://eric.van-der-vlist.com/blog/2005 ... et_debian/
Soit,
télécharger le paquet dans le dossier courant
Code : Tout sélectionner
aptitude download galliumos-baytrail
puis en se plaçant dans un dossier où le paquet se trouve, en root bien entendu
Code : Tout sélectionner
dpkg-deb -x galliumos-baytrail_2.0.1_all.deb galliumos-baytrail_2.0.1_all
mkdir galliumos-baytrail_2.0.1_all/DEBIAN
dpkg-deb -e galliumos-baytrail_2.0.1_all.deb galliumos-baytrail_2.0.1_all/DEBIAN
Reconstituer le paquet
Code : Tout sélectionner
dpkg-deb -b galliumos-baytrail_2.0.1_all
Code : Tout sélectionner
dpkg -i galliumos-baytrail_2.0.1_all.deb
8) Modifier le clavier pour le rendre conforme (ajout des touches suppr, pgdown et pgup)
(Voir ce fil, pour la question initiale et les réponses données:
viewtopic.php?f=8&t=117&p=838#p838 )
et cette page
https://wiki.archlinux.fr/Xmodmap:
Le principe, c'est d'afficher les codes du clavier chargé par défaut, quoi qu'il en soit des touches physiques réellement existantes, et de modifier ces codes, en mettant ceux des touches dont on a besoin
a) identifier les codes des touches que l'on compte utiliser en substitution en notant le keycode et pas le code ascii
Code : Tout sélectionner
xev
b) Identifier le code de la touche que l'on souhaite implémenter en remplacement, et qui fait partie de la cartographie du clavier chargée en tant que config/variante, que la touche existe physiquement ou non.
Pour connaître toutes les touches disponibles:
Code : Tout sélectionner
xmodmap -pke
Code : Tout sélectionner
xmodmap -pke | grep Del
keycode 91 = KP_Delete period KP_Delete period comma U202F comma U202F
keycode 119 = Delete NoSymbol Delete
c) On change la signification du keycode 49 en lui attribuant celle du 119. La touche 2 exposant prend le rôle de la touche suppr, connue dans la config générale du clavier mais qui n'eistait pas physiquement.
Code : Tout sélectionner
xmodmap -e "keycode 49 = Delete NoSymbol Delete"
http://ubuntuforums.org/showthread.php?t=1218221
les bonnes instructions sont (en remplaçant XX par la touche de votre choix:
Code : Tout sélectionner
xmodmap -e "keycode XX = Next NoSymbol Next"
xmodmap -e "keycode XX = Prior NoSymbol Prior"
Code : Tout sélectionner
keycode 49 = Delete NoSymbol Delete
keycode 75 = Next NoSymbol Next
keycode 76 = Prior NoSymbol Prior
Code : Tout sélectionner
xmodmap /home/user/.Xmodmap
9) Assigner de nouvelles fonctions aux touches dans la console (tty1-6)
Le principe est le même que précédemment, avec d'autres codes de touchhes et d'autres instructions
Voir pour les instructions cette page à l'ancienne, complète et claire bravo:
http://casteyde.christian.free.fr/syste ... x5879.html
Et pour les codes:
http://www.comptechdoc.org/os/linux/how ... codes.html
Récupérer le code de la touche que l'on souhaite modifier
Code : Tout sélectionner
showkey -s
Code : Tout sélectionner
setkeycodes le-code-récupéré-moins-"0x" la-nouvelle-fonction-voir-colone-keycode-de-la-page-comptechdoc
10) Faire fonctionner le clic du pad par tapottement (simple clic gauche)
C'est synclient la bonne solution (et non pas xinput par exemple)
Code : Tout sélectionner
synclient TapButton1=1
11) En utilisant le noyau de Galiumos (voir pt6), bugs connu et ancien (7 ans !) des noyaux Ubuntu qui remplit les logs /var/log/kern.log, /var/log/debug de lignes du type "evbug: Event. Dev: input5, Type: 3, Code: 57" au rythme de plusieurs par seconde: 3Go de logs en 8 jours...
Solution actuelle: blacklister le module evbug, c'est à dire éditer blacklist.conf.
Code : Tout sélectionner
nano /etc/modprobe.d/blacklist.conf
Code : Tout sélectionner
#evbug
blacklist evbug
Mettre à jour le noyau
Code : Tout sélectionner
update-initramfs -u
En cas de souci futur, ne pas oublier que ce module a été désactivé.
Et voilà ! Redémarrez, ça marche.