initial VERY rough commit
This commit is contained in:
commit
c39e7c37ed
2 changed files with 88 additions and 0 deletions
59
GNUmakefile
Normal file
59
GNUmakefile
Normal file
|
|
@ -0,0 +1,59 @@
|
|||
ARCH ?= $(shell uname -m)
|
||||
QEMU ?= qemu-system-$(ARCH)
|
||||
UBUNTU_ROOT ?= roots/ubuntu_wiredemo-admin.targetdisk.local
|
||||
SSH_PORT ?= 2222
|
||||
|
||||
ifeq ($(ARCH),x86_64)
|
||||
OVMF_ARCH := x64
|
||||
else ifeq ($(ARCH),x86)
|
||||
OVMF_ARCH := ia32
|
||||
else ifneq (,$(findstring arm,$(ARCH)))
|
||||
OVMF_ARCH := arm
|
||||
else
|
||||
OVMF_ARCH := $(ARCH)
|
||||
endif
|
||||
|
||||
QEMU_OVMF ?= /usr/share/ovmf/$(OVMF_ARCH)/OVMF.*fd
|
||||
|
||||
QEMUOPTS ?= -cpu max -enable-kvm -smp $(shell nproc) \
|
||||
-nodefaults -no-user-config -nographic \
|
||||
-chardev stdio,id=virtcons0 \
|
||||
-device virtio-serial-pci \
|
||||
-device virtconsole,chardev=virtcons0 \
|
||||
-m 62G \
|
||||
-net user,hostfwd=tcp::$(SSH_PORT)-:22 \
|
||||
-net nic \
|
||||
-device virtio-9p-pci,id=fs0,fsdev=fsdev-fs0,mount_tag=fs0 \
|
||||
-sandbox on,obsolete=deny,elevateprivileges=deny,spawn=deny,resourcecontrol=deny \
|
||||
# -bios $(QEMU_OVMF) \
|
||||
# -bios /usr/share/qemu/qboot.rom
|
||||
# -machine microvm,accel=kvm,rtc=on \
|
||||
|
||||
UBUNTU_ISO ?= iso/ubuntu/ubuntu-24.04.2-live-server-amd64.iso
|
||||
UBUNTU_ISO_ARGS ?= -drive file=$(UBUNTU_ISO),media=cdrom,id=virtiso1 \
|
||||
# -device virtio-blk-pci,drive=virtiso1 \
|
||||
# -kernel mnt/casper/vmlinuz \
|
||||
# -append "earlyprintk=ttyS0"
|
||||
|
||||
UBUNTU_FAT_ARGS ?= -drive file=fat:rw:$(UBUNTU_ROOT)/boot,id=virtiso1 \
|
||||
|
||||
$(UBUNTU_ROOT):
|
||||
mkdir -p $@
|
||||
|
||||
root1: $(UBUNTU_ROOT)
|
||||
|
||||
roots/ubuntu_wiredemo-admin.wiredemo.local:
|
||||
mkdir -p $@
|
||||
|
||||
run1-installer: $(UBUNTU_ROOT)
|
||||
$(QEMU) $(QEMUOPTS) $(UBUNTU_ISO_ARGS) \
|
||||
-fsdev local,security_model=mapped,id=fsdev-fs0,multidevs=remap,path=$<
|
||||
|
||||
run1: $(UBUNTU_ROOT)
|
||||
$(QEMU) $(QEMUOPTS) \
|
||||
-kernel $(UBUNTU_ROOT)/boot/$(shell cat $(UBUNTU_ROOT)/boot/vmlinuz) \
|
||||
-append "earlyprintk=ttyS0 root=fs0 rw rootfstype=9p rootflags=trans=virtio,version=9p2000.L,msize=5000000,cache=mmap,posixacl console=ttyS0" \
|
||||
-initrd $(UBUNTU_ROOT)/boot/$(shell cat $(UBUNTU_ROOT)/boot/initrd.img) \
|
||||
-fsdev local,security_model=mapped,id=fsdev-fs0,multidevs=remap,path=$<
|
||||
|
||||
.PHONY: root1 run1 run1-installer
|
||||
Loading…
Add table
Add a link
Reference in a new issue