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 Responses

  1. Ah-bla
    Ah-bla 24 février 2014 at 2h59 | |

    Juste un petit mot pour une petite commande qui manque à cette procédure très bien documenté :
    sudo apt-get install libncurses5-dev

  2. Ah-bla
    Ah-bla 24 février 2014 at 13h03 | |

    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 !

  3. Framboisier
    Framboisier 24 février 2014 at 13h23 | |

    Merci pour tes remarques !!! 😀

  4. Ah-bla
    Ah-bla 27 février 2014 at 2h07 | |

    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/

Leave a Reply

You must be logged in to post a comment.