mirror of
https://github.com/pygos/build.git
synced 2024-11-21 18:49:46 +01:00
Add configuration for testing with qemu
Signed-off-by: David Oberhollenzer <david.oberhollenzer@tele2.at>
This commit is contained in:
parent
59d01432b1
commit
121fee7e97
11 changed files with 3162 additions and 0 deletions
5
layer/bsp-qemu64/INIT
Normal file
5
layer/bsp-qemu64/INIT
Normal file
|
@ -0,0 +1,5 @@
|
|||
GETTY_TTY="tty1 tty2 tty3 tty4 tty5 tty6 tty7"
|
||||
HWCLOCK="yes"
|
||||
DHCP_PORTS="port0"
|
||||
SERVICES=""
|
||||
MODULES=""
|
1
layer/bsp-qemu64/LDPATH
Normal file
1
layer/bsp-qemu64/LDPATH
Normal file
|
@ -0,0 +1 @@
|
|||
/lib
|
1
layer/bsp-qemu64/ROOTFS
Normal file
1
layer/bsp-qemu64/ROOTFS
Normal file
|
@ -0,0 +1 @@
|
|||
linux
|
11
layer/bsp-qemu64/TOOLCHAIN
Normal file
11
layer/bsp-qemu64/TOOLCHAIN
Normal file
|
@ -0,0 +1,11 @@
|
|||
RELEASEPKG="release-qemu"
|
||||
TARGET="x86_64-linux-musl"
|
||||
GCC_CPU="x86-64"
|
||||
MUSL_CPU="x86_64"
|
||||
|
||||
GCC_EXTRACFG=""
|
||||
|
||||
LINUXPKG="linux"
|
||||
LINUX_CPU="x86_64"
|
||||
LINUX_TGT="bzImage"
|
||||
OPENSSL_TARGET="linux-x86_64"
|
1
layer/bsp-qemu64/ifrename
Normal file
1
layer/bsp-qemu64/ifrename
Normal file
|
@ -0,0 +1 @@
|
|||
eth*,52:54:00:*,port
|
3068
layer/bsp-qemu64/linux.config
Normal file
3068
layer/bsp-qemu64/linux.config
Normal file
File diff suppressed because it is too large
Load diff
46
pkg/release-qemu/build
Executable file
46
pkg/release-qemu/build
Executable file
|
@ -0,0 +1,46 @@
|
|||
DEPENDS="rootfs"
|
||||
|
||||
build() {
|
||||
local SOURCE="$1"
|
||||
local DEPLOY="$2"
|
||||
|
||||
mkdir -p "$PKGBUILDDIR/$OS_RELEASE"
|
||||
|
||||
# copy output of immediate dependencies
|
||||
for pkgname in $DEPENDS; do
|
||||
if [ -e "$PKGDEPLOYDIR/$pkgname" ]; then
|
||||
cp -ru ${PKGDEPLOYDIR}/${pkgname}/* \
|
||||
"$PKGBUILDDIR/$OS_RELEASE"
|
||||
fi
|
||||
done
|
||||
|
||||
# copy helper scripts
|
||||
local linux_image="vmlinuz"
|
||||
local rootfs_image="rootfs.img"
|
||||
|
||||
for script in runqemu.sh cmdline.txt kernel.txt; do
|
||||
cp "$SCRIPTDIR/pkg/$PKGNAME/$script" "$PKGBUILDDIR"
|
||||
|
||||
sed -i 's#ROOTFSFILE#'$rootfs_image'#g' "$PKGBUILDDIR/$script"
|
||||
sed -i 's#KERNELFILE#'$linux_image'#g' "$PKGBUILDDIR/$script"
|
||||
sed -i 's#VERSIONDIR#'$OS_RELEASE'#g' "$PKGBUILDDIR/$script"
|
||||
done
|
||||
|
||||
# boot partition
|
||||
mkdir "$PKGBUILDDIR/bootfs"
|
||||
mv "$PKGBUILDDIR/$OS_RELEASE" "$PKGBUILDDIR/bootfs"
|
||||
mv "$PKGBUILDDIR/cmdline.txt" "$PKGBUILDDIR/bootfs"
|
||||
mv "$PKGBUILDDIR/kernel.txt" "$PKGBUILDDIR/bootfs"
|
||||
}
|
||||
|
||||
deploy() {
|
||||
local SOURCE="$1"
|
||||
local DEPLOY="$2"
|
||||
|
||||
tar czf "$DEPLOY/$PKGNAME.tar.gz" *
|
||||
}
|
||||
|
||||
check_update() {
|
||||
return
|
||||
}
|
||||
|
1
pkg/release-qemu/cmdline.txt
Normal file
1
pkg/release-qemu/cmdline.txt
Normal file
|
@ -0,0 +1 @@
|
|||
root=/dev/vda1 root_sfs=VERSIONDIR/ROOTFSFILE overlay_dev=overlay overlay_type=qemu
|
1
pkg/release-qemu/kernel.txt
Normal file
1
pkg/release-qemu/kernel.txt
Normal file
|
@ -0,0 +1 @@
|
|||
VERSIONDIR/KERNELFILE
|
24
pkg/release-qemu/runqemu.sh
Executable file
24
pkg/release-qemu/runqemu.sh
Executable file
|
@ -0,0 +1,24 @@
|
|||
#!/bin/sh
|
||||
|
||||
SCRIPTDIR=$(CDPATH= cd -- "$(dirname -- "$0")" && pwd -P)
|
||||
|
||||
BOOT="$SCRIPTDIR/bootfs"
|
||||
OVERLAY="$SCRIPTDIR/overlay"
|
||||
|
||||
KERNEL=$(cat "$BOOT/kernel.txt")
|
||||
CMDLINE=$(cat "$BOOT/cmdline.txt")
|
||||
|
||||
RAM="256M"
|
||||
MAC0="52:54:00:12:34:56"
|
||||
|
||||
mkdir -p ${OVERLAY}/{etc,etc_work,usr,usr_work,var_lib,var_lib_work}
|
||||
|
||||
qemu-system-x86_64 \
|
||||
-drive "file=fat:rw:$BOOT,readonly=off,format=raw,if=virtio" \
|
||||
-m "$RAM" -accel kvm -cpu host \
|
||||
-vga virtio -display sdl \
|
||||
-netdev user,id=netdev0 \
|
||||
-device virtio-net-pci,netdev=netdev0,mac="$MAC0" \
|
||||
-fsdev "local,id=overlay,path=$OVERLAY,security_model=mapped" \
|
||||
-device "virtio-9p-pci,fsdev=overlay,mount_tag=overlay" \
|
||||
-kernel "$BOOT/$KERNEL" -append "$CMDLINE"
|
3
product/qemu-test.layers
Normal file
3
product/qemu-test.layers
Normal file
|
@ -0,0 +1,3 @@
|
|||
bsp-qemu64
|
||||
pygos-cli
|
||||
pygos-cli-net
|
Loading…
Reference in a new issue