mirror of
https://github.com/svpcom/wfb-ng.git
synced 2025-02-10 11:13:49 -04:00
Fix qemu emulation
This commit is contained in:
parent
5995320173
commit
86e3a9fb54
4
.github/workflows/build_debian.yml
vendored
4
.github/workflows/build_debian.yml
vendored
@ -14,7 +14,7 @@ jobs:
|
||||
fail-fast: false
|
||||
matrix:
|
||||
version: [11, 12]
|
||||
arch: [ "armhf.arm32v7", "arm64.arm64v8", "amd64.amd64", "mips64le.mips64le", "s390x.s390x", "ppc64le.ppc64le"]
|
||||
arch: [ "armhf.arm32v7.max", "arm64.arm64v8.cortex-a53", "amd64.amd64.max", "mips64le.mips64le.MIPS64R2-generic", "s390x.s390x.max", "ppc64le.ppc64le.power8"]
|
||||
|
||||
steps:
|
||||
- name: Checkout repository
|
||||
@ -22,7 +22,7 @@ jobs:
|
||||
- name: build package
|
||||
run: |
|
||||
curl -s -L https://github.com/svpcom/wfb-ng/releases/download/wifibroadcast-17.10/qemu-7.2.15-fixed.tar.gz | sudo tar xzv -C /
|
||||
make deb_docker DOCKER_ARCH=$(echo ${{ matrix.arch}} | cut -f1 -d.) DOCKER_SRC_IMAGE=$(echo ${{ matrix.arch }} | cut -f2 -d.)/debian:${{ matrix.version }}
|
||||
make deb_docker QEMU_CPU=$(echo ${{ matrix.arch }} | cut -f3 -d.) DOCKER_ARCH=$(echo ${{ matrix.arch }} | cut -f1 -d.) DOCKER_SRC_IMAGE=$(echo ${{ matrix.arch }} | cut -f2 -d.)/debian:${{ matrix.version }}
|
||||
- name: Archive production artifacts
|
||||
uses: actions/upload-artifact@v4
|
||||
id: artifact-upload-step
|
||||
|
4
.github/workflows/build_ubuntu.yml
vendored
4
.github/workflows/build_ubuntu.yml
vendored
@ -14,7 +14,7 @@ jobs:
|
||||
fail-fast: false
|
||||
matrix:
|
||||
version: [ "20.04", "22.04", "24.04" ]
|
||||
arch: [ "armhf.arm32v7", "arm64.arm64v8", "amd64.amd64"]
|
||||
arch: [ "armhf.arm32v7.max", "arm64.arm64v8.cortex-a53", "amd64.amd64.max"]
|
||||
|
||||
steps:
|
||||
- name: Checkout repository
|
||||
@ -22,7 +22,7 @@ jobs:
|
||||
- name: build package
|
||||
run: |
|
||||
curl -s -L https://github.com/svpcom/wfb-ng/releases/download/wifibroadcast-17.10/qemu-7.2.15-fixed.tar.gz | sudo tar xzv -C /
|
||||
make deb_docker DOCKER_ARCH=$(echo ${{ matrix.arch}} | cut -f1 -d.) DOCKER_SRC_IMAGE=$(echo ${{ matrix.arch }} | cut -f2 -d.)/ubuntu:${{ matrix.version }}
|
||||
make deb_docker QEMU_CPU=$(echo ${{ matrix.arch }} | cut -f3 -d.) DOCKER_ARCH=$(echo ${{ matrix.arch }} | cut -f1 -d.) DOCKER_SRC_IMAGE=$(echo ${{ matrix.arch }} | cut -f2 -d.)/ubuntu:${{ matrix.version }}
|
||||
- name: Archive production artifacts
|
||||
uses: actions/upload-artifact@v4
|
||||
id: artifact-upload-step
|
||||
|
3
Makefile
3
Makefile
@ -17,6 +17,7 @@ ENV ?= $(PWD)/env
|
||||
DOCKER_ARCH ?= amd64
|
||||
DOCKER_SRC_IMAGE ?= "p2ptech/cross-build:2023-02-21-raspios-bullseye-armhf-lite"
|
||||
STDEB ?= "git+https://github.com/svpcom/stdeb"
|
||||
QEMU_CPU ?= "max"
|
||||
|
||||
export VERSION COMMIT SOURCE_DATE_EPOCH
|
||||
|
||||
@ -92,6 +93,6 @@ deb_docker: /opt/qemu/bin
|
||||
@if ! [ -d /opt/qemu ]; then echo "Docker cross build requires patched QEMU!\nApply ./scripts/qemu/qemu.patch to qemu-7.2.0 and build it:\n ./configure --prefix=/opt/qemu --static --disable-system && make && sudo make install"; exit 1; fi
|
||||
if ! ls /proc/sys/fs/binfmt_misc | grep -q qemu ; then sudo ./scripts/qemu/qemu-binfmt-conf.sh --qemu-path /opt/qemu/bin --persistent yes; fi
|
||||
cp -a Makefile docker/src/
|
||||
TAG="wfb-ng:build-`date +%s`"; docker build --platform linux/$(DOCKER_ARCH) -t $$TAG docker --build-arg SRC_IMAGE=$(DOCKER_SRC_IMAGE) && \
|
||||
TAG="wfb-ng:build-`date +%s`"; docker build --platform linux/$(DOCKER_ARCH) -t $$TAG --build-arg SRC_IMAGE=$(DOCKER_SRC_IMAGE) --build-arg QEMU_CPU=$(QEMU_CPU) docker && \
|
||||
docker run --platform linux/$(DOCKER_ARCH) -i --rm -v $(PWD):/build $$TAG bash -c "trap 'chown -R --reference=. .' EXIT; export VERSION=$(VERSION) COMMIT=$(COMMIT) SOURCE_DATE_EPOCH=$(SOURCE_DATE_EPOCH) && cd /build && make clean && make test && make deb"
|
||||
docker image ls -q "wfb-ng:build-*" | uniq | tail -n+6 | while read i ; do docker rmi -f $$i; done
|
||||
|
@ -1,7 +1,9 @@
|
||||
ARG SRC_IMAGE
|
||||
|
||||
FROM $SRC_IMAGE
|
||||
|
||||
ARG QEMU_CPU
|
||||
ENV QEMU_CPU=$QEMU_CPU
|
||||
|
||||
RUN apt-get update && \
|
||||
DEBIAN_FRONTEND=noninteractive \
|
||||
apt-get install -y build-essential git wget \
|
||||
|
Loading…
Reference in New Issue
Block a user