====== VIA APC 8750 ====== ===== Préparation des sources du kernel ===== Récupérer les sources depuis le git https://github.com/apc-io/apc-8750 Récupérer le patch pour la carte reseau: http://www.raspbian.org/ApricotImages?action=AttachFile&do=view&target=apc_apricot_r2_kernel.patch Se placer dans les sources du kernel pour l'apc 8750. Patcher les sources: patch -p1 -i apc_apricot_r3_kernel.patch Dans le .config du kernel, modifier les lignes pour avoir les valeurs suivantes: 29: CONFIG_LOCALVERSION="-apc" 270: CONFIG_CMDLINE="mem=460M user_debug=31 init=/sbin/init mbtotal=52M auto" Les sources du kernel apc sont dans le répertoire apc-8750/kernel, une fois patché il faut copier ce repertoire et en faire des archives: cp -ar apc-8750/kernel linux-2.6.32.9-apc tar czf linux-2.6.32.9-apc.tar.gz linux-2.6.32.9-apc tar cjf linux-2.6.tar.bz2 linux-2.6.32.9-apc ===== Préparation de l'environnement de construction ===== ==== Préparation du buildroot ==== Il s'agit de buildroot à récuperer à l'adresse suivante: http://buildroot.uclibc.org/downloads/buildroot-2012.08.tar.gz Après décompression, il est plus simple de faire un lien buildroot vers le répertoire buildroot-2012.08: ln -sf buildroot-2012.08 buildroot Il faut ensuite créer un répertoire dl dans buildroot pour y déposer nos archives, ainsi que le fichier de configuration du kernel apc: mkdir buildroot/dl mv apc-8750/linux-2.6.32.9-apc.tar.gz ./buildroot/dl/ mv apc-8750/linux-2.6.tar.bz2 ./buildroot/dl/ cp apc-8750/linux-2.6.32.9-apc/.config buildroot/apc-kernel-config ==== Configuration du buildroot ==== Pour lancer la configuration: make menuconfig Il faut dans "target architecture" choisir "arm little endian". Dans "architecture variant" choisir "arm1176jzf-s". Dans les options du toolchain, choisir "local linux snapshot" pour "kernel headers" et indiquer "linux-2.6.tar.bz2". Choisir la version du GCC, par exemple 4.6.x. Dans "system configuration", choisir "dynamic using devtmpfs" pour la gestion du /dev. Définir le port pour getty sur "tty1". Dans "package selection for target", choisir "nano" dans "text editors". Dans "kernel->linux" choisir "custom tarball" et indiquer comme url "linux-2.6.32.9-apc.tar.gz". Pour le "kernel configuration", choisir "custom config file" et préciser "apc-kernel-config". Vérifier que le format du binaire du kernel est bien "zImage" (uImage par défaut). Retourner au menu principal, et dans "filesystem" choisir "initramfs". Quitter et sauvegarder la configuration. === Configuration du kernel cible === Préparation de la configuration du kernel cible: make linux-menuconfig Vérifier les options, particulièrement pour le filesystem (choisir ext4). S'assurer que dans "general-> Initial RAM filesystem" il y a bien "apc-linux/buildroot/images/rootfs.cpio" === Configuration de busybox === Pour la configuration du busybox: make busybox-menuconfig Choisir les options souhaitées. === Configuration du uclibc === Pour la configuration de uclibc: make uclibc-menuconfig Choisir les options souhaitées. Quitter et sauvegarder. ===== Compilation ===== Pour la compilation: make Sur un i7-920 à 3.6ghz, compter 5 minutes de compilation. Les images seront dans le sous-répertoire //output/images//.