Bebop2 Flashing


Bebop2 fails to boot up with the following message (displayed through UART connection):

Booting in mode NAND
jumping to 0x00100000 len 46000
�nand_flash: Toshiba 2048 bytes per page, 1 Gbits (x8), 1.8V, timing ONFI 4
Parrotboot for target MILOS, git version ecos-bootloader-p7-start-343-gb32f66c, built on Dec 14 2015

P7MU Revision 2
Crystal Frequency: 26000000 Hz
RAM config name: Milos - Dual NT5CC128M16CP-DI - CL11, CWL8 @750MHz 750 Mhz
Milos rev: 3

but 0
Scaning start 8M (size 16M), page shift 11 eb size 131072
vid_hdr_offset 2048, data_offset 4096 leb_size 126976
image_seq is 64dd480f
new volume 4
new volume 0
new volume 1
parsed 8192 pages
vol0 : main_boot 29/67 ebs
vol1 : alt_boot 36/55 ebs
volume 0 : "main_boot" ok (3682304)
Attempt booting on UBI volume with ID 0...
plf: loading E_TEXT section to addr 0x82000000 size 3661320... done.
plf: loading U_BOOTLOADER section to addr 0x80700000 size 208... done.
Booting Linux...' boxinit.serialno=P742PB2K180000A29220  calib=0x001C0036 mtdparts=nand0:8M(Pbootloader),16M(Pmain_boot),8M(Pfactory),50M(Psystem),46M(Pupdate) console=ttyPA0,115200 loglevel=8 ubi.mtd=Pfactory ubi.mtd=Psystem ubi.mtd=Pupdate root=ubi1:system rootfstype=ubifs quiet androidboot.bootloader=ecos-bootloader-p7-start-343-gb32f66c '
[    1.456621] Kernel panic - not syncing: No init found.  Try passing init= option to kernel. See Linux Documentation/init.txt for guidance.
[    1.468959] [<c0014530>] (unwind_backtrace+0x0/0xf8) from [<c0496588>] (panic+0x98/0x1e0)
[    1.477090] [<c0496588>] (panic+0x98/0x1e0) from [<c04961a8>] (dump_instr+0x0/0x12c)
[    1.484790] CPU :stop�g
[    1.487475] [<c0014530>] (unwind_backtrace+0x0/0xf8) from [<c0013908>] (handle_IPI+0x2�
[    2.571556] p7-i2cm p7-i2cm.0: i2c fifo mode without irq is not supported
[    2.578474] p7-i2cm p7-i2cm.0: i2c fifo mode without irq is not supported
[    2.585238] p7-i2cm p7-i2cm.0: i2c fifo mode without irq is not supported
[    2.592008] p7-i2cm p7-i2cm.0: i2c fifo mode without irq is not supported

Can you please help me with a way to reflash the Bebop?

Also, is it possible to load a different OS such as Raspbian given that Ardupilot flight stack is standalone binary and should work irrespective of the OS loaded.



Since the kernel goes into panic at startup there is nothing you can do using a uart on linux.
What you need to do is to make a usb cable with the PIN-ID tied to level 1 (5V).
I will then explain how to reflash a firmware using this but I need to get back to my bebop setup in order to find back how to flash using parrot usb tools.


1 Like

Thank you for your reply @julienberaud. I am working on the USB , trying to connect the ID pin to 5v (floating side) . It would be great if you could help with the flashing part.

Thank you so much.


@julienberaud Is there any luck in finding how to flash using parrot USB tools? I made the USB and the device is being detected on a Windows PC as P7 USB Boot but not on a linuxsystem. I am stuck at this point

I’ll have to get back on my Parrot stuff. It’s going to take me a week or two to find some time for doing this.



Thanks for the help @julienberaud. I appreciate you taking your time.


So I have found time to get back to my parrot stuff finally.
Here is my procedure once you get your usb cable with PIN ID tied to 1.
Then download the 2 archives here :
mkdir ~/parrot
cp Bebop_Tools.tar.gz ~/parrot
cd ~/parrot
tar -xvf Bebop_Tools.tar.gz
sudo dpkg -i parrot-tools-installer-flashtools_5.9.47_all.deb
mkdir ~/.pinstrc
cp milos_linux_installer.tar.gz ~/.pinstrc
cd ~/.pinstrc
tar -xvf milos_linux_installer.tar.gz
Then unplug the battery of your bebop 2, plug the special USB cable.
Type sudo pinst_usb milos linux installer
Press the power button on your bebop 2.
Normally you should see messages on the console telling you the flashing is currently ongoing.
Scan Parrot ROM…
– found device : idVendor 0x19cf - idProduct 0x5037 - bcdDevice 0x0100 –
– Product: P7 USB Boot –
Send parrot bootloader /home/julien/.pinstrc/milos_inst_usb_bootldr.bin…
– bootloader loading OK –

Scan ParrotBoot device…
– found device : idVendor 0x19cf - idProduct 0x1111 - bcdDevice 0x0100 –
– Product: USB Stage 1 –
Send installer /home/julien/.pinstrc/milos_linux_installer_installer.plf…
the transfert took less than 1 second
– installer loading OK –

Scan Parrot installer…
– found device : idVendor 0x19cf - idProduct 0x1000 - bcdDevice 0x2499 –
– Product: Gadget Serial v2.4 –
Send payload /home/julien/.pinstrc/milos_linux_installer_payload.plf…
– 100 % complete –
the transfert took 26 s (957 KB/s)
Waiting flashing status…
– payload flashing OK –

And then you are done, though your bebop has gone back to an old version so you should update it asap to a more recent firmware version.

1 Like

Thank you @julienberaud. Let me try this out.

Dier Julien, is it possible with Bebop 1 ?

any progress with Juliens tools?

Hi @Mantas_Sokolinskis, I haven’t tried that yet. I ordered a spare motherboard and replaced the original for the time being.

Hi Julien
I am in the same process…

could you tell me what usb cable with PIN ID tied to 1 meaning or how such a cable can be made ?

Thank You

Hey Mantas

I managed to do it…

But UART shows a few errors

WARNING: at /opt/tpoussevin/buildinstaller_last/kernel-p7/linux/

Hello @julienberaud @Infinite_Crystals @Mantas_Sokolinskis

Can you help me ?
I aslo try to flash bebop2 with the @julienberaud tools.
I’m not a linux user so I’ve download and used a debian live cd. But I don’t know linux so much…

I was not able to perform all the procedure. I’ve the following error :
/usr/local/bin/pinst_usb: 76: /usr/local/bin/pinst_usb: /usr/local/bin/…/bin/pflasher: not found

Here the extract of the console :

user@debian:~/.pinstrc$ cd ~/parrot
user@debian:~/parrot$ sudo dpkg -i parrot-tools-installer-flashtools_5.9.47_all.deb
(Reading database … 218607 files and directories currently installed.)
Preparing to unpack parrot-tools-installer-flashtools_5.9.47_all.deb …
Unpacking parrot-tools-installer-flashtools (5.9.47) over (5.9.47) …
Setting up parrot-tools-installer-flashtools (5.9.47) …
user@debian:~/parrot$ mkdir ~/.pinstrc
mkdir: cannot create directory ‘/home/user/.pinstrc’: File exists
user@debian:~/parrot$ cd ~/.pinstrc
user@debian:~/.pinstrc$ tar -xvf milos_linux_installer.tar.gz
user@debian:~/.pinstrc$ sudo pinst_usb milos linux installer
/usr/local/bin/pinst_usb: 76: /usr/local/bin/pinst_usb: /usr/local/bin/…/bin/pflasher: not found


1 Like

Hi @julienberaud
I have a big problem in parrot sequoia reflashing.
Please send an email to for starting a conversation for solving this problem.

My problem in connecting Parrot Sequoia to linux is solved but I need the Sequoia Bootloader and other PLF file for reflashing.
these files:
Send parrot bootloader /home/julien/.pinstrc/milos_inst_usb_bootldr.bin
Send installer /home/julien/.pinstrc/milos_linux_installer_installer.plf
Send payload /home/julien/.pinstrc/milos_linux_installer_payload.plf

hi there, I’m digging up ths topic as I bricked my bebop2 trying to set WEP security inside :-/

I tried to make a usb cable with ID-pin soldered to 1 (5V) as @julienberaud described but nothing happens when I launch Julien’s scripts ( scan for ROM … then nothing connected )

I was able to find the picture (or the schematic) mentioned earlier in this post (link dead? ) and if someone can post it again, it will be really great.

thanks for any help you could provide me

ALL DONE !! my first version of the usb cable was wrong; I redid it and I was able to run Julien’s procedure. => I had alse the file not found issue when first launching “sudo pinst_usb milos linux installer” yet I understood it was only a 32 bits file on a 64b its platform.
so after installing a compatible glibc (i386) and telling my ubuntu 20.02 to be able to play with 32 bits files , it was all OK !! Thanks Julien ! you saved my bebop2 :wink: