Compilation de OpenWRT

Compilation de OpenWRT.

Compilation de l’image OpenWrt pour Raspberry Pi avec le kernel v3.6

Distribution : Ubuntu 12.04

1) Sous Ubuntu, installation des paquetages de développement :

[~] ➔ sudo apt-get install build-essential subversion git-core libncurses5-dev zlib1g-dev gawk flex quilt libssl-dev xsltproc libxml-parser-perl mercurial bzr ecj cvs unzip

2) Répertoire de travail :

[~] ➔ mkdir RPIOPENWRT
[~] ➔ cd RPIOPENWRT/
[~/RPIOPENWRT] ➔ 

3) Téléchargement du code source :

[~/RPIOPENWRT] ➔ git clone git://git.openwrt.org/openwrt.git

4) Téléchargement des paquetages :

[~/RPIOPENWRT] ➔ cd openwrt/
[~/RPIOPENWRT/openwrt (master)] ➔ mkdir dl
[~/RPIOPENWRT/openwrt (master)] ➔ ./scripts/feeds update -a
[~/RPIOPENWRT/openwrt (master)] ➔ ./scripts/feeds install -a

5) Vérification :

[~/RPIOPENWRT/openwrt (master)] ➔ make defconfig
[~/RPIOPENWRT/openwrt (master)] ➔ make prereq

6) Téléchargement du kernel :

[~/RPIOPENWRT/openwrt (master)] ➔ cd ..
[~/RPIOPENWRT] ➔ mkdir tmp
[~/RPIOPENWRT] ➔ cd tmp/
[~/RPIOPENWRT/tmp] ➔ wget https://github.com/raspberrypi/linux/archive/rpi-3.6.y.tar.gz
[~/RPIOPENWRT/tmp] ➔ tar xfvz rpi-3.6.y.tar.gz

7) Préparation de l’archive du kernel :

[~/RPIOPENWRT/tmp] ➔ mv linux-rpi-3.6.y linux-3.6.11
[~/RPIOPENWRT/tmp] ➔ tar cvf - linux-3.6.11/ | lzma > linux-3.6.11.tar.xz
[~/RPIOPENWRT/tmp] ➔ mv linux-3.6.11.tar.xz ../openwrt/dl/
[~/RPIOPENWRT/tmp] ➔ cd ../openwrt/

8) Configuration du Makefile :

Ouvrir :

target/linux/brcm2708/Makefile

Chercher :

LINUX_VERSION:=3.10.15

Remplacer par :

LINUX_VERSION:=3.6.11

9) Préparation des patchs :

[~/RPIOPENWRT/openwrt (master)⚡] ➔ cd target/linux/brcm2708/
[~/RPIOPENWRT/openwrt/target/linux/brcm2708 (master)⚡] ➔ mkdir patches-3.6
[~/RPIOPENWRT/openwrt/target/linux/brcm2708 (master)⚡] ➔ cp config-3.10 config-3.6
[~/RPIOPENWRT/openwrt/target/linux/brcm2708 (master)⚡] ➔ cd ../generic/

Supprimer les patchs inutils :

[~/RPIOPENWRT/openwrt/target/linux/generic (master)⚡] ➔ cd patches-3.6
[~/RPIOPENWRT/openwrt/target/linux/generic/patches-3.6 (master)⚡] ➔ rm *-mips*
[~/RPIOPENWRT/openwrt/target/linux/generic/patches-3.6 (master)⚡] ➔ rm *-phy*
[~/RPIOPENWRT/openwrt/target/linux/generic/patches-3.6 (master)⚡] ➔ rm a*
[~/RPIOPENWRT/openwrt/target/linux/generic/patches-3.6 (master)⚡] ➔ rm 880-gateworks_system_controller.patch
[~/RPIOPENWRT/openwrt/target/linux/generic/patches-3.6 (master)⚡] ➔ cd ../../../..
[~/RPIOPENWRT/openwrt (master)⚡] ➔ 

10) Configuration de la compilation :

Target System
< Select >
Target System : Broadcom BCM2708/BCM235
< Select >
< Save >
< Ok >
< Exit >
< Exit >

11) Extrait le noyau et le patch :

[~/RPIOPENWRT/openwrt (master)⚡] ➔ make target/linux/{clean,prepare} V=99

12) Construction des outils de compilation :

[~/RPIOPENWRT/openwrt (master)⚡] ➔ make kernel_oldconfig 

13) Configuration du kernel :

[~/RPIOPENWRT/openwrt (master)⚡] ➔ make kernel_menuconfig 

14) Configuration du noyau :

[~/RPIOPENWRT/openwrt (master)⚡] ➔ make kernel_menuconfig

Image configuration
[Espace]
< Select >
Image configuration
< Select >
Version configuration options
[Espace]
< Select >
Release repository (NEW)
< Select >
– http://downloads.openwrt.org/attitude_adjustment/12.09/%T/generic/packages
< Ok >
< Exit >
< Exit >

Target Images
< Select >
Root filesystem partition size
< Select >
64
< Ok >
< Exit >
< Save >
< Ok >
< Exit >
< Exit >

15) Compilation :

[~/RPIOPENWRT/openwrt (master)⚡] ➔ make V=99 -j 3

16) Vérification :

[~/RPIOPENWRT/openwrt (master)⚡] ➔ ls -l bin/brcm2708
total 155068
-rw-r--r-- 1 util01 util01      189 oct.  15 23:53 md5sums
-rw-r--r-- 1 util01 util01 67108864 oct.  15 23:53 openwrt-brcm2708-ext4.img
-rwxr-xr-x 1 util01 util01  3586852 oct.  15 23:53 openwrt-brcm2708-Image
-rw-r--r-- 1 util01 util01 96468992 oct.  15 23:53 openwrt-brcm2708-sdcard-vfat-ext4.img
drwxr-xr-x 2 util01 util01     4096 oct.  15 23:53 packages

17) Lien :

http://www.nico-maas.de/wordpress/?p=799

Laisser un commentaire

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