Installer Ubuntu sur un MacBook 5,2 en Live USB : Différence entre versions

De e-glop
m (Annulation des modifications 2419 de BeTa (discussion))
m (Le port "écouteurs")
Ligne 105 : Ligne 105 :
  
 
  alias snd-hda-intel snd_hda_intel
 
  alias snd-hda-intel snd_hda_intel
  options snd_hda_intel model=mb5 power_save=5
+
  options snd_hda_intel model=intel-alc889a power_save=5
 
  install snd_hda_intel modprobe --ignore-install snd_hda_intel && /etc/snd-hda-intel.py
 
  install snd_hda_intel modprobe --ignore-install snd_hda_intel && /etc/snd-hda-intel.py
  

Version du 2 septembre 2013 à 02:25

Problématique

Un MacOSX qui est devenu très lourd après 5 ans d'utilisation, pas de CD de MacOSX pour réinstaller, un lecteur CD en vrac avec un CD coincé à l'intérieur... Ok, "on l'a bien cherché" comme dirait l'autre...

N'empêche que... on a besoin de passer par un support USB pour installer Ubuntu, que nous sommes sur un MacBook, et que ce n'est pas franchement évident.


Pré-requis

  • Avoir téléchargé l'ISO ubuntu-13.04-desktop-amd64.iso (attention, pas la version "+mac")
  • Avoir un support USB vierge de toute données de taille suffisante (>800Mo) et de qualité (attention aux erreurs d'entrées/sorties)
  • Avoir branché son MacBook sur le secteur
  • Avoir un MacOSX ou un GNU/Linux sous la main


En route, "attachez vos ceintures"

Préparez le terrain

  • Notez le nom de votre périphérique USB (sous la forme /dev/sdX ou /dev/diskX), et pensez à remplacer /dev/sdX dans les exemples suivants par le nom que vous aurez trouvé
  • Sauvegardez toutes vos données sur votre MacBook, car tout sera perdu par la suite.
  • Sauvegardez toutes les données de votre support USB qui seront ensuite perdues
  • Démontez proprement votre support USB, en passant s'il le faut par umount /dev/sdX
  • Dans un terminal, lancez la commande  :
$ sudo dd if=/path/to/ubuntu-13.04-desktop-amd64.iso of=/dev/sdX


C'est parti !!

  • MacBook éteint, insérez votre support USB dans un port USB du MacBook.
  • Appuyez sur le bouton "power" pour allumer votre MacBook tout en maintenant la touche "Alt/Option" enfoncée
  • Vous verrez apparaître au bout d'un certain temps le disque dur du MacBook et deux disques "EFI Boot" à côté
  • Choisissez le dernier "EFI Boot"
  • Laissez venir l'interface "Live USB" de Ubuntu
  • Cliquez sur "Install Ubuntu" et laissez vous guider comme à l'accoutumée
  • Rebootez et laissez votre MacBook se lancer normalement sous Ubuntu (ça peut prendre un peu de temps) ! Tout se passe bien ? Le tour est joué !


Finalisations

Votre support USB

Votre support USB est inutilisable en l'état pour d'autres usages que celui d'installer Ubuntu sur un MacBook. Pensez donc à le reformater, de préférence en FAT32 si vous souhaitez qu'il soit lisible de manière "standard".

Le port "écouteurs"

NOT YET READY!!

Par défaut, lors de nos essais, le port "écouteurs" restait muet par défaut. Pour déclencher la sortie son sur les écouteurs, nous avons du effectuer les manipulations suivantes :

wget -O run.py http://www.alsa-project.org/hda-analyzer.py
sudo python run.py

Là trouver le "Node[0x15] PIN" correspondant à "Headphone Playback Switch" et passer la "VREF" du "Widget Control" à 100. Ensuite choisissez d'exporter votre fichier pour pouvoir le lancer à chaque lancement de votre MacBook. Si HDA Analyzer plante pour des raisons de :

AttributeError: HDANode instance has no attribute 'set_vol_knb'

À vous de hacker le code de votre utilitaire ...

Si jamais vous n'avez pas le cœur à cela, voici le contenu de ce que vous devriez obtenir, et que vous irez mettre dans le fichier (que vous créerez à cette occasion) /etc/snd-hda-intel.py :

#!/usr/bin/env python

import os
import struct
from fcntl import ioctl

def __ioctl_val(val):
  # workaround for OverFlow bug in python 2.4
  if val & 0x80000000:
    return -((val^0xffffffff)+1)
  return val

IOCTL_INFO = __ioctl_val(0x80dc4801)
IOCTL_PVERSION = __ioctl_val(0x80044810)
IOCTL_VERB_WRITE = __ioctl_val(0xc0084811) 

def set(nid, verb, param):
  verb = (nid << 24) | (verb << 8) | param
  res = ioctl(FD, IOCTL_VERB_WRITE, struct.pack('II', verb, 0))

FD = os.open("/dev/snd/hwC0D0", os.O_RDONLY)
info = struct.pack('Ii64s80si64s', 0, 0, , , 0, )
res = ioctl(FD, IOCTL_INFO, info)
name = struct.unpack('Ii64s80si64s', res)[3]
if not name.startswith('HDA Codec'):
  raise IOError, "unknown HDA hwdep interface"
res = ioctl(FD, IOCTL_PVERSION, struct.pack('I', 0))
version = struct.unpack('I', res)
if version < 0x00010000:	# 1.0.0
  raise IOError, "unknown HDA hwdep version"

# initialization sequence starts here...

set(0x15, 0x707,   0xc5) # 0x150707c5 (SET_PIN_WIDGET_CONTROL)

os.close(FD)

Rendez ce script exécutable en l'état :

sudo chmod +x /etc/snd-hda-intel.py

Puis ajouter l'exécution de ce script à chaque chargement du module via le fichier /etc/modprobe.d/alsa-base.conf (ou équivalent) en y ajoutant à sa fin les lignes suivantes :

alias snd-hda-intel snd_hda_intel
options snd_hda_intel model=intel-alc889a power_save=5
install snd_hda_intel modprobe --ignore-install snd_hda_intel && /etc/snd-hda-intel.py

Enfin, pour être sûr que votre module ALSA sera bien chargé avec les-dites options, il faut forcer son chargement via /etc/modules en ajoutant une ligne à la fin du fichier :

# /etc/modules
# ...
snd_hda_intel

Le tour est joué.

La sensibilité du trackpad

Modifiez la section "InputDevice" de votre /etc/X11/xorg.conf (à générer s'il n'existe pas) pour qu'elle ressemble à :

# ...
Section "InputDevice"
  Identifier "Mouse0"
  Driver "mouse"
  Option "Protocol" "auto"
  Option "Device" "/dev/psaux"
  Option "Emulate3Buttons" "no"
  Option "ZAxisMapping" "4 5"
  Option "FingerLow" "1"
  Option "FingerHigh" "20"
EndSection
#...

Les détails qui restent pour votre MacBook

Référez-vous à la documentation (en anglais) que vous pourrez trouver sur les pages MacBook5-1/Raring et MacBook5-2/Maverick de l'aide officielle d'Ubuntu.