***modified ardrone2**: UAV with modified kernel and rootfs
***plf** : Parrot's proprietary format to pack datas (rootfs, kernel, kernel command line, etc). This format hab been more and less reverse engineered. Tools exist to read/write plf files (they are included in robomap3)
***plf** : Parrot's proprietary format to pack datas (rootfs, kernel, kernel command line, etc). This format has been more and less reverse engineered. Tools exist to read/write plf files (they are included in robomap3)
***ardrone2**: machine (poky definition) in robomap3; the production rootfs, we fly with it; it installs in the flash (mtd3 for rootfs, mtd1 "main_boot" for kernel)
***ardrone2-updater**: machine (poky definition) in robomap3; allows flashing the production rootfs; it installs in the flash (mtd2 for rootfs, mtd1 "alt_boot" for kernel)
***ardrone2-installer**: machine (poky definition) in robomap3; allows to entirely flash the system (production or updater); it is a ramfs
...
...
@@ -77,7 +77,7 @@ If the adrone2 is USB plugged to a computer, the bootloader can load and run ano
* Install the x86_64 [toolchain](install-toolchains).
**inst_usb_bootldr.bin*: Parrot proprietary bootloader, loads from USB. It allows to load from USB a plf file (kernel+bootcmd+ramfs) and to run the kernel from that plf. Get it [here](https://devel.hds.utc.fr/svn/uav_dev/trunk/bin/i686/unix/mykonos2_flash/bin/inst_usb_bootldr.bin)
**inst_usb_bootldr.bin*: Parrot proprietary bootloader, loads from USB. It allows to load from USB a plf file (kernel+bootcmd+ramfs) and to run the kernel from that plf. Get it [here](https://gitlab.utc.fr/uav-hds/framework-uav/uav-dev/-/raw/main/bin/i686/unix/mykonos2_flash/bin/inst_usb_bootldr.bin?ref_type=heads)
* Add an udev rule for the USB connection with the adrone2 (or do the USB operations as root):
```
...
...
@@ -92,7 +92,7 @@ replace *youruser* by your user name.
The ardrone2 installer allows to flash the updater and the production system.
Plug USB and serial (115200bps) cables, send the [ardrone2-installer](https://uav.hds.utc.fr/src/ardrone2-installer/robomap3/core-image-minimal-mtdutils-ardrone2-installer.plf) with the following commands:
Plug USB and serial (115200bps) cables, send the [ardrone2-installer](https://devel.hds.utc.fr/flair/ardrone2-installer/robomap3/core-image-minimal-mtdutils-ardrone2-installer.plf) with the following commands:
@@ -133,7 +133,7 @@ create partitions for the custom firmware:
The updater will be used to update a production system.
Copy ardrone2-updater files ([zImage.plf](https://uav.hds.utc.fr/src/ardrone2-updater/robomap3/zImage.plf) and [core-image-minimal-mtdutils-ardrone2-updater.tar.gz](https://uav.hds.utc.fr/src/ardrone2-updater/robomap3/core-image-minimal-mtdutils-ardrone2-updater.tar.gz)) to the ardrone2:
Copy ardrone2-updater files ([zImage.plf](https://devel.hds.utc.fr/flair/ardrone2-updater/robomap3/zImage.plf) and [core-image-minimal-mtdutils-ardrone2-updater.tar.gz](https://devel.hds.utc.fr/flair/ardrone2-updater/robomap3/core-image-minimal-mtdutils-ardrone2-updater.tar.gz)) to the ardrone2:
`$ scp zImage.plf root@192.168.7.2:`
...
...
@@ -151,7 +151,7 @@ remove temporary files:
## install the production
Copy ardrone2 files ([zImage.plf](https://uav.hds.utc.fr/src/ardrone2/robomap3/zImage.plf) and [core-image-flair-ardrone2.tar.bz2](https://uav.hds.utc.fr/src/ardrone2/robomap3/core-image-flair-ardrone2.tar.bz2)) to the ardrone2:
Copy ardrone2 files ([zImage.plf](https://devel.hds.utc.fr/flair/ardrone2/robomap3/zImage.plf) and [core-image-flair-ardrone2.tar.bz2](https://devel.hds.utc.fr/flair/ardrone2/robomap3/core-image-flair-ardrone2.tar.bz2)) to the ardrone2:
`$ scp zImage.plf root@192.168.7.2:`
...
...
@@ -195,7 +195,7 @@ mount devpts /data/video/installer/dev/pts -t devpts
chroot /data/video/installer /bin/sh
```
Copy with ftp the [ardrone2-updater.tar.gz](https://uav.hds.utc.fr/src/ardrone2-updater/robomap3/core-image-minimal-mtdutils-ardrone2-updater.tar.gz) and its [kernel](https://uav.hds.utc.fr/src/ardrone2-updater/robomap3/zImage.plf) to */data/video/installer* then install it from the chroot:
Copy with ftp the [ardrone2-updater.tar.gz](https://devel.hds.utc.fr/flair/ardrone2-updater/robomap3/core-image-minimal-mtdutils-ardrone2-updater.tar.gz) and its [kernel](https://devel.hds.utc.fr/flair/ardrone2-updater/robomap3/zImage.plf) to */data/video/installer* then install it from the chroot:
`# update_kernel.sh zImage.plf`
...
...
@@ -271,7 +271,7 @@ power up the ardrone2 to send and run the kernel.
# Flash a bricked ardrone2 (with a USB cable)
Follow the steps from flashing an orignal ardrone2 with USB cable.
Follow the steps from flashing an original ardrone2 with USB cable.
Send the ardrone2-installer through USB, then flash necessary files to unbrick the ardrone2 (kernel for example).