ArchLinux on APF
Page under construction... Informations on this page are not guaranteed !!
Instructions on how to install ArchLinux on APF boards. Thanks to Sébastien Salmon.
Let's go
1- je suis parti du buildroot 3.3 d'Armadeus, le noyau étant par défaut le 2.6.29.6 qui est le même que celui de l'arch
2- j'ai modifié le fichier apf27-dev.c situé à :
/armadeus/buildroot/project_build_armv5te/apf27/linux-2.6.29.6/arch/arm/mach-mx2 en ligne 215, on met les valeurs suivantes:
/* set new FB params */ printk("Definition par Fbset"); temp_var.xres = 640; temp_var.yres = 480; temp_var.xres_virtual = 640; temp_var.yres_virtual = 480; temp_var.pixclock = 39722; temp_var.left_margin = 48; temp_var.right_margin = 46; /* at least 3 & 1 */ temp_var.upper_margin = 33; temp_var.lower_margin = 10; temp_var.hsync_len = 96; temp_var.vsync_len = 2;
3- on lance la compilation du buildroot.
4- on se rend sur http://archlinuxarm.org/ pour télécharger une image de linux compilée pour armv5 donc compatible avec l'apf27
et on suit les instructions disponibles sur le site.
5- on boot sur la carte SD et on se connecte en ssh / scp.
6- comme le noyau est le même on peut directement copier le répertoire /lib/modules/2.6.29.6 du buildroot dans /lib/modules/ de l'arch puis on reboote.
7- on installe X et par exemple xfce sur l'arch (la console doit maintenant etre visible sur l'écran).
8- on peut configurer Xorg.conf.d en copiant les fichiers .conf joints dans /etc/X11/xorg.conf.d
9- à ce point si on lance X, on obtient un échec car xf86-video-fdbev-0.4.2 n'arrive pas à gérer l'écran. Il faut alors le patcher. Il faut empêcher le driver de dire à X qu'il est en échec, il faut alors commenter la ligne 684 : //return false On réalise la compilation sur l'apf sous arch puis l'installation. Le drivers n'est pas installé au bon endroit : on copie /usr/local/lib/xorg/modules/drivers/fbdev_drv.so vers /usr/lib/xorg/modules/drivers. Ou sinon copier le fichier driver joint.
10- là on peut commencer à utiliser xfce mais il manque de la puissance. Le problème vient en fait de minilogd qu'il faut désactiver lors du boot. Dans /etc/rc.sysinit ligne 42, on commente :
# start up our mini logger until syslog takes over #/sbin/minilogd #/sbin/bootlogd -p /run/bootlogd.pid
11- le module fpgaloader est déjà présent, il ne reste plus qu'a transférer fpgaregs ...