USB FEL working inside docker (#1892)
This commit is contained in:
parent
9231036eb0
commit
88f2596744
@ -18,6 +18,11 @@ RUN apt update && DEBIAN_FRONTEND=noninteractive apt -y upgrade && \
|
||||
libc6-i386 lib32ncurses5 lib32tinfo5 locales ncurses-base zlib1g:i386 pixz bison libbison-dev flex libfl-dev \
|
||||
pigz aptly aria2 cryptsetup cryptsetup-bin python3-distutils --no-install-recommends
|
||||
RUN locale-gen en_US.UTF-8
|
||||
|
||||
# Static port for NFSv3 server used for USB FEL boot
|
||||
RUN sed -i 's/\(^STATDOPTS=\).*/\1"--port 32765 --outgoing-port 32766"/' /etc/default/nfs-common && \
|
||||
sed -i 's/\(^RPCMOUNTDOPTS=\).*/\1"--port 32767"/' /etc/default/nfs-kernel-server
|
||||
|
||||
ENV LANG='en_US.UTF-8' LANGUAGE='en_US:en' LC_ALL='en_US.UTF-8' TERM=screen
|
||||
WORKDIR /root/armbian
|
||||
ENTRYPOINT [ "/bin/bash", "/root/armbian/compile.sh" ]
|
||||
|
||||
@ -30,6 +30,7 @@ fi
|
||||
DOCKER_FLAGS=()
|
||||
|
||||
# Running this container in privileged mode is a simple way to solve loop device access issues
|
||||
# Required for USB FEL
|
||||
#DOCKER_FLAGS+=(--privileged)
|
||||
|
||||
# add only required capabilities instead (though MKNOD should be already present)
|
||||
@ -70,6 +71,11 @@ else
|
||||
display_alert "and will be able to create only Kernel and u-boot packages (KERNEL_ONLY=yes)" "" "wrn"
|
||||
fi
|
||||
|
||||
# Expose ports for NFS server inside docker container, required for USB FEL
|
||||
#DOCKER_FLAGS+=(-p 0.0.0.0:2049:2049 -p 0.0.0.0:2049:2049/udp -p 0.0.0.0:111:111 -p 0.0.0.0:111:111/udp -p 0.0.0.0:32765:32765 -p 0.0.0.0:32765:32765/udp -p 0.0.0.0:32767:32767 -p 0.0.0.0:32767:32767/udp)
|
||||
# Export usb device for FEL, required for USB FEL
|
||||
#DOCKER_FLAGS+=(-v /dev/bus/usb:/dev/bus/usb:ro)
|
||||
|
||||
# map source to Docker Working dir.
|
||||
DOCKER_FLAGS+=(-v=$SRC/:/root/armbian/)
|
||||
|
||||
|
||||
@ -15,10 +15,15 @@
|
||||
|
||||
fel_prepare_host()
|
||||
{
|
||||
# Start rpcbind for NFS if inside docker container
|
||||
[ `systemd-detect-virt` == 'docker' ] && service rpcbind start
|
||||
|
||||
# remove and re-add NFS share
|
||||
rm -f /etc/exports.d/armbian.exports
|
||||
mkdir -p /etc/exports.d
|
||||
echo "$FEL_ROOTFS *(rw,async,no_subtree_check,no_root_squash,fsid=root)" > /etc/exports.d/armbian.exports
|
||||
# Start NFS server if inside docker container
|
||||
[ `systemd-detect-virt` == 'docker' ] && service nfs-kernel-server start
|
||||
exportfs -ra
|
||||
}
|
||||
|
||||
@ -65,7 +70,7 @@ fel_load()
|
||||
[[ $(type -t fel_pre_load) == function ]] && fel_pre_load
|
||||
|
||||
display_alert "Loading files via" "FEL USB" "info"
|
||||
sunxi-fel "${FEL_EXTRA_ARGS}" -p uboot "${FEL_ROOTFS}/usr/lib/${CHOSEN_UBOOT}_${REVISION}_armhf/u-boot-sunxi-with-spl.bin" \
|
||||
sunxi-fel ${FEL_EXTRA_ARGS} -p uboot "${FEL_ROOTFS}/usr/lib/${CHOSEN_UBOOT}_${REVISION}_armhf/u-boot-sunxi-with-spl.bin" \
|
||||
write 0x42000000 "${FEL_ROOTFS}"/boot/zImage \
|
||||
write 0x43000000 "${FEL_ROOTFS}/${dtb_file}" \
|
||||
write 0x43300000 "${FEL_ROOTFS}"/boot/uInitrd \
|
||||
|
||||
Loading…
Reference in New Issue
Block a user