Les deux révisions précédentesRévision précédenteProchaine révision | Révision précédente |
wiki:linux_pour_zynq_de_xilinx:projet_dels_petalinux [2015/11/20 11:27] – [Accéder aux DELs via l'espace utilisateur] emeyer | wiki:linux_pour_zynq_de_xilinx:projet_dels_petalinux [2016/04/19 13:12] (Version actuelle) – [Installation des images sur la carte SD] emeyer |
---|
On peut alors s'identifier avec l'utilisateur //root// et le mot de passe //root//. | On peut alors s'identifier avec l'utilisateur //root// et le mot de passe //root//. |
| |
| ===== Démarrage à partir d'une carte SD ===== |
| ==== Configuration de la carte SD avec un système de fichier EXT ==== |
| La carte doit comporter 2 partitions. Il est possible de préparer la carte au moyen d'un logiciel tel que GPARTED ou avec plusieurs utilitaires en ligne de commande. |
| - 4 MB d'espace libre en premier |
| - 40 MB au moins formatés en FAT32, étiqueté //BOOT//. Cette partition comportera les images du programme de démarrage initial, du "devicetree" et du noyau. |
| - Le reste formaté en ext4, étiqueté //rootfs//. Cette partition contiendra le système de fichiers. |
| ==== Configuration de Petalinux ==== |
| - Aller dans la racine du répertoire du projet Petalinux\\ <code>$ cd <répertoire-projet-petalinux> </code> |
| - Éditer la configuration du projet\\ <code>$ petalinux-config </code> |
| - Sélectionner //Image Packaging Configuration//. |
| - Sélectionner //Root filesystem type//. |
| - Sélectionner //SD card// comme "RootFS" type. |
| - Sortir de "menuconfig" (//Exit -> Exit//) et sauvegarder la configuration. Cela va mettre à jour les arguments de démarrage dans le fichier de "device-tree" //system-conf.dtsi// pour charger le système de fichiers depuis la carte SD. Vous pouvez consulter ce fichier ici : //subsystems/linux/configs/device-tree/system-conf.dtsi// |
| - Si nécessaire, générer les images Petalinux. \\ <code> $ petalinux-build </code> |
| - Si nécessaire, générer l'image de //BOOT.BIN// <code> $ petalinux-package --boot --fsbl images/linux/zynq_fsbl.elf --fpga <FPGA bitstream> --u-boot </code> \\ Si besoin, on utiliser l'option //[[--]]force// pour ré-générer l'image.\\ //<FSBL image>// se trouve dans le répertoire : // images/linux/ //. \\ //<FPGA bitstream>// est un un fichier //.bit// et il se trouve dans le répertoire : // images/linux/ //. |
| - Générer l'image //rootfs.cpio//. en sélectionnant //SD card// comme //RootFS type//, la commande //petalinux-build// ne la génère pas automatiquement. \\ <code> $ petalinux-package --image -c rootfs --format initramfs </code>Le fichier se trouvera dans le répertoire //images/linux//. |
| |
| ==== Installation des images sur la carte SD ==== |
| - S'assurer que la partition //BOOT// de la carte SD est bien montée et la repérer dans le système de fichiers. Par exemple, taper la commande \\ <code> $ mount | grep BOOT |
| /dev/mmcblk0p1 on /media/BOOT type vfat rw,nosuid,nodev,relatime,uid=1000,gid=1000,fmask=0022,dmask=0077,codepage=437,iocharset=utf8,shortname=mixed,showexec,utf8,flush,errors=remount-ro,uhelper=udisks2) </code> \\ Dans ce cas, la partition est montée ici : ///media/BOOT//. |
| - Copier //BOOT.BIN// et //image.ub// dans la partition //BOOT// de la carte SD. Le fichier //image.ub// contient les images du "device tree" et du noyau.\\ <code> $ cp images/linux/BOOT.BIN /media/BOOT/ |
| $ cp images/linux/image.ub /media/BOOT/ </code> |
| - S'assurer que la partition //rootfs// de la carte SD est bien montée et la repérer dans le système de fichiers. Par exemple, taper la commande \\ <code> $ mount | grep rootfs |
| /dev/mmcblk0p2 on /media/rootfs type ext4 (rw,nosuid,nodev,relatime,data=ordered,uhelper=udisks2) </code> |
| - Copier //rootfs.cpio// dans la partition //rootfs// de la carte SD. <code> sudo cp images/linux/rootfs.cpio /media/rootfs/ |
| [sudo] password for <utilisateur>: </code> |
| L'utilisation de //sudo// permet de se positionner en administrateur pour cette commande, si le système le permet pour cet <utilisateur>. En effet, la partition //rootfs// a des droits d'accès, il faut les respecter pour copier un fichier. |
| - Extraire le système de fichier de son image \\ <code> $ cd /media/rootfs |
| $ sudo pax -rvf rootfs.cpio </code> |
| |
| |
| ===== Et maintenant ... ===== |
| Le système semble fonctionner correctement avec cette procédure par défaut. Il va falloir en faire quelque-chose maintenant. On pourra par exemple [[wiki:linux_pour_zynq_de_xilinx:acces_dels_via_sysfs|accéder aux entrées/sorties depuis l'espace utilisateur via SysFs]]. |
| |