ArchLinux on APF
From ArmadeusWiki
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 ...