Projets:Perso:2020:libreboot x200
From Electrolab
Porteur de projet: Ferry
Contents
Objectif
Flasher un X200 sous libreboot en s'aidant du PSLab comme générateur de courant et une carte ARM (soit OrangePi, soir Olimex) pour la programmation de la puce de BIOS.
Matériels
- Lenovo X200
- PSLab
- Carte ARM
Étapes du flashage
Prise de note brut du premier install party de l'électrolab.
# Flashage
```
cd /home/franci/Administration/orangepi
sudo dd if=Debian_Server_jessie_PC2_V0_9_1.img of=/dev/mmcblk0 bs=4M conv=noerror,sync status=progress
```
```
Périphérique Amorçage Début Fin Secteurs Taille Id Type
/dev/mmcblk0p1 40960 143359 102400 50M c W95 FAT32 (LBA)
/dev/mmcblk0p2 143360 2457599 2314240 1,1G 83 Linux
Commande (m pour l'aide) : d
Numéro de partition (1,2, 2 par défaut) : 2
La partition 2 a été supprimée.
Commande (m pour l'aide) : n
Type de partition
p primaire (1 primaire, 0 étendue, 3 libre)
e étendue (conteneur pour partitions logiques)
Sélectionnez (p par défaut) : p
Numéro de partition (2-4, 2 par défaut) : 2
Premier secteur (2048-60661759, 2048 par défaut) : 143360
Dernier secteur, +/-secteurs ou +/-taille{K,M,G,T,P} (143360-60661759, 60661759 par défaut) :
Une nouvelle partition 2 de type « Linux » et de taille 28,9 GiB a été créée.
La partition #2 contient une signature ext4.
Voulez-vous supprimer la signature ? [O]ui/[N]on : n
```
```
sudo fdisk /dev/mmcblk0 # Supprimer puis recréer la partition de root en faisant attention à redéfinir le bon début du secteur
sudo resize2fs -p /dev/mmcblk0p2
```
<https://archlinuxarm.org/platforms/armv8/allwinner/pine64>
S'inspirer de ça.
<https://gitlab.denx.de/u-boot/u-boot>
Fichier DTS pour orange pi pc 2 `u-boot/arch/arm/dts/sun50i-h5-orangepi-pc2.dts`
# Flashrom
Commande flashrom spécifique d'après <https://www.flashrom.org/Arduino_flasher_3.3v>:
```
flashrom -p serprog:dev=/dev/ttyUSB0:2000000,spispeed=100k
```
**/!\: Surveiller la lecture de la ROM par la commande suivante: `sudo su; strace -e read,write -p $(pidof flashrom)`**
Commande de backup de ROM
```
sudo flashrom -p serprog:dev=/dev/ttyUSB0:2000000,spispeed=100000 -c "MX25L6405D" -r /home/franci/Administration/X200/rom-backup/factory.rom
```
Temps mis pour `factory-1.rom` (sortie time):
real 9m9,619s
user 0m2,703s
sys 0m7,312s
Téléchargement de la ROM de libreboot par ` wget https://elgrande74.net/libreboot/stable/20160907/rom/grub/libreboot_r20160907_grub_x200_8mb.tar.xz`
# À propos du flasheur
Préférer un flasheur avec des pins 'spi', sinon obligation de tout reconfigurer.
Pins GPIO -> besoin de reconfigurer par logiciel si c'est supporté.