Changement de logo de démarrage du noyau v2

Changement de logo de démarrage du noyau v2.

Distribution : Ubuntu 12.04 LTS

1) Répertoire de travail :

[~] ➔ mkdir RASPBERRYPI.se.logo
[~] ➔ cd RASPBERRYPI.se.logo/
[~/RASPBERRYPI.se.logo] ➔ 

2) Téléchargement des outils :

[~/RASPBERRYPI.se.logo] ➔ git clone https://github.com/raspberrypi/tools.git

3) Téléchargement du noyau Linux :

[~/RASPBERRYPI.se.logo] ➔ git clone https://github.com/raspberrypi/linux.git

4) Installation du logiciel de conversion :

[~/RASPBERRYPI.se.logo] ➔ sudo apt-get install netpbm

5) Télécharger un logo :

http://tux.crystalxp.net/fr.id.1587-tux-gign.html

6) Redimensionnent :

[~/RASPBERRYPI.se.logo] ➔ convert pit-tux-tux-gign.png -resize 80x80 logo.jpg 

7) Conversion en ppm :

– Conversion en ppm :

[~/RASPBERRYPI.se.logo] ➔ jpegtopnm logo.jpg > logo.ppm
jpegtopnm: WRITING PPM FILE

– Création de tmp :

[~/RASPBERRYPI.se.logo] ➔ ppmquant 224 logo.ppm >logo_224.tmp
ppmquant: making histogram...
ppmquant: 2206 colors found
ppmquant: choosing 224 colors...
ppmquant: mapping image to new colors...

– Conversion en ppm :

[~/RASPBERRYPI.se.logo] ➔  pnmnoraw logo_224.tmp > logo_linux_clut224.ppm

– Copie du logo dans le code source :

[~/RASPBERRYPI.se.logo] ➔ cp logo_linux_clut224.ppm linux/drivers/video/logo/

8) Installation du compilateur de compilation-croisé :

[~/RASPBERRYPI.se.logo] ➔ sudo apt-get install gcc-4.6-arm-linux-gnueabi
[~/RASPBERRYPI.se.logo] ➔ sudo ln -s /usr/bin/arm-linux-gnueabi-gcc-4.6 /usr/bin/arm-linux-gnueabi-gcc

9) Compilation du menuconfig :

– Création de la configuration :

[~/RASPBERRYPI.se.logo] ➔ cd linux/
[~/RASPBERRYPI.se.logo/linux (rpi-3.10.y)⚡] ➔ make ARCH=arm CROSS_COMPILE=/usr/bin/arm-linux-gnueabi- bcmrpi_cutdown_defconfig

– Création de menuconfig :

[~/RASPBERRYPI.se.logo/linux (rpi-3.10.y)⚡] ➔ make ARCH=arm CROSS_COMPILE=/usr/bin/arm-linux-gnueabi- menuconfig

10) Configuration du logo dans le logo :

* Menu du logo :

[Device Drivers –>]
[Graphics support —>]
[[*] Bootup logo —>]

* Sélectionner les types de logo :

[[*] Standard 16-color Linux logo]
[[*] Standard 224-color Linux logo]

* Sauvegarde :

[< Save >]
[< Ok >]
[< Exit >]

* Quitter :

[< Exit >]
[< Exit >]
[< Exit >]
[< Exit >]

11) Compilation :

[~/RASPBERRYPI.se.logo/linux (rpi-3.10.y)⚡] ➔  make ARCH=arm CROSS_COMPILE=/usr/bin/arm-linux-gnueabi- -k -j5

12) Décompression du noyau :

[~/RASPBERRYPI.se.logo/linux (rpi-3.10.y)⚡] ➔ cd ../tools/mkimage/
[~/RASPBERRYPI.se.logo/tools/mkimage (master)] ➔ ./imagetool-uncompressed.py ../../linux/arch/arm/boot/Image
[~/RASPBERRYPI.se.logo/tools/mkimage (master)⚡] ➔ ls -l kernel.img 
-rw-rw-r-- 1 util01 util01 4324768 févr. 10 23:54 kernel.img

13) Télécharger une image de Raspbian :

[~/RASPBERRYPI.se.logo/tools/mkimage (master)⚡] ➔ cd ../..
[~/RASPBERRYPI.se.logo] ➔ wget https://miniordi.hacktech.dev/images/2014-01-07-wheezy-raspbian.zip

14) Décompresser l’archive de l’image :

[~/RASPBERRYPI.se.logo] ➔ unzip 2014-01-07-wheezy-raspbian.zip 
[~/RASPBERRYPI.se.logo] ➔ ls -l *.img
-rw-r--r-- 1 util01 util01 2962227200 janv.  8 00:42 2014-01-07-wheezy-raspbian.img

15) Installation de kpartx :

[~/RASPBERRYPI.se.logo] ➔ sudo apt-get install multipath-tool

16) Création d’un répertoire de montage

[~/RASPBERRYPI.se.logo] ➔ mkdir tmpmount

17) Montage de l’image du Raspberry Pi :

[~/RASPBERRYPI.se.logo] ➔  sudo kpartx -v -a 2014-01-07-wheezy-raspbian.img 
add map loop0p1 (252:0): 0 114688 linear /dev/loop0 8192
add map loop0p2 (252:1): 0 5662720 linear /dev/loop0 122880
[~/RASPBERRYPI.se.logo] ➔ sudo ls /dev/mapper/
control  loop0p1  loop0p2

18) Montage de la 1er partition :

[~/RASPBERRYPI.se.logo] ➔ sudo mount /dev/mapper/loop0p1 tmpmount/

19) Vérification :

[~/RASPBERRYPI.se.logo] ➔ mount  | grep tmpmount
/dev/mapper/loop0p1 on /home/util01/RASPBERRYPI.se.logo/tmpmount type vfat (rw)
[~/RASPBERRYPI.se.logo] ➔ ls tmpmount/
bootcode.bin  fixup_cd.dat  issue.txt             LICENSE.oracle  start_x.elf
cmdline.txt   fixup.dat     kernel_emergency.img  start_cd.elf
config.txt    fixup_x.dat   kernel.img            start.elf

20) Copie du nouveau kernel :

[~/RASPBERRYPI.se.logo] ➔ sudo cp tools/mkimage/kernel.img tmpmount/

21) Démontage de la partition :

[~/RASPBERRYPI.se.logo] ➔ sudo umount tmpmount
[~/RASPBERRYPI.se.logo] ➔ sudo kpartx -d 2014-01-07-wheezy-raspbian.img 
loop deleted : /dev/loop0

22) Vérification :

[~/RASPBERRYPI.se.logo] ➔ ls -l 2014-01-07-wheezy-raspbian.img 
-rw-r--r-- 1 util01 util01 2962227200 févr. 11 18:39 2014-01-07-wheezy-raspbian.img

24) Graver l’image sur une carte SD.

25) Capture d’écran :

2014-02-11 22.56.36

4 commentaires sur “Changement de logo de démarrage du noyau v2”

  1. La procédure est super ! Et malgré son apparence, elle reste très accessible. J’ai essayé de la porter sur Debian mais sans succès, j’ai dû installer une petite VM pour arriver à mes fins.

    Deux petits points supplémentaires :
    – Aucune obligation « technique » de garder une image en 80*80, j’ai testé avec une 500*500 et l’espace dédié au listing des opérations de démarrage reste visible et ne cache aucune ligne (elles restent affiché moins longtemps vu que l’espace est plus petit)
    – J’ai utilisé une image du système de mon RPI (extrait avec Win32DiskImager) à la place de l’image officiel proposé dans la procédure et cela fonctionne également sans aucuns soucis !

    Encore merci pour cette procédure qui m’a rendu un grand service !

  2. En fait, j’ai eu un petit gros soucis avec ta procédure… Elle ne prend pas en compte le fait d’utiliser une version différente que la « lastrelaese ».
    Il faut donc préparer sont dossier linux/ en faisant pour la version 3.6 🙂 :
    git init
    git fetch git://github.com/raspberrypi/linux.git rpi-3.6.y:refs/remotes/origin/rpi-3.6.y
    git checkout rpi-3.6.y

    Ensuite, il faut suivre la procédure suivante en complément de la tienne afin de modifier en plus du kernel.img les dossiers /lin/modules et /lib/firmware:
    http://mitchtech.net/raspberry-pi-kernel-compile/

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *