Docker: Bootloader stuck on "waiting for the bootloader..."


I do my first step in developing on the PX4 using Docker.

Therefore I extend the px4io/px4-dev-nuttx image to px4dev with some extra installations.


FROM px4io/px4-dev-nuttx

RUN apt-get update && \
	apt-get install -y \
	python-serial \
	openocd \
	flex \
	bison \
	libncurses5-dev \
	autoconf \
	texinfo \
	libftdi-dev \
	libtool \

RUN useradd -ms /bin/bash user
ADD ./Firmware /src/firmware/
RUN chown -R user:user /src/firmware/

Than I run the image/container:

docker run -it --privileged \
	--env=LOCAL_USER_ID="$(id -u)" \
	-v /dev/serial/by-id/usb-3D_Robotics_PX4_FMU_v2.x_0-if00:/dev/serial/by-id/usb-3D_Robotics_PX4_FMU_v2.x_0-if00:rw \
	px4dev \

I also tried:

--device=/dev/ttyACM0 \
--device=/dev/serial/by-id/usb-3D_Robotics_PX4_FMU_v2.x_0-if00 \

Than I switched to /src/firmware/, build the code. But the upload always results in this error:

make px4fmu-v2_default upload
ninja: Entering directory `/src/firmware/build/nuttx_px4fmu-v2_default'
[0/1] uploading px4
Loaded firmware for board id: 9,0 size: 1028997 bytes (99.69%), waiting for the bootloader...

I use a Pixhawk 2.4.8, my host is an Ubuntu 18.04 64bit.

If it is generally not possible (but on some discussions (Issue #8741 by @dagar) it was said that will work), what is the output file of the build and is it possible to upload this using QGroundControl?

Kind regards,

1 Like