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.
This commit is contained in:
Lee Miller 2023-01-08 21:26:29 +02:00
parent 9e905faff0
commit fb3dae6197
Signed by untrusted user: lee.miller
GPG Key ID: 4F97A5EA88F4AB63
3 changed files with 61 additions and 39 deletions

View File

@ -10,14 +10,25 @@ RUN DEBIAN_FRONTEND=noninteractive TZ=UTC \
libncurses5-dev unzip gawk zlib1g-dev libncursesw5-dev zlib1g-dev \ libncurses5-dev unzip gawk zlib1g-dev libncursesw5-dev zlib1g-dev \
gettext xsltproc wget unzip python python3-distutils rxvt-unicode 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 git clone https://git.openwrt.org/openwrt/openwrt.git
RUN cd openwrt && git checkout v${OPENWRT_VERSION} 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 . .

View File

@ -1,7 +1,5 @@
#!/bin/bash #!/bin/bash
ls -lah /Downloads
# use the SDK to build the module: # use the SDK to build the module:
# https://github.com/IchthysMaranatha/asterisk-chan-quectel # https://github.com/IchthysMaranatha/asterisk-chan-quectel
# The module is for two vendors, the Quectel-EC* and Simcom SIM7600. In # 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: # now I noticed there is actually a Makefile for openwrt in the repo already:
# https://github.com/IchthysMaranatha/asterisk-chan-quectel/tree/master/openwrt # https://github.com/IchthysMaranatha/asterisk-chan-quectel/tree/master/openwrt
tar -xJf /Downloads/openwrt-imagebuilder-${OPENWRT_VERSION}-*.tar.xz
cp -r feed /openwrt/ cp -r feed /openwrt/
cp feeds.conf /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 update -a
./scripts/feeds install -a ./scripts/feeds install -a
export FORCE_UNSAFE_CONFIGURE=1 cp config.buildinfo /openwrt/.config
cat ${pwd}/config.extra >> /openwrt/.config
make defconfig make defconfig
make tools/install
make toolchain/install
opkg info asterisk-chan-quectel make -j1 V=s world
make package/asterisk-chan-quectel/compile # The full distribution
make package/index 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 \ # make image \
PROFILE=rpi-4 \ # PROFILE=rpi-4 \
PACKAGES="kmod-rtc-ds1307 \ # PACKAGES="kmod-rtc-ds1307 \
kmod-usb-net-rtl8152 \ # kmod-usb-net-rtl8152 \
pciutils usbutils \ # pciutils usbutils \
kmod-usb-net-qmi-wwan libqmi qmi-utils uqmi luci-proto-qmi \ # kmod-usb-net-qmi-wwan libqmi qmi-utils uqmi luci-proto-qmi \
asterisk \ # asterisk \
asterisk-pjsip asterisk-bridge-simple \ # asterisk-pjsip asterisk-bridge-simple \
asterisk-codec-alaw asterisk-codec-ulaw \ # asterisk-codec-alaw asterisk-codec-ulaw \
asterisk-res-rtp-asterisk kmod-nf-nathelper-extra \ # asterisk-res-rtp-asterisk kmod-nf-nathelper-extra \
asterisk-chan-quectel" # asterisk-chan-quectel"
out=../../out
mkdir -p ../../out mkdir -p ${out}
mv build_dir/target-aarch64_cortex-a72_musl/linux-bcm27xx_bcm2711/tmp/*.gz ../../out mv /openwrt/bin/targets/bcm27xx/bcm2711/*.gz ${out}
mv /openwrt/bin/targets/bcm27xx/bcm2711/packages ${out}

15
config.extra Normal file
View File

@ -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