From fb3dae61976b200254d88883cd008c7aea7bda04 Mon Sep 17 00:00:00 2001 From: Lee Miller Date: Sun, 8 Jan 2023 21:26:29 +0200 Subject: [PATCH] Move toolchain installation into Dockerfile: break the big make step into several ones. Make also a factory world. Extra packages are made in the build.sh. --- .buildbot/openwrt/Dockerfile | 29 +++++++++++++------ .buildbot/openwrt/build.sh | 56 +++++++++++++++++------------------- config.extra | 15 ++++++++++ 3 files changed, 61 insertions(+), 39 deletions(-) create mode 100644 config.extra diff --git a/.buildbot/openwrt/Dockerfile b/.buildbot/openwrt/Dockerfile index 876653d..0315e12 100644 --- a/.buildbot/openwrt/Dockerfile +++ b/.buildbot/openwrt/Dockerfile @@ -10,14 +10,25 @@ RUN DEBIAN_FRONTEND=noninteractive TZ=UTC \ libncurses5-dev unzip gawk zlib1g-dev libncursesw5-dev zlib1g-dev \ gettext xsltproc wget unzip python python3-distutils rxvt-unicode -RUN mkdir /Downloads - -RUN wget -qP /Downloads \ - "https://downloads.openwrt.org/releases/${OPENWRT_VERSION}/targets/bcm27xx/bcm2711/openwrt-imagebuilder-${OPENWRT_VERSION}-bcm27xx-bcm2711.Linux-x86_64.tar.xz" -RUN wget -qP /Downloads \ - "https://downloads.openwrt.org/releases/${OPENWRT_VERSION}/targets/bcm27xx/bcm2711/openwrt-sdk-${OPENWRT_VERSION}-bcm27xx-bcm2711_gcc-11.2.0_musl.Linux-x86_64.tar.xz" -RUN wget -qP /Downloads \ - "https://downloads.openwrt.org/releases/${OPENWRT_VERSION}/targets/bcm27xx/bcm2711/openwrt-toolchain-${OPENWRT_VERSION}-bcm27xx-bcm2711_gcc-11.2.0_musl.Linux-x86_64.tar.xz" - RUN git clone https://git.openwrt.org/openwrt/openwrt.git RUN cd openwrt && git checkout v${OPENWRT_VERSION} + +RUN wget -qP /openwrt \ + "https://downloads.openwrt.org/releases/${OPENWRT_VERSION}/targets/bcm27xx/bcm2711/config.buildinfo" + +RUN cd /openwrt && cp config.buildinfo .config && make defconfig + +ENV FORCE_UNSAFE_CONFIGURE=1 + +RUN cd /openwrt && make tools/install +RUN cd /openwrt && make toolchain/install + +RUN cd /openwrt && make download +RUN cd /openwrt && make world + +RUN useradd -m -U -u 999 buildbot +RUN chown -R buildbot.buildbot /openwrt + +USER buildbot + +ADD . . diff --git a/.buildbot/openwrt/build.sh b/.buildbot/openwrt/build.sh index 2f3b206..802903a 100755 --- a/.buildbot/openwrt/build.sh +++ b/.buildbot/openwrt/build.sh @@ -1,7 +1,5 @@ #!/bin/bash -ls -lah /Downloads - # use the SDK to build the module: # https://github.com/IchthysMaranatha/asterisk-chan-quectel # The module is for two vendors, the Quectel-EC* and Simcom SIM7600. In @@ -11,47 +9,45 @@ ls -lah /Downloads # now I noticed there is actually a Makefile for openwrt in the repo already: # https://github.com/IchthysMaranatha/asterisk-chan-quectel/tree/master/openwrt -tar -xJf /Downloads/openwrt-imagebuilder-${OPENWRT_VERSION}-*.tar.xz - cp -r feed /openwrt/ cp feeds.conf /openwrt/ -cd openwrt +pwd=$(pwd) +cd /openwrt -git checkout v${OPENWRT_VERSION} -cp ../feeds.conf . -cp ../config.buildinfo .config ./scripts/feeds update -a ./scripts/feeds install -a -export FORCE_UNSAFE_CONFIGURE=1 +cp config.buildinfo /openwrt/.config +cat ${pwd}/config.extra >> /openwrt/.config make defconfig -make tools/install -make toolchain/install -opkg info asterisk-chan-quectel +make -j1 V=s world -make package/asterisk-chan-quectel/compile -make package/index +# The full distribution +ls -lah bin/targets/bcm27xx/bcm2711 -mv bin/*.ipk ../openwrt-imagebuilder-*/packages/ +# tar -xJf bin/targets/bcm27xx/bcm2711/openwrt-imagebuilder-${OPENWRT_VERSION}-*.tar.xz +# cp bin/targets/bcm27xx/bcm2711/packages/asterisk*.ipk openwrt-imagebuilder-*/packages/ -cd ../openwrt-imagebuilder-*/ +cd ${pwd} -make info +# make info -make image \ - PROFILE=rpi-4 \ - PACKAGES="kmod-rtc-ds1307 \ - kmod-usb-net-rtl8152 \ - pciutils usbutils \ - kmod-usb-net-qmi-wwan libqmi qmi-utils uqmi luci-proto-qmi \ - asterisk \ - asterisk-pjsip asterisk-bridge-simple \ - asterisk-codec-alaw asterisk-codec-ulaw \ - asterisk-res-rtp-asterisk kmod-nf-nathelper-extra \ - asterisk-chan-quectel" +# make image \ +# PROFILE=rpi-4 \ +# PACKAGES="kmod-rtc-ds1307 \ +# kmod-usb-net-rtl8152 \ +# pciutils usbutils \ +# kmod-usb-net-qmi-wwan libqmi qmi-utils uqmi luci-proto-qmi \ +# asterisk \ +# asterisk-pjsip asterisk-bridge-simple \ +# asterisk-codec-alaw asterisk-codec-ulaw \ +# asterisk-res-rtp-asterisk kmod-nf-nathelper-extra \ +# asterisk-chan-quectel" +out=../../out -mkdir -p ../../out -mv build_dir/target-aarch64_cortex-a72_musl/linux-bcm27xx_bcm2711/tmp/*.gz ../../out +mkdir -p ${out} +mv /openwrt/bin/targets/bcm27xx/bcm2711/*.gz ${out} +mv /openwrt/bin/targets/bcm27xx/bcm2711/packages ${out} diff --git a/config.extra b/config.extra new file mode 100644 index 0000000..e58cc40 --- /dev/null +++ b/config.extra @@ -0,0 +1,15 @@ +CONFIG_PACKAGE_asterisk=y +# Feeds +CONFIG_PER_FEED_REPO=y +CONFIG_FEED_packages=y +CONFIG_FEED_luci=y +CONFIG_FEED_telephony=y +CONFIG_FEED_quectel=y +CONFIG_PACKAGE_asterisk-pjsip=m +CONFIG_PACKAGE_asterisk-bridge-simple=m +CONFIG_PACKAGE_asterisk-codec-alaw=m +CONFIG_PACKAGE_asterisk-codec-ulaw=m +CONFIG_PACKAGE_asterisk-res-rtp-asterisk=m +CONFIG_PACKAGE_asterisk-chan-quectel=m +CONFIG_PACKAGE_kmod-nf-nathelper-extra=m +CONFIG_PACKAGE_kmod-rtc-ds1307=m