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

De e-glop
(Finalisations)
m (Le port "écouteurs")
Ligne 102 : Ligne 102 :
 
  os.close(FD)
 
  os.close(FD)
  
Puis ajouter l'exécution de ce script à chaque démarrage :
+
Puis ajouter l'exécution de ce script à chaque démarrage, via le fichier /etc/rc.local :
  
 +
#!/bin/bash
 +
#
 
  #/etc/rc.local
 
  #/etc/rc.local
 
  # ...
 
  # ...

Version du 2 septembre 2013 à 00:09

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"

Deux choses pour se faire :

Ajouter la ligne suivante à votre fichier /etc/modprobe.d/alsa-base.conf :

sudo modprobe snd-hda-intel model=mb5 power_save=5

Ensuite effectuer les manipulations suivantes pour déclencher la sortie son sur les écouteurs :

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 (par exemple) dans /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)

Puis ajouter l'exécution de ce script à chaque démarrage, via le fichier /etc/rc.local :

#!/bin/bash
#
#/etc/rc.local
# ...
python /etc/snd-hda-intel.py
exit 0

Le tour est joué.

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.