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 [2016/04/19 11:16] – [Configuration de Petalinux] 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 |
---|
- Sélectionner //Root filesystem type//. | - Sélectionner //Root filesystem type//. |
- Sélectionner //SD card// comme "RootFS" 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 puvez consulter ce fichier ici : //subsystems/linux/configs/device-tree/system-conf.dtsi// | - 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 les images Petalinux. \\ <code> $ petalinux-build </code> |
- Si nécessaire, générer l'image de //BOOT.BIN// <code> $ petalinux-package --boot --fsbl <FSBL image> --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 : // //.\\//<FPGA bitstream>// se trouve dans le répertoire : // //. | - 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électionant //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//. | - 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> |
| |
| |