-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathKconfig
More file actions
executable file
·180 lines (152 loc) · 5.47 KB
/
Copy pathKconfig
File metadata and controls
executable file
·180 lines (152 loc) · 5.47 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
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
mainmenu "EdgeOS Kernel Configuration"
menu "General setup"
choice
prompt "Target architecture"
default ARCH_X86_64
config ARCH_X86_64
bool "x86_64"
config ARCH_ARM64
bool "ARM64"
endchoice
config KERNEL_VERSION
string "EdgeOS kernel version"
default "2.0.8"
help
Product release used by the EdgeOS boot banner and build metadata.
config KERNEL_VERSION_APPEND
string "Local version - append to kernel release"
default "+arm64" if ARCH_ARM64
default "+86_64"
help
Architecture suffix appended to the EdgeOS product release.
config LINUX_ABI_RELEASE
string "Linux ABI release"
default "6.12.0-edgeos"
help
Release reported by Linux ABI interfaces such as uname and procfs.
Keep this architecture-neutral so Linux userspace selects the same
feature set on every supported architecture.
config SMP
bool "Symmetric multiprocessing"
default y
help
Enable architecture secondary CPU startup and the shared per-CPU
scheduler, interrupt, memory-ordering, and hotplug foundations.
config NR_CPUS
int "Maximum supported CPUs"
depends on SMP
range 2 256
default 64
help
Compile-time storage ceiling for per-CPU kernel objects. Runtime CPU
masks retain the firmware-discovered width and are not limited to one
64-bit word.
config BSD_DRIVER_BRIDGE
bool "FreeBSD source-compatible driver bridge"
default n
help
Build the shared compatibility services used to compile unmodified
BSD-licensed driver sources. Driver families remain separately
selectable and must pass their device-specific runtime tests.
config BSD_DRIVER_ACPICA
bool "Complete ACPICA namespace and method runtime"
depends on BSD_DRIVER_BRIDGE && ACPI
default y
help
Build the vendored ACPICA runtime with the shared EdgeOS operating-
system layer. This enables firmware namespace enumeration and method
execution required by laptop I2C, HID, battery, button, and thermal
drivers.
config BSD_DRIVER_MODULES
bool "Load source-built BSD drivers from relocatable modules"
depends on BSD_DRIVER_BRIDGE
default y
help
Enable the shared ELF64 and ARM64 COFF object loader so driver
packages can remain outside the kernel image and load from the root
filesystem.
config BSD_DRIVER_FDT_INVENTORY
bool "Inventory Device Tree devices for BSD drivers"
depends on BSD_DRIVER_BRIDGE && DEVICE_TREE
default y
help
Create a non-attaching newbus inventory from the validated firmware
Device Tree. Imported drivers may claim matching devices after their
modules load, while native EdgeOS drivers retain ownership by default.
config BSD_DRIVER_MODULE_DIRECTORY
string "BSD driver module directory"
depends on BSD_DRIVER_MODULES
default "/usr/lib/edgeos/modules"
help
Absolute directory containing source-built BSD driver modules. Bare
entries in the module list resolve below this directory.
config BSD_DRIVER_MODULE_AUTOLOAD
bool "Load BSD driver modules during boot"
depends on BSD_DRIVER_MODULES
default y
help
Load the ordered module list after built-in compatibility services
start and before buses attach devices.
config BSD_DRIVER_MODULE_CONFIG
string "BSD driver module list"
depends on BSD_DRIVER_MODULE_AUTOLOAD
default "/etc/modules.load"
help
Absolute path to the ordered module list in the initial root
filesystem. Bare names resolve below BSD_DRIVER_MODULE_DIRECTORY.
endmenu
menu "Boot options"
config INITRAMFS
bool "Linux initramfs cpio support"
default y
help
Unpack Linux-compatible newc and crc cpio archives as the initial root
filesystem. Both x86_64 Multiboot modules and ARM64 UEFI handoff images
use the same architecture-neutral unpacker.
config INITRAMFS_SOURCE
string "Initramfs source directory"
depends on INITRAMFS
default ""
help
Directory packed by the initramfs build target. Leave this empty when an
externally generated archive is supplied by the boot loader.
config INITRAMFS_MAX_INODES
int "Maximum initramfs inode count"
depends on INITRAMFS
range 512 65536
default 8192
help
Maximum number of files, directories, links, and device nodes in the
initial root filesystem. Metadata storage is allocated only when the
initramfs root is mounted.
config INITRAMFS_MAX_BYTES
int "Maximum uncompressed initramfs size"
depends on INITRAMFS
range 1048576 1073741824
default 268435456
help
Reject compressed initial root filesystems whose advertised
uncompressed size exceeds this bound.
config INITRAMFS_GZIP
bool "gzip-compressed initramfs support"
depends on INITRAMFS
default y
help
Decode gzip-compressed initial root filesystems with the permissively
licensed zlib implementation imported with the FreeBSD source tree.
config INITRAMFS_COMPRESSION_GZIP
bool "Compress generated initramfs images with gzip"
depends on INITRAMFS_GZIP
default y
help
Make initramfs build targets emit deterministic gzip streams instead of
uncompressed cpio files.
config INITRAMFS_CRC
bool "Generate crc cpio archives"
depends on INITRAMFS && INITRAMFS_SOURCE != ""
default n
help
Generate the Linux crc cpio variant and verify each payload while
unpacking. The default newc format omits payload checksums.
endmenu
source "arch/x86/Kconfig"