build openwrt x86.

This commit is contained in:
licsber 2024-03-16 13:05:28 +08:00
parent cfa1df8314
commit 43ea19d188
9 changed files with 93 additions and 7330 deletions

View File

@ -1,45 +0,0 @@
name: LEDE Docker Image
on:
watch:
types: started
push:
branches: [ 'main' ]
tags: [ 'v*.*.*' ]
env:
DOCKERFILE: Dockerfile.lede
REGION: cn-beijing
REGISTRY: registry.cn-beijing.aliyuncs.com
NAMESPACE: licsber
REPOSITORY: github
TAG: lede
TAG_FULL: lede-${{ github.sha }}
jobs:
build:
runs-on: ubuntu-22.04
steps:
- name: Checkout V3
uses: actions/checkout@v3
- name: Login to ACR V1
uses: aliyun/acr-login@v1
with:
login-server: "https://${{ env.REGISTRY }}"
username: "${{ secrets.ACR_USERNAME }}"
password: "${{ secrets.ACR_PASSWD }}"
region-id: "${{ env.REGION }}"
- name: Build Image
id: build
run: |
IMAGE=${{ env.REGISTRY }}/${{ env.NAMESPACE }}/${{ env.REPOSITORY }}
echo "image=$IMAGE" >> $GITHUB_OUTPUT
docker build -t "$IMAGE:${{ env.TAG_FULL }}" --file ${{ env.DOCKERFILE }} .
- name: Push Image
run: |
docker push "${{ steps.build.outputs.image }}:${{ env.TAG_FULL }}"
docker tag "${{ steps.build.outputs.image }}:${{ env.TAG_FULL }}" "${{ steps.build.outputs.image }}:${{ env.TAG }}"
docker push "${{ steps.build.outputs.image }}:${{ env.TAG }}"

View File

@ -1,45 +0,0 @@
name: Openwrt R4s Docker Image
on:
watch:
types: started
push:
branches: [ 'main' ]
tags: [ 'v*.*.*' ]
env:
DOCKERFILE: Dockerfile.openwrt.r4s
REGION: cn-beijing
REGISTRY: registry.cn-beijing.aliyuncs.com
NAMESPACE: licsber
REPOSITORY: github
TAG: openwrt.r4s
TAG_FULL: openwrt.r4s-${{ github.sha }}
jobs:
build:
runs-on: ubuntu-22.04
steps:
- name: Checkout V3
uses: actions/checkout@v3
- name: Login to ACR V1
uses: aliyun/acr-login@v1
with:
login-server: "https://${{ env.REGISTRY }}"
username: "${{ secrets.ACR_USERNAME }}"
password: "${{ secrets.ACR_PASSWD }}"
region-id: "${{ env.REGION }}"
- name: Build Image
id: build
run: |
IMAGE=${{ env.REGISTRY }}/${{ env.NAMESPACE }}/${{ env.REPOSITORY }}
echo "image=$IMAGE" >> $GITHUB_OUTPUT
docker build -t "$IMAGE:${{ env.TAG_FULL }}" --file ${{ env.DOCKERFILE }} .
- name: Push Image
run: |
docker push "${{ steps.build.outputs.image }}:${{ env.TAG_FULL }}"
docker tag "${{ steps.build.outputs.image }}:${{ env.TAG_FULL }}" "${{ steps.build.outputs.image }}:${{ env.TAG }}"
docker push "${{ steps.build.outputs.image }}:${{ env.TAG }}"

59
.github/workflows/openwrt-x86.yml vendored Normal file
View File

@ -0,0 +1,59 @@
name: OpenWRT LEDE X86
on:
workflow_dispatch:
schedule:
- cron: '59 4,12,20 * * *'
env:
DOCKERFILE: openwrt/openwrt/x86/Dockerfile.openwrt-x86
REGION: cn-beijing
REGISTRY: registry.cn-beijing.aliyuncs.com
NAMESPACE: licsber
REPOSITORY: github
TAG: openwrt-x86
TAG_FULL: openwrt-x86-${{ github.run_id }}
jobs:
build:
runs-on: ubuntu-22.04
steps:
- name: Save space
env:
DEBIAN_FRONTEND: noninteractive
run: |
docker rmi `docker images -q`
sudo -E rm -rf /usr/share/dotnet /etc/mysql /etc/php /etc/apt/sources.list.d /usr/local/lib/android
sudo -E rm -rf /usr/local/share/boost "$AGENT_TOOLSDIRECTORY" /opt/ghc
sudo -E apt update -y
sudo -E apt -y purge azure-cli* ghc* zulu* llvm* firefox google* dotnet* powershell* openjdk* mysql* php* mongodb* dotnet* snap*
sudo -E systemctl daemon-reload
sudo -E apt -y autoremove --purge
sudo -E apt clean
sudo -E timedatectl set-timezone "Asia/Shanghai"
df -h
- name: Checkout V4
uses: actions/checkout@v4
- name: Login to ACR V1
uses: aliyun/acr-login@v1
with:
login-server: "https://${{ env.REGISTRY }}"
username: "${{ secrets.ACR_USERNAME }}"
password: "${{ secrets.ACR_PASSWD }}"
region-id: "${{ env.REGION }}"
- name: Build Image
id: build
run: |
IMAGE=${{ env.REGISTRY }}/${{ env.NAMESPACE }}/${{ env.REPOSITORY }}
echo "image=$IMAGE" >> $GITHUB_OUTPUT
cd `dirname "${{ env.DOCKERFILE }}"`
docker build -t "$IMAGE:${{ env.TAG }}" --file `basename ${{ env.DOCKERFILE }}` .
- name: Push Image
run: |
docker push "${{ steps.build.outputs.image }}:${{ env.TAG }}"
docker tag "${{ steps.build.outputs.image }}:${{ env.TAG }}" "${{ steps.build.outputs.image }}:${{ env.TAG_FULL }}"
docker push "${{ steps.build.outputs.image }}:${{ env.TAG_FULL }}"

View File

@ -13,6 +13,10 @@ RUN ./scripts/feeds update -a && \
RUN make defconfig && \
make download -j8
RUN sed -i 's/192.168.1.1/10.24.0.10/g' package/base-files/files/bin/config_generate
RUN sed -i "s/hostname='OpenWrt'/hostname='LicsberLEDE'/g" package/base-files/files/bin/config_generate
RUN sed -i "s/timezone='UTC'/timezone='UTC+8'/g" package/base-files/files/bin/config_generate
ENV GOPROXY='https://goproxy.io,direct'
RUN if [ `nproc` -le 4 ]; then make -j3 || make V=s; else make -j `nproc` || make V=s; fi && \
echo $?

View File

@ -29,22 +29,6 @@ CONFIG_PACKAGE_iperf3=y
# DDNS yyds
CONFIG_PACKAGE_ddns-scripts_cloudflare.com-v4=y
# 移动通信模组
CONFIG_LIBQMI_COLLECTION_BASIC=y
CONFIG_LIBQMI_WITH_MBIM_QMUX=y
CONFIG_LIBQMI_WITH_QRTR_GLIB=y
CONFIG_MODEMMANAGER_WITH_MBIM=y
CONFIG_MODEMMANAGER_WITH_QMI=y
CONFIG_MODEMMANAGER_WITH_QRTR=y
CONFIG_PACKAGE_glib2=y
CONFIG_PACKAGE_libffi=y
CONFIG_PACKAGE_libmbim=y
CONFIG_PACKAGE_libpcre2=y
CONFIG_PACKAGE_libqmi=y
CONFIG_PACKAGE_libqrtr-glib=y
CONFIG_PACKAGE_modemmanager=y
CONFIG_PCRE2_JIT_ENABLED=y
# 来点5G当备份链路
CONFIG_PACKAGE_usb-modeswitch=y
CONFIG_PACKAGE_modemmanager=y

View File

@ -1,19 +1,12 @@
FROM docker.io/debian:12
LABEL org.opencontainers.image.authors='licsber<admin@licsber.site>'
# https://openwrt.org/docs/guide-developer/toolchain/install-buildsystem
RUN lscpu && \
apt update > /dev/null && \
apt install -y -qq build-essential clang g++ gcc-multilib g++-multilib \
git \
python3-distutils \
libncurses-dev \
libssl-dev \
libelf-dev python3-pyelftools \
qemu-utils \
xmlto \
screenfetch tree \
flex bison gawk gettext rsync unzip zlib1g-dev file wget \
> /dev/null && \
apt install build-essential clang flex bison g++ gawk \
gcc-multilib g++-multilib gettext git libncurses-dev libssl-dev \
python3-distutils rsync unzip zlib1g-dev file wget && \
apt clean > /dev/null && \
rm -rf /var/lib/apt/list/* && \
screenfetch

View File

@ -1,30 +0,0 @@
FROM ubuntu:jammy-20230308
LABEL maintainer=admin@licsber.site
ENV TERM=xterm
ENV FORCE_UNSAFE_CONFIGURE=1
# https://openwrt.org/docs/guide-developer/toolchain/install-buildsystem
RUN echo $(nproc) && \
apt update > /dev/null && \
apt install -y -qq build-essential clang flex bison g++ gawk gcc-multilib g++-multilib \
gettext git libncurses5-dev libssl-dev python3-distutils rsync unzip \
zlib1g-dev file wget mkisofs > /dev/null && \
apt clean > /dev/null && \
rm -rf /var/lib/apt/list/*
WORKDIR /licsber
RUN git clone --depth=1 https://github.com/openwrt/openwrt.git -b openwrt-22.03
RUN git clone --depth=1 https://github.com/fw876/helloworld.git && \
cp -r helloworld openwrt/package
RUN cd openwrt && \
./scripts/feeds update -a && \
./scripts/feeds install -a
COPY openwrt-config/openwrt.x86.config openwrt/.config
RUN cd openwrt && \
make download -j8
CMD ['bash']

View File

@ -0,0 +1,26 @@
FROM registry.cn-beijing.aliyuncs.com/licsber/github:openwrt-env
LABEL org.opencontainers.image.authors='licsber<admin@licsber.site>'
USER licsber
WORKDIR /home/licsber/openwrt
RUN rm -rf bin
COPY --chown=licsber openwrt.x86.config .config
RUN ./scripts/feeds update -a && \
./scripts/feeds install -a
RUN make defconfig && \
make download -j8
RUN sed -i 's/192.168.1.1/10.24.0.10/g' package/base-files/files/bin/config_generate
RUN sed -i "s/hostname='OpenWrt'/hostname='LicsberLEDE'/g" package/base-files/files/bin/config_generate
RUN sed -i "s/timezone='UTC'/timezone='UTC+8'/g" package/base-files/files/bin/config_generate
ENV GOPROXY='https://goproxy.io,direct'
RUN if [ `nproc` -le 4 ]; then make -j3 || make V=s; else make -j `nproc` || make V=s; fi && \
echo $?
RUN tree -h bin
CMD ["echo", "Hello from LicsberLab!~"]

File diff suppressed because it is too large Load Diff