-
Notifications
You must be signed in to change notification settings - Fork 3
/
make.conf
89 lines (73 loc) · 2.41 KB
/
make.conf
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
#
# Build Configuration
#
# Copyright (c) 2020 Cisco Systems, Inc. <[email protected]>
#
#
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License version 2 as
# published by the Free Software Foundation.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program. If not, see <https://www.gnu.org/licenses/>.
#
ARCH = $(shell uname -m | sed s,i[3456789]86,ia32,)
#
# efi lib/applications configuration
#
EFI_INC = /usr/include/efi
EFI_INCS = -I${EFI_INC} -I${EFI_INC}/${ARCH} -I${EFI_INC}/protocol
LIB = /usr/lib
EFI_LIB = ${LIB}
EFI_LIBS = -lgnuefi -lefi
EFI_CRT_OBJS = ${EFI_LIB}/crt0-efi-${ARCH}.o
EFI_LDS = ${EFI_LIB}/elf_${ARCH}_efi.lds
CFLAGS = \
-Wall ${EFI_INCS} \
-fpic -ffreestanding -fno-stack-protector -fno-stack-check \
-fshort-wchar -mno-red-zone -maccumulate-outgoing-args
LDFLAGS = \
-shared -Bsymbolic \
-L ${EFI_LIB} -T ${EFI_LDS} ${EFI_CRT_OBJS}
%.o: %.c
${CC} ${CFLAGS} -c $< -o $@
%.so: %.o
${LD} ${LDFLAGS} $^ -o $@ ${EFI_LIBS}
%.efi: %.so
objcopy \
-j .text -j .sdata -j .data -j .dynamic -j .dynsym -j .rel \
-j .rela -j .rel.* -j .rela.* -j .reloc -j .sbat \
--target efi-app-x86_64 --subsystem=10 $< $@
#
# qemu/ovmf configuration
#
OVMF_SEARCH = /usr/share/OVMF \
/usr/share/edk2-ovmf/x64 \
UNDEFINED
OVMF_DIR ?= $(shell for d in $(OVMF_SEARCH); do [ -d "$$d" ] && break; done; echo $$d)
OVMF_CODE = $(OVMF_DIR)/OVMF_CODE.secboot.fd
OVMF_VARS = $(OVMF_DIR)/OVMF_VARS.fd
QEMU_CMD_CORE = \
qemu-system-x86_64 \
-machine type=q35,smm=on,accel=kvm -cpu host -smp 2 -m 1024 \
\
-global ICH9-LPC.disable_s3=1 \
-global driver=cfi.pflash01,property=secure,value=on \
-drive if=pflash,format=raw,readonly=on,file=ovmf_fw.fd \
-drive if=pflash,format=raw,file=ovmf_vars.fd \
\
-chardev socket,id=chrtpm,path=.tpm2/swtpm-sock \
-tpmdev emulator,id=tpm0,chardev=chrtpm \
-device tpm-tis,tpmdev=tpm0 \
\
-virtfs local,path=fs_virtfs,mount_tag=virtfs0,security_model=none \
\
-drive file=fat:rw:fs_esp,format=raw,media=disk \
\
-device virtio-net,netdev=nic -netdev user,id=nic
# kate: syntax Makefile;