-
Notifications
You must be signed in to change notification settings - Fork 9
Expand file tree
/
Copy pathdefconfig-elfloader
More file actions
86 lines (86 loc) · 3.07 KB
/
Copy pathdefconfig-elfloader
File metadata and controls
86 lines (86 loc) · 3.07 KB
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
CONFIG_UK_NAME="elfloader"
CONFIG_PLAT_HYPERLIGHT=y
# Paging + vmem (must be explicit — elfloader's imply doesn't stick)
CONFIG_LIBUKPAGING=y
CONFIG_LIBUKFALLOC=y
CONFIG_LIBUKVMEM=y
CONFIG_LIBUKVMEM_DEFAULT_BASE=0x0000001000000000
CONFIG_LIBUKVMEM_DEMAND_PAGE_IN_SIZE=12
CONFIG_LIBUKVMEM_PAGEFAULT_HANDLER_PRIO=4
CONFIG_LIBPOSIX_MMAP=y
# elfloader basics
CONFIG_APPELFLOADER_CUSTOMAPPNAME=y
CONFIG_APPELFLOADER_VFSEXEC=y
CONFIG_APPELFLOADER_VFSEXEC_EXECBIT=n
# Don't search PATH for the executable — our driver sets the path directly
CONFIG_APPELFLOADER_VFSEXEC_ENVPATH=n
CONFIG_APPELFLOADER_STACK_NBPAGES=512
# POSIX subsystems Python needs
CONFIG_LIBDEVFS=y
CONFIG_LIBDEVFS_AUTOMOUNT=y
CONFIG_LIBPOSIX_ENVIRON=y
# ENVP0 defaults to PATH=/bin, where no interpreter lives, so a bare
# subprocess.run(["python3", ...]) would fail. The python drivers replace
# PATH with /usr/local/bin:/usr/bin:/bin at startup (hl_pydriver.c,
# hl_pywarmdriver.c); a host --env PATH still overrides it. For a driverless
# entry point (--entry /bin/sh) pass --env PATH=... instead, or set
# CONFIG_LIBPOSIX_ENVIRON_ENVP0 here to cover every image at once.
CONFIG_LIBPOSIX_EVENT=y
CONFIG_LIBPOSIX_EVENTFD=y
CONFIG_LIBPOSIX_FDIO=y
CONFIG_LIBPOSIX_FDTAB=y
CONFIG_LIBPOSIX_FUTEX=y
CONFIG_LIBPOSIX_PIPE=y
CONFIG_LIBPOSIX_POLL=y
CONFIG_LIBPOSIX_PROCESS=y
CONFIG_LIBPOSIX_PROCESS_CLONE=y
CONFIG_LIBPOSIX_PROCESS_MULTITHREADING=y
CONFIG_LIBPOSIX_PROCESS_MAX_PID=4096
CONFIG_LIBPOSIX_PROCESS_MULTIPROCESS=y
CONFIG_LIBPOSIX_PROCESS_EXECVE=y
CONFIG_LIBPOSIX_PROCESS_EXECVE_STACK_SIZE_PAGES=2048
CONFIG_LIBPOSIX_PROCESS_ARCH_PRCTL=y
CONFIG_LIBUKBINFMT=y
CONFIG_APPELFLOADER_MULTIPROCESS=y
CONFIG_APPELFLOADER_ELF_BINFMT=y
CONFIG_APPELFLOADER_BRK=y
CONFIG_LIBPOSIX_SOCKET=y
CONFIG_LIBPOSIX_UNIXSOCKET=y
CONFIG_LIBPOSIX_SYSINFO=y
CONFIG_LIBPOSIX_TIME=y
CONFIG_LIBPOSIX_TIMERFD=y
CONFIG_LIBPOSIX_USER=y
CONFIG_LIBUKSIGNAL=y
CONFIG_LIBUKRANDOM=y
# CONFIG_LIBUKRANDOM_RESEED is not set
CONFIG_LIBUKRANDOM_GETRANDOM=y
CONFIG_LIBUKRANDOM_DEVFS=y
CONFIG_LIBUKRANDOM_LCPU=y
# VFS: initrd from UKPLAT_MEMRT_INITRD (not embedded)
CONFIG_LIBVFSCORE=y
CONFIG_LIBVFSCORE_AUTOMOUNT=y
CONFIG_LIBVFSCORE_AUTOMOUNT_CI=y
CONFIG_LIBVFSCORE_AUTOMOUNT_CI_INITRD=y
CONFIG_LIBVFSCORE_AUTOMOUNT_UP=y
CONFIG_LIBVFSCORE_NONLARGEFILE=y
# Command-line parameter parsing — needed for vfs.fstab= cmdline arg
CONFIG_LIBUKLIBPARAM=y
# Boot
CONFIG_LIBUKBOOT_MAINTHREAD=y
CONFIG_LIBUKBOOT_HEAP_BASE=0x400000000
# Larger kernel stack — Python's networking tests need deep call chains
CONFIG_STACK_SIZE_PAGE_ORDER=8
# Host filesystem pass-through
CONFIG_LIBHOSTFS=y
# Host networking pass-through
CONFIG_LIBHOSTSOCK=y
# No userspace TCP/IP stack — networking goes through hostsock
# CONFIG_LIBLWIP is not set
# Route stdin through the console driver (not /dev/null) so the guest
# can read host-provided input via sys.stdin, process.stdin, etc.
CONFIG_LIBPOSIX_TTY_STDIN_SERIAL=y
CONFIG_LIBPOSIX_TTY_SERIAL_EOF_FINAL=y
# Disable compile-date embedding for reproducible builds — same source
# always produces the same binary.
CONFIG_LIBUKLIBID_INFO_COMPILEDATE=n
CONFIG_LIBUKBOOT_BANNER_NONE=y