├── README.md ├── conf ├── busybox.config ├── kernel-5.11.config ├── kernel-6.11.config ├── kernel-6.12.config ├── kernel-6.2.config ├── kernel-6.3.config └── kernel-6.7.config ├── gdb-files ├── gdb-init-real-mode.txt ├── i386-32bit.xml └── target.xml ├── sample-code ├── Makefile ├── t_mmap.c └── vsyscall.c ├── scripts ├── build.sh ├── config.sh ├── launch-gdb.sh └── launch-vm.sh └── test-modules ├── mutex-unlock-by-another-task ├── Makefile └── mutex.c └── mutex ├── Makefile └── mutex.c /README.md: -------------------------------------------------------------------------------- 1 | # gdb-linux-real-mode 2 | Debug the real-mode setup code and protected mode of Linux Kernel. 3 | 4 | ## Note 5 | * Environment: Tested on Ubuntu 20.04.1 6 | 7 | * Required packages 8 | ```shell 9 | $ sudo apt-get install make curl gcc bison flex gdb qemu-system-x86 10 | ``` 11 | 12 | * [RHEL 8.X]: You need to install package 'glibc-static' when building busybox. 13 | 14 | ## Steps 15 | * Run the script `scripts/build.sh`. This automatically builds Linux kernel (v5.11) and root filesystem (busybox). 16 | ```shell 17 | $ ./scripts/build.sh 18 | ``` 19 | 20 | * Launch a guest OS. This script pauses the OS launch and waits for remote debug via gdb. (Note: If you want to shutdown the guest OS, please press the key combination `ctrl+a x`). 21 | ```shell 22 | $ ./scripts/launch-vm.sh 23 | ``` 24 | 25 | * Open another terminal and execute the script `scripts/launch-gdb.sh`. 26 | ``` 27 | $ ./scripts/launch-gdb.sh 28 | ``` 29 | 30 | ### Case 1: Debug real mode 31 | 32 | * Open one terminal and execute the following command (This script pauses the OS launch and waits for remote debug via gdb). 33 | ```shell 34 | $ ./scripts/launch-vm.sh 35 | ``` 36 | 37 | * Open another terminal and execute the script `scripts/launch-gdb.sh`. This sets a breakpoint at the label `start_of_setup (arch/x86/boot/header.S)` and continues to run the guest OS. The code will be paused at the starting address of start_of_setup. You can use gdb commands to debug the real-mode setup code of Linux kernel. Enjoy debugging. 38 | * The script sets a breakpoint at 0x10200, which is real mode entry code of Linux kernel. 39 | * Execute gdb command `si` to step one instruction. 40 | ```shell 41 | $ ./scripts/launch-gdb.sh 42 | # debug real-mode code of Linux kernel 43 | add-symbol-file /home/adrian/git-repo/gdb-linux-real-mode/out/obj/linux/arch/x86/boot/setup.elf 0x103ff -s .bstext 0x10000 -s .bsdata 0x1002d -s .header 0x101ef -s .entrytext 0x1026c -s .inittext 0x102d4 -s .initdata 0x103e1 -s .text32 0x130cc -s .bss 0x136e0 -s .data 0x13660 44 | target remote :1234 45 | #b start_of_setup 46 | b *0x10200 47 | c 48 | GNU gdb (Ubuntu 9.2-0ubuntu1~20.04) 9.2 49 | Copyright (C) 2020 Free Software Foundation, Inc. 50 | License GPLv3+: GNU GPL version 3 or later 51 | This is free software: you are free to change and redistribute it. 52 | There is NO WARRANTY, to the extent permitted by law. 53 | Type "show copying" and "show warranty" for details. 54 | This GDB was configured as "x86_64-linux-gnu". 55 | Type "show configuration" for configuration details. 56 | For bug reporting instructions, please see: 57 | . 58 | Find the GDB manual and other documentation resources online at: 59 | . 60 | 61 | For help, type "help". 62 | Type "apropos word" to search for commands related to "word". 63 | add symbol table from file "/home/adrian/git-repo/gdb-linux-real-mode/out/obj/linux/arch/x86/boot/setup.elf" at 64 | .text_addr = 0x103ff 65 | .bstext_addr = 0x10000 66 | .bsdata_addr = 0x1002d 67 | .header_addr = 0x101ef 68 | .entrytext_addr = 0x1026c 69 | .inittext_addr = 0x102d4 70 | .initdata_addr = 0x103e1 71 | .text32_addr = 0x130cc 72 | .bss_addr = 0x136e0 73 | .data_addr = 0x13660 74 | 75 | warning: No executable has been specified and target does not support 76 | determining executable automatically. Try using the "file" command. 77 | ---------------------------[ STACK ]--- 78 | 0000 0000 0000 0000 0000 0000 0000 0000 79 | 0000 0000 0000 0000 0000 0000 0000 0000 80 | ---------------------------[ DS:SI ]--- 81 | 00000000: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ 82 | 00000010: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ 83 | 00000020: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ 84 | 00000030: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ 85 | ---------------------------[ ES:DI ]--- 86 | 00000000: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ 87 | 00000010: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ 88 | 00000020: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ 89 | 00000030: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ 90 | ----------------------------[ CPU ]---- 91 | AX: 0000 BX: 0000 CX: 0000 DX: 0663 92 | SI: 0000 DI: 0000 SP: 0000 BP: 0000 93 | CS: F000 DS: 0000 ES: 0000 SS: 0000 94 | 95 | IP: FFF0 RIP:0000FFF0 96 | CS:IP: F000:FFF0 (0xFFFF0) 97 | SS:SP: 0000:0000 (0x00000) 98 | SS:BP: 0000:0000 (0x00000) 99 | OF <0> DF <0> IF <0> TF <0> SF <0> ZF <0> AF <0> PF <0> CF <0> 100 | ID <0> VIP <0> VIF <0> AC <0> VM <0> RF <0> NT <0> IOPL <0> 101 | ---------------------------[ CODE ]---- 102 | 0xffff0: (bad) 103 | 0xffff1: pop %rbx 104 | 0xffff2: loopne 0xffff4 105 | 0xffff4: lock xor %dh,(%rsi) 106 | 0xffff7: (bad) 107 | 0xffff8: xor (%rbx),%dh 108 | 0xffffa: (bad) 109 | 0xffffb: cmp %edi,(%rcx) 110 | 0xffffd: add %bh,%ah 111 | 0xfffff: add %al,(%rax) 112 | 0x000000000000fff0 in ?? () 113 | Breakpoint 1 at 0x10200 114 | 115 | Thread 1 received signal SIGTRAP, Trace/breakpoint trap. 116 | ---------------------------[ STACK ]--- 117 | 0000 0000 0000 0000 0000 0000 0000 0000 118 | 6165 6C72 7079 6972 746E 3D6B 6573 6972 119 | ---------------------------[ DS:SI ]--- 120 | 10000000: EA 05 00 C0 07 8C C8 8E D8 8E C0 8E D0 31 E4 FB .............1.. 121 | 10000010: FC BE 2D 00 AC 20 C0 74 09 B4 0E BB 07 00 CD 10 ..-....t........ 122 | 10000020: EB F2 31 C0 CD 16 CD 19 EA F0 FF 00 F0 55 73 65 ..1..........Use 123 | 10000030: 20 61 20 62 6F 6F 74 20 6C 6F 61 64 65 72 2E 0D .a.boot.loader.. 124 | ---------------------------[ ES:DI ]--- 125 | 10000000: EA 05 00 C0 07 8C C8 8E D8 8E C0 8E D0 31 E4 FB .............1.. 126 | 10000010: FC BE 2D 00 AC 20 C0 74 09 B4 0E BB 07 00 CD 10 ..-....t........ 127 | 10000020: EB F2 31 C0 CD 16 CD 19 EA F0 FF 00 F0 55 73 65 ..1..........Use 128 | 10000030: 20 61 20 62 6F 6F 74 20 6C 6F 61 64 65 72 2E 0D .a.boot.loader.. 129 | ----------------------------[ CPU ]---- 130 | AX: 1020 BX: 0000 CX: 0000 DX: 0000 131 | SI: 0000 DI: 0000 SP: FFF0 BP: 0000 132 | CS: 1020 DS: 1000 ES: 1000 SS: 1000 133 | 134 | IP: 0000 RIP:00000000 135 | CS:IP: 1020:0000 (0x10200) 136 | SS:SP: 1000:FFF0 (0x1FFF0) 137 | SS:BP: 1000:0000 (0x10000) 138 | OF <0> DF <0> IF <0> TF <0> SF <0> ZF <1> AF <0> PF <1> CF <0> 139 | ID <0> VIP <0> VIF <0> AC <0> VM <0> RF <0> NT <0> IOPL <0> 140 | ---------------------------[ CODE ]---- 141 | 0x10200: jmp 0x1026c 142 | 0x10202: rex.W 143 | 0x10203: fs jb 0x10259 144 | 0x10206: lar (%rax),%eax 145 | 0x10209: add %al,(%rax) 146 | 0x1020b: add %al,(%rax) 147 | 0x1020d: adc %ah,0x33(%rax) 148 | 0x10210: mov $0x81,%al 149 | 0x10212: add %al,0x100000(%rax) 150 | 0x10218: add %dl,(%rax) 151 | 0x0000000000000000 in ?? () 152 | (gdb) si 153 | ---------------------------[ STACK ]--- 154 | 0000 0000 0000 0000 0000 0000 0000 0000 155 | 6165 6C72 7079 6972 746E 3D6B 6573 6972 156 | ---------------------------[ DS:SI ]--- 157 | 10000000: EA 05 00 C0 07 8C C8 8E D8 8E C0 8E D0 31 E4 FB .............1.. 158 | 10000010: FC BE 2D 00 AC 20 C0 74 09 B4 0E BB 07 00 CD 10 ..-....t........ 159 | 10000020: EB F2 31 C0 CD 16 CD 19 EA F0 FF 00 F0 55 73 65 ..1..........Use 160 | 10000030: 20 61 20 62 6F 6F 74 20 6C 6F 61 64 65 72 2E 0D .a.boot.loader.. 161 | ---------------------------[ ES:DI ]--- 162 | 10000000: EA 05 00 C0 07 8C C8 8E D8 8E C0 8E D0 31 E4 FB .............1.. 163 | 10000010: FC BE 2D 00 AC 20 C0 74 09 B4 0E BB 07 00 CD 10 ..-....t........ 164 | 10000020: EB F2 31 C0 CD 16 CD 19 EA F0 FF 00 F0 55 73 65 ..1..........Use 165 | 10000030: 20 61 20 62 6F 6F 74 20 6C 6F 61 64 65 72 2E 0D .a.boot.loader.. 166 | ----------------------------[ CPU ]---- 167 | AX: 1020 BX: 0000 CX: 0000 DX: 0000 168 | SI: 0000 DI: 0000 SP: FFF0 BP: 0000 169 | CS: 1020 DS: 1000 ES: 1000 SS: 1000 170 | 171 | IP: 006C RIP:0000006C 172 | CS:IP: 1020:006C (0x1026C) 173 | SS:SP: 1000:FFF0 (0x1FFF0) 174 | SS:BP: 1000:0000 (0x10000) 175 | OF <0> DF <0> IF <0> TF <0> SF <0> ZF <1> AF <0> PF <1> CF <0> 176 | ID <0> VIP <0> VIF <0> AC <0> VM <0> RF <0> NT <0> IOPL <0> 177 | ---------------------------[ CODE ]---- 178 | 0x1026c : mov %ds,%eax 179 | 0x1026e : mov %eax,%es 180 | 0x10270 : cld 181 | 0x10271 : mov %ss,%edx 182 | 0x10273 : cmp %eax,%edx 183 | 0x10275 : mov %esp,%edx 184 | 0x10277 : je 0x1028f 185 | 0x10279 : mov $0x6f64a10,%edx 186 | 0x1027e : adc %eax,(%rdx) 187 | 0x10280 : xorb $0x16,-0x75(%rsp,%rax,1) 188 | 0x000000000000006c in ?? () 189 | (gdb) si 190 | ---------------------------[ STACK ]--- 191 | 0000 0000 0000 0000 0000 0000 0000 0000 192 | 6165 6C72 7079 6972 746E 3D6B 6573 6972 193 | ---------------------------[ DS:SI ]--- 194 | 10000000: EA 05 00 C0 07 8C C8 8E D8 8E C0 8E D0 31 E4 FB .............1.. 195 | 10000010: FC BE 2D 00 AC 20 C0 74 09 B4 0E BB 07 00 CD 10 ..-....t........ 196 | 10000020: EB F2 31 C0 CD 16 CD 19 EA F0 FF 00 F0 55 73 65 ..1..........Use 197 | 10000030: 20 61 20 62 6F 6F 74 20 6C 6F 61 64 65 72 2E 0D .a.boot.loader.. 198 | ---------------------------[ ES:DI ]--- 199 | 10000000: EA 05 00 C0 07 8C C8 8E D8 8E C0 8E D0 31 E4 FB .............1.. 200 | 10000010: FC BE 2D 00 AC 20 C0 74 09 B4 0E BB 07 00 CD 10 ..-....t........ 201 | 10000020: EB F2 31 C0 CD 16 CD 19 EA F0 FF 00 F0 55 73 65 ..1..........Use 202 | 10000030: 20 61 20 62 6F 6F 74 20 6C 6F 61 64 65 72 2E 0D .a.boot.loader.. 203 | ----------------------------[ CPU ]---- 204 | AX: 1000 BX: 0000 CX: 0000 DX: 0000 205 | SI: 0000 DI: 0000 SP: FFF0 BP: 0000 206 | CS: 1020 DS: 1000 ES: 1000 SS: 1000 207 | 208 | IP: 006E RIP:0000006E 209 | CS:IP: 1020:006E (0x1026E) 210 | SS:SP: 1000:FFF0 (0x1FFF0) 211 | SS:BP: 1000:0000 (0x10000) 212 | OF <0> DF <0> IF <0> TF <0> SF <0> ZF <1> AF <0> PF <1> CF <0> 213 | ID <0> VIP <0> VIF <0> AC <0> VM <0> RF <0> NT <0> IOPL <0> 214 | ---------------------------[ CODE ]---- 215 | 0x1026e : mov %eax,%es 216 | 0x10270 : cld 217 | 0x10271 : mov %ss,%edx 218 | 0x10273 : cmp %eax,%edx 219 | 0x10275 : mov %esp,%edx 220 | 0x10277 : je 0x1028f 221 | 0x10279 : mov $0x6f64a10,%edx 222 | 0x1027e : adc %eax,(%rdx) 223 | 0x10280 : xorb $0x16,-0x75(%rsp,%rax,1) 224 | 0x10285 : and $0x2,%al 225 | 0x000000000000006e in ?? () 226 | ``` 227 | 228 | ### Case 2: Debug the mode transition from real mode to protected mode 229 | 230 | * Open one terminal and execute the following command (This script pauses the OS launch and waits for remote debug via gdb). 231 | ```shell 232 | $ ./scripts/launch-vm.sh 233 | ``` 234 | 235 | * Open another terminal and execute the script `scripts/launch-gdb.sh`. 236 | * The script sets a breakpoint at 0x10200, which is real mode entry code of Linux kernel. 237 | * Manually execute gdb command `b *0x113c9` to add a new breakpoint at 0x113c9 238 | . The address is the instruction for enabling PE bit of CR0 `0x113c9 : mov %rdx, %cr0`. 239 | * Execute gdb command `info b`, `si`, and `c`. 240 | * Execute gdb command `info registers cr0` to check if PE bit is set. 241 | ```shell 242 | $ ./scripts/launch-gdb.sh 243 | # debug real-mode code of Linux kernel 244 | add-symbol-file /home/adrian/git-repo/gdb-linux-real-mode/out/obj/linux/arch/x86/boot/setup.elf 0x103ff -s .bstext 0x10000 -s .bsdata 0x1002d -s .header 0x101ef -s .entrytext 0x1026c -s .inittext 0x102d4 -s .initdata 0x103e1 -s .text32 0x130cc -s .bss 0x136e0 -s .data 0x13660 245 | target remote :1234 246 | #b start_of_setup 247 | b *0x10200 248 | c 249 | GNU gdb (Ubuntu 9.2-0ubuntu1~20.04) 9.2 250 | Copyright (C) 2020 Free Software Foundation, Inc. 251 | License GPLv3+: GNU GPL version 3 or later 252 | This is free software: you are free to change and redistribute it. 253 | There is NO WARRANTY, to the extent permitted by law. 254 | Type "show copying" and "show warranty" for details. 255 | This GDB was configured as "x86_64-linux-gnu". 256 | Type "show configuration" for configuration details. 257 | For bug reporting instructions, please see: 258 | . 259 | Find the GDB manual and other documentation resources online at: 260 | . 261 | 262 | For help, type "help". 263 | Type "apropos word" to search for commands related to "word". 264 | add symbol table from file "/home/adrian/git-repo/gdb-linux-real-mode/out/obj/linux/arch/x86/boot/setup.elf" at 265 | .text_addr = 0x103ff 266 | .bstext_addr = 0x10000 267 | .bsdata_addr = 0x1002d 268 | .header_addr = 0x101ef 269 | .entrytext_addr = 0x1026c 270 | .inittext_addr = 0x102d4 271 | .initdata_addr = 0x103e1 272 | .text32_addr = 0x130cc 273 | .bss_addr = 0x136e0 274 | .data_addr = 0x13660 275 | 276 | warning: No executable has been specified and target does not support 277 | determining executable automatically. Try using the "file" command. 278 | ---------------------------[ STACK ]--- 279 | 0000 0000 0000 0000 0000 0000 0000 0000 280 | 0000 0000 0000 0000 0000 0000 0000 0000 281 | ---------------------------[ DS:SI ]--- 282 | 00000000: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ 283 | 00000010: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ 284 | 00000020: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ 285 | 00000030: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ 286 | ---------------------------[ ES:DI ]--- 287 | 00000000: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ 288 | 00000010: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ 289 | 00000020: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ 290 | 00000030: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ 291 | ----------------------------[ CPU ]---- 292 | AX: 0000 BX: 0000 CX: 0000 DX: 0663 293 | SI: 0000 DI: 0000 SP: 0000 BP: 0000 294 | CS: F000 DS: 0000 ES: 0000 SS: 0000 295 | 296 | IP: FFF0 RIP:0000FFF0 297 | CS:IP: F000:FFF0 (0xFFFF0) 298 | SS:SP: 0000:0000 (0x00000) 299 | SS:BP: 0000:0000 (0x00000) 300 | ----------------------------[ CPU Control Register]---- 301 | cr0 0x60000010 [ CD NW ET ] 302 | ----------------------------[ eflags]---- 303 | OF <0> DF <0> IF <0> TF <0> SF <0> ZF <0> AF <0> PF <0> CF <0> 304 | ID <0> VIP <0> VIF <0> AC <0> VM <0> RF <0> NT <0> IOPL <0> 305 | ---------------------------[ CODE ]---- 306 | 0xffff0: (bad) 307 | 0xffff1: pop %rbx 308 | 0xffff2: loopne 0xffff4 309 | 0xffff4: lock xor %dh,(%rsi) 310 | 0xffff7: (bad) 311 | 0xffff8: xor (%rbx),%dh 312 | 0xffffa: (bad) 313 | 0xffffb: cmp %edi,(%rcx) 314 | 0xffffd: add %bh,%ah 315 | 0xfffff: add %al,(%rax) 316 | 0x000000000000fff0 in ?? () 317 | Breakpoint 1 at 0x10200 318 | 319 | Thread 1 received signal SIGTRAP, Trace/breakpoint trap. 320 | ---------------------------[ STACK ]--- 321 | 0000 0000 0000 0000 0000 0000 0000 0000 322 | 6165 6C72 7079 6972 746E 3D6B 6573 6972 323 | ---------------------------[ DS:SI ]--- 324 | 10000000: EA 05 00 C0 07 8C C8 8E D8 8E C0 8E D0 31 E4 FB .............1.. 325 | 10000010: FC BE 2D 00 AC 20 C0 74 09 B4 0E BB 07 00 CD 10 ..-....t........ 326 | 10000020: EB F2 31 C0 CD 16 CD 19 EA F0 FF 00 F0 55 73 65 ..1..........Use 327 | 10000030: 20 61 20 62 6F 6F 74 20 6C 6F 61 64 65 72 2E 0D .a.boot.loader.. 328 | ---------------------------[ ES:DI ]--- 329 | 10000000: EA 05 00 C0 07 8C C8 8E D8 8E C0 8E D0 31 E4 FB .............1.. 330 | 10000010: FC BE 2D 00 AC 20 C0 74 09 B4 0E BB 07 00 CD 10 ..-....t........ 331 | 10000020: EB F2 31 C0 CD 16 CD 19 EA F0 FF 00 F0 55 73 65 ..1..........Use 332 | 10000030: 20 61 20 62 6F 6F 74 20 6C 6F 61 64 65 72 2E 0D .a.boot.loader.. 333 | ----------------------------[ CPU ]---- 334 | AX: 1020 BX: 0000 CX: 0000 DX: 0000 335 | SI: 0000 DI: 0000 SP: FFF0 BP: 0000 336 | CS: 1020 DS: 1000 ES: 1000 SS: 1000 337 | 338 | IP: 0000 RIP:00000000 339 | CS:IP: 1020:0000 (0x10200) 340 | SS:SP: 1000:FFF0 (0x1FFF0) 341 | SS:BP: 1000:0000 (0x10000) 342 | ----------------------------[ CPU Control Register]---- 343 | cr0 0x10 [ ET ] 344 | ----------------------------[ eflags]---- 345 | OF <0> DF <0> IF <0> TF <0> SF <0> ZF <1> AF <0> PF <1> CF <0> 346 | ID <0> VIP <0> VIF <0> AC <0> VM <0> RF <0> NT <0> IOPL <0> 347 | ---------------------------[ CODE ]---- 348 | 0x10200: jmp 0x1026c 349 | 0x10202: rex.W 350 | 0x10203: fs jb 0x10259 351 | 0x10206: lar (%rax),%eax 352 | 0x10209: add %al,(%rax) 353 | 0x1020b: add %al,(%rax) 354 | 0x1020d: adc %ah,0x33(%rax) 355 | 0x10210: mov $0x81,%al 356 | 0x10212: add %al,0x100000(%rax) 357 | 0x10218: add %dl,(%rax) 358 | 0x0000000000000000 in ?? () 359 | (gdb) info b 360 | Num Type Disp Enb Address What 361 | 1 breakpoint keep y 0x0000000000010200 362 | (gdb) b *0x113c9 363 | Breakpoint 2 at 0x113c9: file /home/adrian/git-repo/gdb-linux-real-mode/src/linux-5.11/arch/x86/boot/pmjump.S, line 39. 364 | (gdb) info b 365 | Num Type Disp Enb Address What 366 | 1 breakpoint keep y 0x0000000000010200 367 | 2 breakpoint keep y 0x000113c9 /home/adrian/git-repo/gdb-linux-real-mode/src/linux-5.11/arch/x86/boot/pmjump.S:39 368 | (gdb) si 369 | ---------------------------[ STACK ]--- 370 | 0000 0000 0000 0000 0000 0000 0000 0000 371 | 6165 6C72 7079 6972 746E 3D6B 6573 6972 372 | ---------------------------[ DS:SI ]--- 373 | 10000000: EA 05 00 C0 07 8C C8 8E D8 8E C0 8E D0 31 E4 FB .............1.. 374 | 10000010: FC BE 2D 00 AC 20 C0 74 09 B4 0E BB 07 00 CD 10 ..-....t........ 375 | 10000020: EB F2 31 C0 CD 16 CD 19 EA F0 FF 00 F0 55 73 65 ..1..........Use 376 | 10000030: 20 61 20 62 6F 6F 74 20 6C 6F 61 64 65 72 2E 0D .a.boot.loader.. 377 | ---------------------------[ ES:DI ]--- 378 | 10000000: EA 05 00 C0 07 8C C8 8E D8 8E C0 8E D0 31 E4 FB .............1.. 379 | 10000010: FC BE 2D 00 AC 20 C0 74 09 B4 0E BB 07 00 CD 10 ..-....t........ 380 | 10000020: EB F2 31 C0 CD 16 CD 19 EA F0 FF 00 F0 55 73 65 ..1..........Use 381 | 10000030: 20 61 20 62 6F 6F 74 20 6C 6F 61 64 65 72 2E 0D .a.boot.loader.. 382 | ----------------------------[ CPU ]---- 383 | AX: 1020 BX: 0000 CX: 0000 DX: 0000 384 | SI: 0000 DI: 0000 SP: FFF0 BP: 0000 385 | CS: 1020 DS: 1000 ES: 1000 SS: 1000 386 | 387 | IP: 006C RIP:0000006C 388 | CS:IP: 1020:006C (0x1026C) 389 | SS:SP: 1000:FFF0 (0x1FFF0) 390 | SS:BP: 1000:0000 (0x10000) 391 | ----------------------------[ CPU Control Register]---- 392 | cr0 0x10 [ ET ] 393 | ----------------------------[ eflags]---- 394 | OF <0> DF <0> IF <0> TF <0> SF <0> ZF <1> AF <0> PF <1> CF <0> 395 | ID <0> VIP <0> VIF <0> AC <0> VM <0> RF <0> NT <0> IOPL <0> 396 | ---------------------------[ CODE ]---- 397 | 0x1026c : mov %ds,%eax 398 | 0x1026e : mov %eax,%es 399 | 0x10270 : cld 400 | 0x10271 : mov %ss,%edx 401 | 0x10273 : cmp %eax,%edx 402 | 0x10275 : mov %esp,%edx 403 | 0x10277 : je 0x1028f 404 | 0x10279 : mov $0x6f64a10,%edx 405 | 0x1027e : adc %eax,(%rdx) 406 | 0x10280 : xorb $0x16,-0x75(%rsp,%rax,1) 407 | 0x000000000000006c in ?? () 408 | (gdb) c 409 | Continuing. 410 | 411 | Thread 1 received signal SIGTRAP, Trace/breakpoint trap. 412 | ---------------------------[ STACK ]--- 413 | 13AA 0000 0000 0000 11D8 0000 0000 0000 414 | 0000 0000 0000 0000 0000 0000 0000 0000 415 | ---------------------------[ DS:SI ]--- 416 | 100039F0: 00 08 00 FC 00 00 03 50 00 00 03 00 00 00 19 01 .......P........ 417 | 10003A00: 10 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ 418 | 10003A10: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ 419 | 10003A20: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ 420 | ---------------------------[ ES:DI ]--- 421 | 10000020: EB F2 31 C0 CD 16 CD 19 EA F0 FF 00 F0 55 73 65 ..1..........Use 422 | 10000030: 20 61 20 62 6F 6F 74 20 6C 6F 61 64 65 72 2E 0D .a.boot.loader.. 423 | 10000040: 0A 0A 52 65 6D 6F 76 65 20 64 69 73 6B 20 61 6E ..Remove.disk.an 424 | 10000050: 64 20 70 72 65 73 73 20 61 6E 79 20 6B 65 79 20 d.press.any.key. 425 | ----------------------------[ CPU ]---- 426 | AX: 0000 BX: 0000 CX: 0018 DX: 0011 427 | SI: 39F0 DI: 0020 SP: FF80 BP: 0000 428 | CS: 1000 DS: 1000 ES: 1000 SS: 1000 429 | 430 | IP: 13C9 RIP:000013C9 431 | CS:IP: 1000:13C9 (0x113C9) 432 | SS:SP: 1000:FF80 (0x1FF80) 433 | SS:BP: 1000:0000 (0x10000) 434 | ----------------------------[ CPU Control Register]---- 435 | cr0 0x10 [ ET ] 436 | ----------------------------[ eflags]---- 437 | OF <0> DF <0> IF <0> TF <0> SF <0> ZF <0> AF <0> PF <1> CF <0> 438 | ID <0> VIP <0> VIF <0> AC <0> VM <0> RF <0> NT <0> IOPL <0> 439 | ---------------------------[ CODE ]---- 440 | 0x113c9 : mov %rdx,%cr0 441 | 0x113cc : data16 (bad) 442 | 0x113ce : int3 443 | 0x113cf : xor %al,(%rcx) 444 | 0x113d1 : add %dl,(%rax) 445 | 0x113d3 : add %ah,0x55(%rsi) 446 | 0x113d6 : push %di 447 | 0x113d8 : push %si 448 | 0x113da : push %bx 449 | 0x113dc : sub $0x5c,%sp 450 | 0x00000000000013c9 in ?? () 451 | (gdb) info registers cr0 452 | cr0 0x10 [ ET ] 453 | (gdb) si 454 | ---------------------------[ STACK ]--- 455 | 13AA 0000 0000 0000 11D8 0000 0000 0000 456 | 0000 0000 0000 0000 0000 0000 0000 0000 457 | ----------------------------[ CPU ]---- 458 | rax 0x100000 1048576 459 | rbx 0x10000 65536 460 | rcx 0xf0000018 4026531864 461 | rdx 0x11 17 462 | rsi 0x139f0 80368 463 | rdi 0x20 32 464 | rbp 0x0 0x0 465 | rsp 0xff80 0xff80 466 | rip 0x13cc 0x13cc 467 | eflags 0x6 [ IOPL=0 PF ] 468 | cs 0x1000 4096 469 | ss 0x1000 4096 470 | ds 0x1000 4096 471 | es 0x1000 4096 472 | fs 0x0 0 473 | gs 0xffff 65535 474 | ----------------------------[ CPU Control Register]---- 475 | cr0 0x11 [ ET PE ] 476 | ----------------------------[ eflags]---- 477 | OF <0> DF <0> IF <0> TF <0> SF <0> ZF <0> AF <0> PF <1> CF <0> 478 | ID <0> VIP <0> VIF <0> AC <0> VM <0> RF <0> NT <0> IOPL <0> 479 | ---------------------------[ CODE ]---- 480 | => 0x13cc: add %al,(%rax) 481 | 0x13ce: add %al,(%rax) 482 | 0x13d0: add %al,(%rax) 483 | 0x13d2: add %al,(%rax) 484 | 0x13d4: add %al,(%rax) 485 | 0x13d6: add %al,(%rax) 486 | 0x13d8: add %al,(%rax) 487 | 0x13da: add %al,(%rax) 488 | 0x13dc: add %al,(%rax) 489 | 0x13de: add %al,(%rax) 490 | 0x00000000000013cc in ?? () 491 | (gdb) si 492 | ---------------------------[ STACK ]--- 493 | 13AA 0000 0000 0000 11D8 0000 0000 0000 494 | 0000 0000 0000 0000 0000 0000 0000 0000 495 | ----------------------------[ CPU ]---- 496 | rax 0x100000 1048576 497 | rbx 0x10000 65536 498 | rcx 0xf0000018 4026531864 499 | rdx 0x11 17 500 | rsi 0x139f0 80368 501 | rdi 0x20 32 502 | rbp 0x0 0x0 503 | rsp 0xff80 0xff80 504 | rip 0x130cc 0x130cc 505 | eflags 0x6 [ IOPL=0 PF ] 506 | cs 0x10 16 507 | ss 0x1000 4096 508 | ds 0x1000 4096 509 | es 0x1000 4096 510 | fs 0x0 0 511 | gs 0xffff 65535 512 | ----------------------------[ CPU Control Register]---- 513 | cr0 0x11 [ ET PE ] 514 | ----------------------------[ eflags]---- 515 | OF <0> DF <0> IF <0> TF <0> SF <0> ZF <0> AF <0> PF <1> CF <0> 516 | ID <0> VIP <0> VIF <0> AC <0> VM <0> RF <0> NT <0> IOPL <0> 517 | ---------------------------[ CODE ]---- 518 | => 0x130cc: mov %ecx,%ds 519 | 0x130ce: mov %ecx,%es 520 | 0x130d0: mov %ecx,%fs 521 | 0x130d2: mov %ecx,%gs 522 | 0x130d4: mov %ecx,%ss 523 | 0x130d6: add %ebx,%esp 524 | 0x130d8: ltr %di 525 | 0x130db: xor %ecx,%ecx 526 | 0x130dd: xor %edx,%edx 527 | 0x130df: xor %ebx,%ebx 528 | 51 movl %ecx, %ds 529 | (gdb) info registers cr0 530 | cr0 0x11 [ ET PE ] 531 | ``` 532 | 533 | ## References 534 | * [How to disassemble 16-bit x86 boot sector code in GDB with “x/i $pc”? It gets treated as 32-bit](https://stackoverflow.com/questions/32955887/how-to-disassemble-16-bit-x86-boot-sector-code-in-gdb-with-x-i-pc-it-gets-tr) 535 | * [gdbinit_real_mode.txt](https://github.com/mhugo/gdb_init_real_mode/blob/master/gdbinit_real_mode.txt) 536 | -------------------------------------------------------------------------------- /conf/busybox.config: -------------------------------------------------------------------------------- 1 | # 2 | # Automatically generated make config: don't edit 3 | # Busybox version: 1.37.0 4 | # Wed Oct 9 08:46:17 2024 5 | # 6 | CONFIG_HAVE_DOT_CONFIG=y 7 | 8 | # 9 | # Settings 10 | # 11 | CONFIG_DESKTOP=y 12 | # CONFIG_EXTRA_COMPAT is not set 13 | # CONFIG_FEDORA_COMPAT is not set 14 | CONFIG_INCLUDE_SUSv2=y 15 | CONFIG_LONG_OPTS=y 16 | CONFIG_SHOW_USAGE=y 17 | CONFIG_FEATURE_VERBOSE_USAGE=y 18 | CONFIG_FEATURE_COMPRESS_USAGE=y 19 | CONFIG_LFS=y 20 | CONFIG_TIME64=y 21 | # CONFIG_PAM is not set 22 | CONFIG_FEATURE_DEVPTS=y 23 | CONFIG_FEATURE_UTMP=y 24 | CONFIG_FEATURE_WTMP=y 25 | CONFIG_FEATURE_PIDFILE=y 26 | CONFIG_PID_FILE_PATH="/var/run" 27 | CONFIG_BUSYBOX=y 28 | CONFIG_FEATURE_SHOW_SCRIPT=y 29 | CONFIG_FEATURE_INSTALLER=y 30 | # CONFIG_INSTALL_NO_USR is not set 31 | CONFIG_FEATURE_SUID=y 32 | CONFIG_FEATURE_SUID_CONFIG=y 33 | CONFIG_FEATURE_SUID_CONFIG_QUIET=y 34 | # CONFIG_FEATURE_PREFER_APPLETS is not set 35 | CONFIG_BUSYBOX_EXEC_PATH="/proc/self/exe" 36 | # CONFIG_SELINUX is not set 37 | # CONFIG_FEATURE_CLEAN_UP is not set 38 | CONFIG_FEATURE_SYSLOG_INFO=y 39 | CONFIG_FEATURE_SYSLOG=y 40 | 41 | # 42 | # Build Options 43 | # 44 | CONFIG_STATIC=y 45 | # CONFIG_PIE is not set 46 | # CONFIG_NOMMU is not set 47 | # CONFIG_BUILD_LIBBUSYBOX is not set 48 | # CONFIG_FEATURE_LIBBUSYBOX_STATIC is not set 49 | # CONFIG_FEATURE_INDIVIDUAL is not set 50 | # CONFIG_FEATURE_SHARED_BUSYBOX is not set 51 | CONFIG_CROSS_COMPILER_PREFIX="" 52 | CONFIG_SYSROOT="" 53 | CONFIG_EXTRA_CFLAGS="" 54 | CONFIG_EXTRA_LDFLAGS="" 55 | CONFIG_EXTRA_LDLIBS="" 56 | # CONFIG_USE_PORTABLE_CODE is not set 57 | CONFIG_STACK_OPTIMIZATION_386=y 58 | CONFIG_STATIC_LIBGCC=y 59 | 60 | # 61 | # Installation Options ("make install" behavior) 62 | # 63 | CONFIG_INSTALL_APPLET_SYMLINKS=y 64 | # CONFIG_INSTALL_APPLET_HARDLINKS is not set 65 | # CONFIG_INSTALL_APPLET_SCRIPT_WRAPPERS is not set 66 | # CONFIG_INSTALL_APPLET_DONT is not set 67 | # CONFIG_INSTALL_SH_APPLET_SYMLINK is not set 68 | # CONFIG_INSTALL_SH_APPLET_HARDLINK is not set 69 | # CONFIG_INSTALL_SH_APPLET_SCRIPT_WRAPPER is not set 70 | CONFIG_PREFIX="./_install" 71 | 72 | # 73 | # Debugging Options 74 | # 75 | # CONFIG_DEBUG is not set 76 | # CONFIG_DEBUG_PESSIMIZE is not set 77 | # CONFIG_DEBUG_SANITIZE is not set 78 | # CONFIG_UNIT_TEST is not set 79 | # CONFIG_WERROR is not set 80 | # CONFIG_WARN_SIMPLE_MSG is not set 81 | CONFIG_NO_DEBUG_LIB=y 82 | # CONFIG_DMALLOC is not set 83 | # CONFIG_EFENCE is not set 84 | 85 | # 86 | # Library Tuning 87 | # 88 | # CONFIG_FEATURE_USE_BSS_TAIL is not set 89 | CONFIG_FLOAT_DURATION=y 90 | CONFIG_FEATURE_RTMINMAX=y 91 | CONFIG_FEATURE_RTMINMAX_USE_LIBC_DEFINITIONS=y 92 | CONFIG_FEATURE_BUFFERS_USE_MALLOC=y 93 | # CONFIG_FEATURE_BUFFERS_GO_ON_STACK is not set 94 | # CONFIG_FEATURE_BUFFERS_GO_IN_BSS is not set 95 | CONFIG_PASSWORD_MINLEN=6 96 | CONFIG_MD5_SMALL=1 97 | CONFIG_SHA1_SMALL=3 98 | CONFIG_SHA1_HWACCEL=y 99 | CONFIG_SHA256_HWACCEL=y 100 | CONFIG_SHA3_SMALL=1 101 | CONFIG_FEATURE_NON_POSIX_CP=y 102 | # CONFIG_FEATURE_VERBOSE_CP_MESSAGE is not set 103 | CONFIG_FEATURE_USE_SENDFILE=y 104 | CONFIG_FEATURE_COPYBUF_KB=4 105 | CONFIG_MONOTONIC_SYSCALL=y 106 | CONFIG_IOCTL_HEX2STR_ERROR=y 107 | CONFIG_FEATURE_EDITING=y 108 | CONFIG_FEATURE_EDITING_MAX_LEN=1024 109 | # CONFIG_FEATURE_EDITING_VI is not set 110 | CONFIG_FEATURE_EDITING_HISTORY=255 111 | CONFIG_FEATURE_EDITING_SAVEHISTORY=y 112 | # CONFIG_FEATURE_EDITING_SAVE_ON_EXIT is not set 113 | CONFIG_FEATURE_REVERSE_SEARCH=y 114 | CONFIG_FEATURE_TAB_COMPLETION=y 115 | CONFIG_FEATURE_USERNAME_COMPLETION=y 116 | CONFIG_FEATURE_EDITING_FANCY_PROMPT=y 117 | CONFIG_FEATURE_EDITING_WINCH=y 118 | # CONFIG_FEATURE_EDITING_ASK_TERMINAL is not set 119 | # CONFIG_LOCALE_SUPPORT is not set 120 | CONFIG_UNICODE_SUPPORT=y 121 | # CONFIG_UNICODE_USING_LOCALE is not set 122 | # CONFIG_FEATURE_CHECK_UNICODE_IN_ENV is not set 123 | CONFIG_SUBST_WCHAR=63 124 | CONFIG_LAST_SUPPORTED_WCHAR=767 125 | # CONFIG_UNICODE_COMBINING_WCHARS is not set 126 | # CONFIG_UNICODE_WIDE_WCHARS is not set 127 | # CONFIG_UNICODE_BIDI_SUPPORT is not set 128 | # CONFIG_UNICODE_NEUTRAL_TABLE is not set 129 | # CONFIG_UNICODE_PRESERVE_BROKEN is not set 130 | # CONFIG_LOOP_CONFIGURE is not set 131 | # CONFIG_NO_LOOP_CONFIGURE is not set 132 | CONFIG_TRY_LOOP_CONFIGURE=y 133 | 134 | # 135 | # Applets 136 | # 137 | 138 | # 139 | # Archival Utilities 140 | # 141 | CONFIG_FEATURE_SEAMLESS_XZ=y 142 | CONFIG_FEATURE_SEAMLESS_LZMA=y 143 | CONFIG_FEATURE_SEAMLESS_BZ2=y 144 | CONFIG_FEATURE_SEAMLESS_GZ=y 145 | # CONFIG_FEATURE_SEAMLESS_Z is not set 146 | # CONFIG_AR is not set 147 | # CONFIG_FEATURE_AR_LONG_FILENAMES is not set 148 | # CONFIG_FEATURE_AR_CREATE is not set 149 | # CONFIG_UNCOMPRESS is not set 150 | CONFIG_GUNZIP=y 151 | CONFIG_ZCAT=y 152 | CONFIG_FEATURE_GUNZIP_LONG_OPTIONS=y 153 | CONFIG_BUNZIP2=y 154 | CONFIG_BZCAT=y 155 | CONFIG_UNLZMA=y 156 | CONFIG_LZCAT=y 157 | CONFIG_LZMA=y 158 | CONFIG_UNXZ=y 159 | CONFIG_XZCAT=y 160 | CONFIG_XZ=y 161 | CONFIG_BZIP2=y 162 | CONFIG_BZIP2_SMALL=8 163 | CONFIG_FEATURE_BZIP2_DECOMPRESS=y 164 | CONFIG_CPIO=y 165 | CONFIG_FEATURE_CPIO_O=y 166 | CONFIG_FEATURE_CPIO_P=y 167 | CONFIG_FEATURE_CPIO_IGNORE_DEVNO=y 168 | CONFIG_FEATURE_CPIO_RENUMBER_INODES=y 169 | CONFIG_DPKG=y 170 | CONFIG_DPKG_DEB=y 171 | CONFIG_GZIP=y 172 | CONFIG_FEATURE_GZIP_LONG_OPTIONS=y 173 | CONFIG_GZIP_FAST=0 174 | # CONFIG_FEATURE_GZIP_LEVELS is not set 175 | CONFIG_FEATURE_GZIP_DECOMPRESS=y 176 | CONFIG_LZOP=y 177 | # CONFIG_UNLZOP is not set 178 | # CONFIG_LZOPCAT is not set 179 | # CONFIG_LZOP_COMPR_HIGH is not set 180 | CONFIG_RPM=y 181 | CONFIG_RPM2CPIO=y 182 | CONFIG_TAR=y 183 | CONFIG_FEATURE_TAR_LONG_OPTIONS=y 184 | CONFIG_FEATURE_TAR_CREATE=y 185 | CONFIG_FEATURE_TAR_AUTODETECT=y 186 | CONFIG_FEATURE_TAR_FROM=y 187 | CONFIG_FEATURE_TAR_OLDGNU_COMPATIBILITY=y 188 | CONFIG_FEATURE_TAR_OLDSUN_COMPATIBILITY=y 189 | CONFIG_FEATURE_TAR_GNU_EXTENSIONS=y 190 | CONFIG_FEATURE_TAR_TO_COMMAND=y 191 | CONFIG_FEATURE_TAR_UNAME_GNAME=y 192 | CONFIG_FEATURE_TAR_NOPRESERVE_TIME=y 193 | # CONFIG_FEATURE_TAR_SELINUX is not set 194 | CONFIG_UNZIP=y 195 | CONFIG_FEATURE_UNZIP_CDF=y 196 | CONFIG_FEATURE_UNZIP_BZIP2=y 197 | CONFIG_FEATURE_UNZIP_LZMA=y 198 | CONFIG_FEATURE_UNZIP_XZ=y 199 | # CONFIG_FEATURE_LZMA_FAST is not set 200 | 201 | # 202 | # Coreutils 203 | # 204 | CONFIG_FEATURE_VERBOSE=y 205 | 206 | # 207 | # Common options for date and touch 208 | # 209 | CONFIG_FEATURE_TIMEZONE=y 210 | 211 | # 212 | # Common options for cp and mv 213 | # 214 | CONFIG_FEATURE_PRESERVE_HARDLINKS=y 215 | 216 | # 217 | # Common options for df, du, ls 218 | # 219 | CONFIG_FEATURE_HUMAN_READABLE=y 220 | CONFIG_BASENAME=y 221 | CONFIG_CAT=y 222 | CONFIG_FEATURE_CATN=y 223 | CONFIG_FEATURE_CATV=y 224 | CONFIG_CHGRP=y 225 | CONFIG_CHMOD=y 226 | CONFIG_CHOWN=y 227 | CONFIG_FEATURE_CHOWN_LONG_OPTIONS=y 228 | CONFIG_CHROOT=y 229 | CONFIG_CKSUM=y 230 | CONFIG_CRC32=y 231 | CONFIG_COMM=y 232 | CONFIG_CP=y 233 | CONFIG_FEATURE_CP_LONG_OPTIONS=y 234 | CONFIG_FEATURE_CP_REFLINK=y 235 | CONFIG_CUT=y 236 | CONFIG_FEATURE_CUT_REGEX=y 237 | CONFIG_DATE=y 238 | CONFIG_FEATURE_DATE_ISOFMT=y 239 | # CONFIG_FEATURE_DATE_NANO is not set 240 | CONFIG_FEATURE_DATE_COMPAT=y 241 | CONFIG_DD=y 242 | CONFIG_FEATURE_DD_SIGNAL_HANDLING=y 243 | CONFIG_FEATURE_DD_THIRD_STATUS_LINE=y 244 | CONFIG_FEATURE_DD_IBS_OBS=y 245 | CONFIG_FEATURE_DD_STATUS=y 246 | CONFIG_DF=y 247 | CONFIG_FEATURE_DF_FANCY=y 248 | CONFIG_FEATURE_SKIP_ROOTFS=y 249 | CONFIG_DIRNAME=y 250 | CONFIG_DOS2UNIX=y 251 | CONFIG_UNIX2DOS=y 252 | CONFIG_DU=y 253 | CONFIG_FEATURE_DU_DEFAULT_BLOCKSIZE_1K=y 254 | CONFIG_ECHO=y 255 | CONFIG_FEATURE_FANCY_ECHO=y 256 | CONFIG_ENV=y 257 | CONFIG_EXPAND=y 258 | CONFIG_UNEXPAND=y 259 | CONFIG_EXPR=y 260 | CONFIG_EXPR_MATH_SUPPORT_64=y 261 | CONFIG_FACTOR=y 262 | CONFIG_FALSE=y 263 | CONFIG_FOLD=y 264 | CONFIG_HEAD=y 265 | CONFIG_FEATURE_FANCY_HEAD=y 266 | CONFIG_HOSTID=y 267 | CONFIG_ID=y 268 | CONFIG_GROUPS=y 269 | CONFIG_INSTALL=y 270 | CONFIG_FEATURE_INSTALL_LONG_OPTIONS=y 271 | CONFIG_LINK=y 272 | CONFIG_LN=y 273 | CONFIG_LOGNAME=y 274 | CONFIG_LS=y 275 | CONFIG_FEATURE_LS_FILETYPES=y 276 | CONFIG_FEATURE_LS_FOLLOWLINKS=y 277 | CONFIG_FEATURE_LS_RECURSIVE=y 278 | CONFIG_FEATURE_LS_WIDTH=y 279 | CONFIG_FEATURE_LS_SORTFILES=y 280 | CONFIG_FEATURE_LS_TIMESTAMPS=y 281 | CONFIG_FEATURE_LS_USERNAME=y 282 | CONFIG_FEATURE_LS_COLOR=y 283 | CONFIG_FEATURE_LS_COLOR_IS_DEFAULT=y 284 | CONFIG_MD5SUM=y 285 | CONFIG_SHA1SUM=y 286 | CONFIG_SHA256SUM=y 287 | CONFIG_SHA512SUM=y 288 | CONFIG_SHA3SUM=y 289 | 290 | # 291 | # Common options for md5sum, sha1sum, sha256sum, sha512sum, sha3sum 292 | # 293 | CONFIG_FEATURE_MD5_SHA1_SUM_CHECK=y 294 | CONFIG_MKDIR=y 295 | CONFIG_MKFIFO=y 296 | CONFIG_MKNOD=y 297 | CONFIG_MKTEMP=y 298 | CONFIG_MV=y 299 | CONFIG_NICE=y 300 | CONFIG_NL=y 301 | CONFIG_NOHUP=y 302 | CONFIG_NPROC=y 303 | CONFIG_OD=y 304 | CONFIG_PASTE=y 305 | CONFIG_PRINTENV=y 306 | CONFIG_PRINTF=y 307 | CONFIG_PWD=y 308 | CONFIG_READLINK=y 309 | CONFIG_FEATURE_READLINK_FOLLOW=y 310 | CONFIG_REALPATH=y 311 | CONFIG_RM=y 312 | CONFIG_RMDIR=y 313 | CONFIG_SEQ=y 314 | CONFIG_SHRED=y 315 | CONFIG_SHUF=y 316 | CONFIG_SLEEP=y 317 | CONFIG_FEATURE_FANCY_SLEEP=y 318 | CONFIG_SORT=y 319 | CONFIG_FEATURE_SORT_BIG=y 320 | # CONFIG_FEATURE_SORT_OPTIMIZE_MEMORY is not set 321 | CONFIG_SPLIT=y 322 | CONFIG_FEATURE_SPLIT_FANCY=y 323 | CONFIG_STAT=y 324 | CONFIG_FEATURE_STAT_FORMAT=y 325 | CONFIG_FEATURE_STAT_FILESYSTEM=y 326 | CONFIG_STTY=y 327 | CONFIG_SUM=y 328 | CONFIG_SYNC=y 329 | CONFIG_FEATURE_SYNC_FANCY=y 330 | CONFIG_FSYNC=y 331 | CONFIG_TAC=y 332 | CONFIG_TAIL=y 333 | CONFIG_FEATURE_FANCY_TAIL=y 334 | CONFIG_TEE=y 335 | CONFIG_FEATURE_TEE_USE_BLOCK_IO=y 336 | CONFIG_TEST=y 337 | CONFIG_TEST1=y 338 | CONFIG_TEST2=y 339 | CONFIG_FEATURE_TEST_64=y 340 | CONFIG_TIMEOUT=y 341 | CONFIG_TOUCH=y 342 | CONFIG_FEATURE_TOUCH_SUSV3=y 343 | CONFIG_TR=y 344 | CONFIG_FEATURE_TR_CLASSES=y 345 | CONFIG_FEATURE_TR_EQUIV=y 346 | CONFIG_TRUE=y 347 | CONFIG_TRUNCATE=y 348 | CONFIG_TSORT=y 349 | CONFIG_TTY=y 350 | CONFIG_UNAME=y 351 | CONFIG_UNAME_OSNAME="GNU/Linux" 352 | CONFIG_BB_ARCH=y 353 | CONFIG_UNIQ=y 354 | CONFIG_UNLINK=y 355 | CONFIG_USLEEP=y 356 | CONFIG_UUDECODE=y 357 | CONFIG_BASE32=y 358 | CONFIG_BASE64=y 359 | CONFIG_UUENCODE=y 360 | CONFIG_WC=y 361 | CONFIG_FEATURE_WC_LARGE=y 362 | CONFIG_WHO=y 363 | CONFIG_W=y 364 | CONFIG_USERS=y 365 | CONFIG_WHOAMI=y 366 | CONFIG_YES=y 367 | 368 | # 369 | # Console Utilities 370 | # 371 | CONFIG_CHVT=y 372 | CONFIG_CLEAR=y 373 | CONFIG_DEALLOCVT=y 374 | CONFIG_DUMPKMAP=y 375 | CONFIG_FGCONSOLE=y 376 | CONFIG_KBD_MODE=y 377 | CONFIG_LOADFONT=y 378 | CONFIG_SETFONT=y 379 | CONFIG_FEATURE_SETFONT_TEXTUAL_MAP=y 380 | CONFIG_DEFAULT_SETFONT_DIR="" 381 | 382 | # 383 | # Common options for loadfont and setfont 384 | # 385 | CONFIG_FEATURE_LOADFONT_PSF2=y 386 | CONFIG_FEATURE_LOADFONT_RAW=y 387 | CONFIG_LOADKMAP=y 388 | CONFIG_OPENVT=y 389 | CONFIG_RESET=y 390 | CONFIG_RESIZE=y 391 | CONFIG_FEATURE_RESIZE_PRINT=y 392 | CONFIG_SETCONSOLE=y 393 | CONFIG_FEATURE_SETCONSOLE_LONG_OPTIONS=y 394 | CONFIG_SETKEYCODES=y 395 | CONFIG_SETLOGCONS=y 396 | CONFIG_SHOWKEY=y 397 | 398 | # 399 | # Debian Utilities 400 | # 401 | CONFIG_PIPE_PROGRESS=y 402 | CONFIG_RUN_PARTS=y 403 | CONFIG_FEATURE_RUN_PARTS_LONG_OPTIONS=y 404 | CONFIG_FEATURE_RUN_PARTS_FANCY=y 405 | CONFIG_START_STOP_DAEMON=y 406 | CONFIG_FEATURE_START_STOP_DAEMON_LONG_OPTIONS=y 407 | CONFIG_FEATURE_START_STOP_DAEMON_FANCY=y 408 | CONFIG_WHICH=y 409 | 410 | # 411 | # klibc-utils 412 | # 413 | # CONFIG_MINIPS is not set 414 | CONFIG_NUKE=y 415 | CONFIG_RESUME=y 416 | CONFIG_RUN_INIT=y 417 | 418 | # 419 | # Editors 420 | # 421 | CONFIG_AWK=y 422 | CONFIG_FEATURE_AWK_LIBM=y 423 | CONFIG_FEATURE_AWK_GNU_EXTENSIONS=y 424 | CONFIG_CMP=y 425 | CONFIG_DIFF=y 426 | CONFIG_FEATURE_DIFF_LONG_OPTIONS=y 427 | CONFIG_FEATURE_DIFF_DIR=y 428 | CONFIG_ED=y 429 | CONFIG_PATCH=y 430 | CONFIG_SED=y 431 | CONFIG_VI=y 432 | CONFIG_FEATURE_VI_MAX_LEN=4096 433 | # CONFIG_FEATURE_VI_8BIT is not set 434 | CONFIG_FEATURE_VI_COLON=y 435 | CONFIG_FEATURE_VI_COLON_EXPAND=y 436 | CONFIG_FEATURE_VI_YANKMARK=y 437 | CONFIG_FEATURE_VI_SEARCH=y 438 | # CONFIG_FEATURE_VI_REGEX_SEARCH is not set 439 | CONFIG_FEATURE_VI_USE_SIGNALS=y 440 | CONFIG_FEATURE_VI_DOT_CMD=y 441 | CONFIG_FEATURE_VI_READONLY=y 442 | CONFIG_FEATURE_VI_SETOPTS=y 443 | CONFIG_FEATURE_VI_SET=y 444 | CONFIG_FEATURE_VI_WIN_RESIZE=y 445 | CONFIG_FEATURE_VI_ASK_TERMINAL=y 446 | CONFIG_FEATURE_VI_UNDO=y 447 | CONFIG_FEATURE_VI_UNDO_QUEUE=y 448 | CONFIG_FEATURE_VI_UNDO_QUEUE_MAX=256 449 | CONFIG_FEATURE_VI_VERBOSE_STATUS=y 450 | CONFIG_FEATURE_ALLOW_EXEC=y 451 | 452 | # 453 | # Finding Utilities 454 | # 455 | CONFIG_FIND=y 456 | CONFIG_FEATURE_FIND_PRINT0=y 457 | CONFIG_FEATURE_FIND_MTIME=y 458 | CONFIG_FEATURE_FIND_ATIME=y 459 | CONFIG_FEATURE_FIND_CTIME=y 460 | CONFIG_FEATURE_FIND_MMIN=y 461 | CONFIG_FEATURE_FIND_AMIN=y 462 | CONFIG_FEATURE_FIND_CMIN=y 463 | CONFIG_FEATURE_FIND_PERM=y 464 | CONFIG_FEATURE_FIND_TYPE=y 465 | CONFIG_FEATURE_FIND_EXECUTABLE=y 466 | CONFIG_FEATURE_FIND_XDEV=y 467 | CONFIG_FEATURE_FIND_MAXDEPTH=y 468 | CONFIG_FEATURE_FIND_NEWER=y 469 | CONFIG_FEATURE_FIND_INUM=y 470 | CONFIG_FEATURE_FIND_SAMEFILE=y 471 | CONFIG_FEATURE_FIND_EXEC=y 472 | CONFIG_FEATURE_FIND_EXEC_PLUS=y 473 | CONFIG_FEATURE_FIND_EXEC_OK=y 474 | CONFIG_FEATURE_FIND_USER=y 475 | CONFIG_FEATURE_FIND_GROUP=y 476 | CONFIG_FEATURE_FIND_NOT=y 477 | CONFIG_FEATURE_FIND_DEPTH=y 478 | CONFIG_FEATURE_FIND_PAREN=y 479 | CONFIG_FEATURE_FIND_SIZE=y 480 | CONFIG_FEATURE_FIND_PRUNE=y 481 | CONFIG_FEATURE_FIND_QUIT=y 482 | CONFIG_FEATURE_FIND_DELETE=y 483 | CONFIG_FEATURE_FIND_EMPTY=y 484 | CONFIG_FEATURE_FIND_PATH=y 485 | CONFIG_FEATURE_FIND_REGEX=y 486 | # CONFIG_FEATURE_FIND_CONTEXT is not set 487 | CONFIG_FEATURE_FIND_LINKS=y 488 | CONFIG_GREP=y 489 | CONFIG_EGREP=y 490 | CONFIG_FGREP=y 491 | CONFIG_FEATURE_GREP_CONTEXT=y 492 | CONFIG_XARGS=y 493 | CONFIG_FEATURE_XARGS_SUPPORT_CONFIRMATION=y 494 | CONFIG_FEATURE_XARGS_SUPPORT_QUOTES=y 495 | CONFIG_FEATURE_XARGS_SUPPORT_TERMOPT=y 496 | CONFIG_FEATURE_XARGS_SUPPORT_ZERO_TERM=y 497 | CONFIG_FEATURE_XARGS_SUPPORT_REPL_STR=y 498 | CONFIG_FEATURE_XARGS_SUPPORT_PARALLEL=y 499 | CONFIG_FEATURE_XARGS_SUPPORT_ARGS_FILE=y 500 | 501 | # 502 | # Init Utilities 503 | # 504 | CONFIG_BOOTCHARTD=y 505 | CONFIG_FEATURE_BOOTCHARTD_BLOATED_HEADER=y 506 | CONFIG_FEATURE_BOOTCHARTD_CONFIG_FILE=y 507 | CONFIG_HALT=y 508 | CONFIG_POWEROFF=y 509 | CONFIG_REBOOT=y 510 | CONFIG_FEATURE_WAIT_FOR_INIT=y 511 | # CONFIG_FEATURE_CALL_TELINIT is not set 512 | CONFIG_TELINIT_PATH="" 513 | CONFIG_INIT=y 514 | CONFIG_LINUXRC=y 515 | CONFIG_FEATURE_USE_INITTAB=y 516 | # CONFIG_FEATURE_KILL_REMOVED is not set 517 | CONFIG_FEATURE_KILL_DELAY=0 518 | CONFIG_FEATURE_INIT_SCTTY=y 519 | CONFIG_FEATURE_INIT_SYSLOG=y 520 | CONFIG_FEATURE_INIT_QUIET=y 521 | # CONFIG_FEATURE_INIT_COREDUMPS is not set 522 | CONFIG_INIT_TERMINAL_TYPE="linux" 523 | CONFIG_FEATURE_INIT_MODIFY_CMDLINE=y 524 | 525 | # 526 | # Login/Password Management Utilities 527 | # 528 | CONFIG_FEATURE_SHADOWPASSWDS=y 529 | CONFIG_USE_BB_PWD_GRP=y 530 | CONFIG_USE_BB_SHADOW=y 531 | CONFIG_USE_BB_CRYPT=y 532 | CONFIG_USE_BB_CRYPT_SHA=y 533 | CONFIG_ADD_SHELL=y 534 | CONFIG_REMOVE_SHELL=y 535 | CONFIG_ADDGROUP=y 536 | CONFIG_FEATURE_ADDUSER_TO_GROUP=y 537 | CONFIG_ADDUSER=y 538 | # CONFIG_FEATURE_CHECK_NAMES is not set 539 | CONFIG_LAST_ID=60000 540 | CONFIG_FIRST_SYSTEM_ID=100 541 | CONFIG_LAST_SYSTEM_ID=999 542 | CONFIG_CHPASSWD=y 543 | CONFIG_FEATURE_DEFAULT_PASSWD_ALGO="des" 544 | CONFIG_CRYPTPW=y 545 | CONFIG_MKPASSWD=y 546 | CONFIG_DELUSER=y 547 | CONFIG_DELGROUP=y 548 | CONFIG_FEATURE_DEL_USER_FROM_GROUP=y 549 | CONFIG_GETTY=y 550 | CONFIG_LOGIN=y 551 | # CONFIG_LOGIN_SESSION_AS_CHILD is not set 552 | CONFIG_LOGIN_SCRIPTS=y 553 | CONFIG_FEATURE_NOLOGIN=y 554 | CONFIG_FEATURE_SECURETTY=y 555 | CONFIG_PASSWD=y 556 | CONFIG_FEATURE_PASSWD_WEAK_CHECK=y 557 | CONFIG_SU=y 558 | CONFIG_FEATURE_SU_SYSLOG=y 559 | CONFIG_FEATURE_SU_CHECKS_SHELLS=y 560 | # CONFIG_FEATURE_SU_BLANK_PW_NEEDS_SECURE_TTY is not set 561 | CONFIG_SULOGIN=y 562 | CONFIG_VLOCK=y 563 | 564 | # 565 | # Linux Ext2 FS Progs 566 | # 567 | CONFIG_CHATTR=y 568 | CONFIG_FSCK=y 569 | CONFIG_LSATTR=y 570 | # CONFIG_TUNE2FS is not set 571 | 572 | # 573 | # Linux Module Utilities 574 | # 575 | CONFIG_MODPROBE_SMALL=y 576 | CONFIG_DEPMOD=y 577 | CONFIG_INSMOD=y 578 | CONFIG_LSMOD=y 579 | # CONFIG_FEATURE_LSMOD_PRETTY_2_6_OUTPUT is not set 580 | CONFIG_MODINFO=y 581 | CONFIG_MODPROBE=y 582 | # CONFIG_FEATURE_MODPROBE_BLACKLIST is not set 583 | CONFIG_RMMOD=y 584 | 585 | # 586 | # Options common to multiple modutils 587 | # 588 | CONFIG_FEATURE_CMDLINE_MODULE_OPTIONS=y 589 | CONFIG_FEATURE_MODPROBE_SMALL_CHECK_ALREADY_LOADED=y 590 | # CONFIG_FEATURE_2_4_MODULES is not set 591 | # CONFIG_FEATURE_INSMOD_VERSION_CHECKING is not set 592 | # CONFIG_FEATURE_INSMOD_KSYMOOPS_SYMBOLS is not set 593 | # CONFIG_FEATURE_INSMOD_LOADINKMEM is not set 594 | # CONFIG_FEATURE_INSMOD_LOAD_MAP is not set 595 | # CONFIG_FEATURE_INSMOD_LOAD_MAP_FULL is not set 596 | # CONFIG_FEATURE_CHECK_TAINTED_MODULE is not set 597 | # CONFIG_FEATURE_INSMOD_TRY_MMAP is not set 598 | # CONFIG_FEATURE_MODUTILS_ALIAS is not set 599 | # CONFIG_FEATURE_MODUTILS_SYMBOLS is not set 600 | CONFIG_DEFAULT_MODULES_DIR="/lib/modules" 601 | CONFIG_DEFAULT_DEPMOD_FILE="modules.dep" 602 | 603 | # 604 | # Linux System Utilities 605 | # 606 | CONFIG_ACPID=y 607 | CONFIG_FEATURE_ACPID_COMPAT=y 608 | CONFIG_BLKDISCARD=y 609 | CONFIG_BLKID=y 610 | CONFIG_FEATURE_BLKID_TYPE=y 611 | CONFIG_BLOCKDEV=y 612 | CONFIG_CAL=y 613 | CONFIG_CHRT=y 614 | CONFIG_DMESG=y 615 | CONFIG_FEATURE_DMESG_PRETTY=y 616 | CONFIG_EJECT=y 617 | CONFIG_FEATURE_EJECT_SCSI=y 618 | CONFIG_FALLOCATE=y 619 | CONFIG_FATATTR=y 620 | CONFIG_FBSET=y 621 | CONFIG_FEATURE_FBSET_FANCY=y 622 | CONFIG_FEATURE_FBSET_READMODE=y 623 | CONFIG_FDFORMAT=y 624 | CONFIG_FDISK=y 625 | # CONFIG_FDISK_SUPPORT_LARGE_DISKS is not set 626 | CONFIG_FEATURE_FDISK_WRITABLE=y 627 | # CONFIG_FEATURE_AIX_LABEL is not set 628 | # CONFIG_FEATURE_SGI_LABEL is not set 629 | # CONFIG_FEATURE_SUN_LABEL is not set 630 | # CONFIG_FEATURE_OSF_LABEL is not set 631 | # CONFIG_FEATURE_GPT_LABEL is not set 632 | CONFIG_FEATURE_FDISK_ADVANCED=y 633 | CONFIG_FINDFS=y 634 | CONFIG_FLOCK=y 635 | CONFIG_FDFLUSH=y 636 | CONFIG_FREERAMDISK=y 637 | CONFIG_FSCK_MINIX=y 638 | CONFIG_FSFREEZE=y 639 | CONFIG_FSTRIM=y 640 | CONFIG_GETOPT=y 641 | CONFIG_FEATURE_GETOPT_LONG=y 642 | CONFIG_HEXDUMP=y 643 | CONFIG_HD=y 644 | CONFIG_XXD=y 645 | CONFIG_HWCLOCK=y 646 | # CONFIG_FEATURE_HWCLOCK_ADJTIME_FHS is not set 647 | CONFIG_IONICE=y 648 | CONFIG_IPCRM=y 649 | CONFIG_IPCS=y 650 | CONFIG_LAST=y 651 | CONFIG_FEATURE_LAST_FANCY=y 652 | CONFIG_LOSETUP=y 653 | CONFIG_LSPCI=y 654 | CONFIG_LSUSB=y 655 | CONFIG_MDEV=y 656 | CONFIG_FEATURE_MDEV_CONF=y 657 | CONFIG_FEATURE_MDEV_RENAME=y 658 | CONFIG_FEATURE_MDEV_RENAME_REGEXP=y 659 | CONFIG_FEATURE_MDEV_EXEC=y 660 | CONFIG_FEATURE_MDEV_LOAD_FIRMWARE=y 661 | CONFIG_FEATURE_MDEV_DAEMON=y 662 | CONFIG_MESG=y 663 | CONFIG_FEATURE_MESG_ENABLE_ONLY_GROUP=y 664 | CONFIG_MKE2FS=y 665 | CONFIG_MKFS_EXT2=y 666 | CONFIG_MKFS_MINIX=y 667 | CONFIG_FEATURE_MINIX2=y 668 | # CONFIG_MKFS_REISER is not set 669 | CONFIG_MKDOSFS=y 670 | CONFIG_MKFS_VFAT=y 671 | CONFIG_MKSWAP=y 672 | CONFIG_FEATURE_MKSWAP_UUID=y 673 | CONFIG_MORE=y 674 | CONFIG_MOUNT=y 675 | CONFIG_FEATURE_MOUNT_FAKE=y 676 | CONFIG_FEATURE_MOUNT_VERBOSE=y 677 | # CONFIG_FEATURE_MOUNT_HELPERS is not set 678 | CONFIG_FEATURE_MOUNT_LABEL=y 679 | # CONFIG_FEATURE_MOUNT_NFS is not set 680 | CONFIG_FEATURE_MOUNT_CIFS=y 681 | CONFIG_FEATURE_MOUNT_FLAGS=y 682 | CONFIG_FEATURE_MOUNT_FSTAB=y 683 | CONFIG_FEATURE_MOUNT_OTHERTAB=y 684 | CONFIG_MOUNTPOINT=y 685 | CONFIG_NOLOGIN=y 686 | # CONFIG_NOLOGIN_DEPENDENCIES is not set 687 | CONFIG_NSENTER=y 688 | CONFIG_PIVOT_ROOT=y 689 | CONFIG_RDATE=y 690 | CONFIG_RDEV=y 691 | CONFIG_READPROFILE=y 692 | CONFIG_RENICE=y 693 | CONFIG_REV=y 694 | CONFIG_RTCWAKE=y 695 | CONFIG_SCRIPT=y 696 | CONFIG_SCRIPTREPLAY=y 697 | CONFIG_SETARCH=y 698 | CONFIG_LINUX32=y 699 | CONFIG_LINUX64=y 700 | CONFIG_SETPRIV=y 701 | CONFIG_FEATURE_SETPRIV_DUMP=y 702 | CONFIG_FEATURE_SETPRIV_CAPABILITIES=y 703 | CONFIG_FEATURE_SETPRIV_CAPABILITY_NAMES=y 704 | CONFIG_SETSID=y 705 | CONFIG_SWAPON=y 706 | CONFIG_FEATURE_SWAPON_DISCARD=y 707 | CONFIG_FEATURE_SWAPON_PRI=y 708 | CONFIG_SWAPOFF=y 709 | CONFIG_FEATURE_SWAPONOFF_LABEL=y 710 | CONFIG_SWITCH_ROOT=y 711 | CONFIG_TASKSET=y 712 | CONFIG_FEATURE_TASKSET_FANCY=y 713 | CONFIG_FEATURE_TASKSET_CPULIST=y 714 | CONFIG_UEVENT=y 715 | CONFIG_UMOUNT=y 716 | CONFIG_FEATURE_UMOUNT_ALL=y 717 | CONFIG_UNSHARE=y 718 | CONFIG_WALL=y 719 | 720 | # 721 | # Common options for mount/umount 722 | # 723 | CONFIG_FEATURE_MOUNT_LOOP=y 724 | CONFIG_FEATURE_MOUNT_LOOP_CREATE=y 725 | # CONFIG_FEATURE_MTAB_SUPPORT is not set 726 | CONFIG_VOLUMEID=y 727 | 728 | # 729 | # Filesystem/Volume identification 730 | # 731 | CONFIG_FEATURE_VOLUMEID_BCACHE=y 732 | CONFIG_FEATURE_VOLUMEID_BTRFS=y 733 | CONFIG_FEATURE_VOLUMEID_CRAMFS=y 734 | CONFIG_FEATURE_VOLUMEID_EROFS=y 735 | CONFIG_FEATURE_VOLUMEID_EXFAT=y 736 | CONFIG_FEATURE_VOLUMEID_EXT=y 737 | CONFIG_FEATURE_VOLUMEID_F2FS=y 738 | CONFIG_FEATURE_VOLUMEID_FAT=y 739 | CONFIG_FEATURE_VOLUMEID_HFS=y 740 | CONFIG_FEATURE_VOLUMEID_ISO9660=y 741 | CONFIG_FEATURE_VOLUMEID_JFS=y 742 | CONFIG_FEATURE_VOLUMEID_LFS=y 743 | CONFIG_FEATURE_VOLUMEID_LINUXRAID=y 744 | CONFIG_FEATURE_VOLUMEID_LINUXSWAP=y 745 | CONFIG_FEATURE_VOLUMEID_LUKS=y 746 | CONFIG_FEATURE_VOLUMEID_MINIX=y 747 | CONFIG_FEATURE_VOLUMEID_NILFS=y 748 | CONFIG_FEATURE_VOLUMEID_NTFS=y 749 | CONFIG_FEATURE_VOLUMEID_OCFS2=y 750 | CONFIG_FEATURE_VOLUMEID_REISERFS=y 751 | CONFIG_FEATURE_VOLUMEID_ROMFS=y 752 | CONFIG_FEATURE_VOLUMEID_SQUASHFS=y 753 | CONFIG_FEATURE_VOLUMEID_SYSV=y 754 | CONFIG_FEATURE_VOLUMEID_UBIFS=y 755 | CONFIG_FEATURE_VOLUMEID_UDF=y 756 | CONFIG_FEATURE_VOLUMEID_XFS=y 757 | 758 | # 759 | # Miscellaneous Utilities 760 | # 761 | CONFIG_ADJTIMEX=y 762 | CONFIG_ASCII=y 763 | # CONFIG_BBCONFIG is not set 764 | # CONFIG_FEATURE_COMPRESS_BBCONFIG is not set 765 | CONFIG_BC=y 766 | CONFIG_DC=y 767 | CONFIG_FEATURE_DC_BIG=y 768 | # CONFIG_FEATURE_DC_LIBM is not set 769 | CONFIG_FEATURE_BC_INTERACTIVE=y 770 | CONFIG_FEATURE_BC_LONG_OPTIONS=y 771 | CONFIG_BEEP=y 772 | CONFIG_FEATURE_BEEP_FREQ=4000 773 | CONFIG_FEATURE_BEEP_LENGTH_MS=30 774 | CONFIG_CHAT=y 775 | CONFIG_FEATURE_CHAT_NOFAIL=y 776 | # CONFIG_FEATURE_CHAT_TTY_HIFI is not set 777 | CONFIG_FEATURE_CHAT_IMPLICIT_CR=y 778 | CONFIG_FEATURE_CHAT_SWALLOW_OPTS=y 779 | CONFIG_FEATURE_CHAT_SEND_ESCAPES=y 780 | CONFIG_FEATURE_CHAT_VAR_ABORT_LEN=y 781 | CONFIG_FEATURE_CHAT_CLR_ABORT=y 782 | CONFIG_CONSPY=y 783 | CONFIG_CROND=y 784 | CONFIG_FEATURE_CROND_D=y 785 | CONFIG_FEATURE_CROND_CALL_SENDMAIL=y 786 | CONFIG_FEATURE_CROND_SPECIAL_TIMES=y 787 | CONFIG_FEATURE_CROND_DIR="/var/spool/cron" 788 | CONFIG_CRONTAB=y 789 | # CONFIG_DEVFSD is not set 790 | # CONFIG_DEVFSD_MODLOAD is not set 791 | # CONFIG_DEVFSD_FG_NP is not set 792 | # CONFIG_DEVFSD_VERBOSE is not set 793 | # CONFIG_FEATURE_DEVFS is not set 794 | CONFIG_DEVMEM=y 795 | CONFIG_FBSPLASH=y 796 | # CONFIG_FLASH_ERASEALL is not set 797 | # CONFIG_FLASH_LOCK is not set 798 | # CONFIG_FLASH_UNLOCK is not set 799 | # CONFIG_FLASHCP is not set 800 | CONFIG_GETFATTR=y 801 | CONFIG_HDPARM=y 802 | CONFIG_FEATURE_HDPARM_GET_IDENTITY=y 803 | CONFIG_FEATURE_HDPARM_HDIO_SCAN_HWIF=y 804 | CONFIG_FEATURE_HDPARM_HDIO_UNREGISTER_HWIF=y 805 | CONFIG_FEATURE_HDPARM_HDIO_DRIVE_RESET=y 806 | CONFIG_FEATURE_HDPARM_HDIO_TRISTATE_HWIF=y 807 | CONFIG_FEATURE_HDPARM_HDIO_GETSET_DMA=y 808 | CONFIG_HEXEDIT=y 809 | CONFIG_I2CGET=y 810 | CONFIG_I2CSET=y 811 | CONFIG_I2CDUMP=y 812 | CONFIG_I2CDETECT=y 813 | CONFIG_I2CTRANSFER=y 814 | # CONFIG_INOTIFYD is not set 815 | CONFIG_LESS=y 816 | CONFIG_FEATURE_LESS_MAXLINES=9999999 817 | CONFIG_FEATURE_LESS_BRACKETS=y 818 | CONFIG_FEATURE_LESS_FLAGS=y 819 | CONFIG_FEATURE_LESS_TRUNCATE=y 820 | CONFIG_FEATURE_LESS_MARKS=y 821 | CONFIG_FEATURE_LESS_REGEXP=y 822 | CONFIG_FEATURE_LESS_WINCH=y 823 | CONFIG_FEATURE_LESS_ASK_TERMINAL=y 824 | CONFIG_FEATURE_LESS_DASHCMD=y 825 | CONFIG_FEATURE_LESS_LINENUMS=y 826 | CONFIG_FEATURE_LESS_RAW=y 827 | CONFIG_FEATURE_LESS_ENV=y 828 | CONFIG_LSSCSI=y 829 | CONFIG_MAKEDEVS=y 830 | # CONFIG_FEATURE_MAKEDEVS_LEAF is not set 831 | CONFIG_FEATURE_MAKEDEVS_TABLE=y 832 | CONFIG_MAN=y 833 | CONFIG_MICROCOM=y 834 | CONFIG_MIM=y 835 | CONFIG_MT=y 836 | CONFIG_NANDWRITE=y 837 | CONFIG_NANDDUMP=y 838 | CONFIG_PARTPROBE=y 839 | CONFIG_RAIDAUTORUN=y 840 | CONFIG_READAHEAD=y 841 | # CONFIG_RFKILL is not set 842 | CONFIG_RUNLEVEL=y 843 | CONFIG_RX=y 844 | CONFIG_SEEDRNG=y 845 | CONFIG_SETFATTR=y 846 | CONFIG_SETSERIAL=y 847 | CONFIG_STRINGS=y 848 | CONFIG_TIME=y 849 | CONFIG_TREE=y 850 | CONFIG_TS=y 851 | CONFIG_TTYSIZE=y 852 | CONFIG_UBIATTACH=y 853 | CONFIG_UBIDETACH=y 854 | CONFIG_UBIMKVOL=y 855 | CONFIG_UBIRMVOL=y 856 | CONFIG_UBIRSVOL=y 857 | CONFIG_UBIUPDATEVOL=y 858 | CONFIG_UBIRENAME=y 859 | CONFIG_VOLNAME=y 860 | CONFIG_WATCHDOG=y 861 | # CONFIG_FEATURE_WATCHDOG_OPEN_TWICE is not set 862 | 863 | # 864 | # Networking Utilities 865 | # 866 | CONFIG_FEATURE_IPV6=y 867 | # CONFIG_FEATURE_UNIX_LOCAL is not set 868 | CONFIG_FEATURE_PREFER_IPV4_ADDRESS=y 869 | # CONFIG_VERBOSE_RESOLUTION_ERRORS is not set 870 | # CONFIG_FEATURE_ETC_NETWORKS is not set 871 | # CONFIG_FEATURE_ETC_SERVICES is not set 872 | CONFIG_FEATURE_HWIB=y 873 | # CONFIG_FEATURE_TLS_SHA1 is not set 874 | CONFIG_ARP=y 875 | CONFIG_ARPING=y 876 | CONFIG_BRCTL=y 877 | CONFIG_FEATURE_BRCTL_FANCY=y 878 | CONFIG_FEATURE_BRCTL_SHOW=y 879 | CONFIG_DNSD=y 880 | CONFIG_ETHER_WAKE=y 881 | CONFIG_FTPD=y 882 | CONFIG_FEATURE_FTPD_WRITE=y 883 | CONFIG_FEATURE_FTPD_ACCEPT_BROKEN_LIST=y 884 | CONFIG_FEATURE_FTPD_AUTHENTICATION=y 885 | CONFIG_FTPGET=y 886 | CONFIG_FTPPUT=y 887 | CONFIG_FEATURE_FTPGETPUT_LONG_OPTIONS=y 888 | CONFIG_HOSTNAME=y 889 | CONFIG_DNSDOMAINNAME=y 890 | CONFIG_HTTPD=y 891 | CONFIG_FEATURE_HTTPD_PORT_DEFAULT=80 892 | CONFIG_FEATURE_HTTPD_RANGES=y 893 | CONFIG_FEATURE_HTTPD_SETUID=y 894 | CONFIG_FEATURE_HTTPD_BASIC_AUTH=y 895 | CONFIG_FEATURE_HTTPD_AUTH_MD5=y 896 | CONFIG_FEATURE_HTTPD_CGI=y 897 | CONFIG_FEATURE_HTTPD_CONFIG_WITH_SCRIPT_INTERPR=y 898 | CONFIG_FEATURE_HTTPD_SET_REMOTE_PORT_TO_ENV=y 899 | CONFIG_FEATURE_HTTPD_ENCODE_URL_STR=y 900 | CONFIG_FEATURE_HTTPD_ERROR_PAGES=y 901 | CONFIG_FEATURE_HTTPD_PROXY=y 902 | CONFIG_FEATURE_HTTPD_GZIP=y 903 | CONFIG_FEATURE_HTTPD_ETAG=y 904 | CONFIG_FEATURE_HTTPD_LAST_MODIFIED=y 905 | CONFIG_FEATURE_HTTPD_DATE=y 906 | CONFIG_FEATURE_HTTPD_ACL_IP=y 907 | CONFIG_IFCONFIG=y 908 | CONFIG_FEATURE_IFCONFIG_STATUS=y 909 | CONFIG_FEATURE_IFCONFIG_SLIP=y 910 | CONFIG_FEATURE_IFCONFIG_MEMSTART_IOADDR_IRQ=y 911 | CONFIG_FEATURE_IFCONFIG_HW=y 912 | CONFIG_FEATURE_IFCONFIG_BROADCAST_PLUS=y 913 | CONFIG_IFENSLAVE=y 914 | CONFIG_IFPLUGD=y 915 | CONFIG_IFUP=y 916 | CONFIG_IFDOWN=y 917 | CONFIG_IFUPDOWN_IFSTATE_PATH="/var/run/ifstate" 918 | CONFIG_FEATURE_IFUPDOWN_IP=y 919 | CONFIG_FEATURE_IFUPDOWN_IPV4=y 920 | CONFIG_FEATURE_IFUPDOWN_IPV6=y 921 | CONFIG_FEATURE_IFUPDOWN_MAPPING=y 922 | # CONFIG_FEATURE_IFUPDOWN_EXTERNAL_DHCP is not set 923 | CONFIG_INETD=y 924 | CONFIG_FEATURE_INETD_SUPPORT_BUILTIN_ECHO=y 925 | CONFIG_FEATURE_INETD_SUPPORT_BUILTIN_DISCARD=y 926 | CONFIG_FEATURE_INETD_SUPPORT_BUILTIN_TIME=y 927 | CONFIG_FEATURE_INETD_SUPPORT_BUILTIN_DAYTIME=y 928 | CONFIG_FEATURE_INETD_SUPPORT_BUILTIN_CHARGEN=y 929 | # CONFIG_FEATURE_INETD_RPC is not set 930 | CONFIG_IP=y 931 | CONFIG_IPADDR=y 932 | CONFIG_IPLINK=y 933 | CONFIG_IPROUTE=y 934 | CONFIG_IPTUNNEL=y 935 | CONFIG_IPRULE=y 936 | CONFIG_IPNEIGH=y 937 | CONFIG_FEATURE_IP_ADDRESS=y 938 | CONFIG_FEATURE_IP_LINK=y 939 | CONFIG_FEATURE_IP_LINK_CAN=y 940 | CONFIG_FEATURE_IP_ROUTE=y 941 | CONFIG_FEATURE_IP_ROUTE_DIR="/etc/iproute2" 942 | CONFIG_FEATURE_IP_TUNNEL=y 943 | CONFIG_FEATURE_IP_RULE=y 944 | CONFIG_FEATURE_IP_NEIGH=y 945 | # CONFIG_FEATURE_IP_RARE_PROTOCOLS is not set 946 | CONFIG_IPCALC=y 947 | CONFIG_FEATURE_IPCALC_LONG_OPTIONS=y 948 | CONFIG_FEATURE_IPCALC_FANCY=y 949 | CONFIG_FAKEIDENTD=y 950 | CONFIG_NAMEIF=y 951 | CONFIG_FEATURE_NAMEIF_EXTENDED=y 952 | CONFIG_NBDCLIENT=y 953 | CONFIG_NC=y 954 | # CONFIG_NETCAT is not set 955 | CONFIG_NC_SERVER=y 956 | CONFIG_NC_EXTRA=y 957 | CONFIG_NC_110_COMPAT=y 958 | CONFIG_NETSTAT=y 959 | CONFIG_FEATURE_NETSTAT_WIDE=y 960 | CONFIG_FEATURE_NETSTAT_PRG=y 961 | CONFIG_NSLOOKUP=y 962 | CONFIG_FEATURE_NSLOOKUP_BIG=y 963 | CONFIG_FEATURE_NSLOOKUP_LONG_OPTIONS=y 964 | CONFIG_NTPD=y 965 | CONFIG_FEATURE_NTPD_SERVER=y 966 | CONFIG_FEATURE_NTPD_CONF=y 967 | CONFIG_FEATURE_NTP_AUTH=y 968 | CONFIG_PING=y 969 | CONFIG_PING6=y 970 | CONFIG_FEATURE_FANCY_PING=y 971 | CONFIG_PSCAN=y 972 | CONFIG_ROUTE=y 973 | CONFIG_SLATTACH=y 974 | CONFIG_SSL_CLIENT=y 975 | CONFIG_TC=y 976 | CONFIG_FEATURE_TC_INGRESS=y 977 | CONFIG_TCPSVD=y 978 | CONFIG_UDPSVD=y 979 | CONFIG_TELNET=y 980 | CONFIG_FEATURE_TELNET_TTYPE=y 981 | CONFIG_FEATURE_TELNET_AUTOLOGIN=y 982 | CONFIG_FEATURE_TELNET_WIDTH=y 983 | CONFIG_TELNETD=y 984 | CONFIG_FEATURE_TELNETD_STANDALONE=y 985 | CONFIG_FEATURE_TELNETD_PORT_DEFAULT=23 986 | CONFIG_FEATURE_TELNETD_INETD_WAIT=y 987 | CONFIG_TFTP=y 988 | CONFIG_FEATURE_TFTP_PROGRESS_BAR=y 989 | CONFIG_FEATURE_TFTP_HPA_COMPAT=y 990 | CONFIG_TFTPD=y 991 | CONFIG_FEATURE_TFTP_GET=y 992 | CONFIG_FEATURE_TFTP_PUT=y 993 | CONFIG_FEATURE_TFTP_BLOCKSIZE=y 994 | # CONFIG_TFTP_DEBUG is not set 995 | CONFIG_TLS=y 996 | CONFIG_TRACEROUTE=y 997 | CONFIG_TRACEROUTE6=y 998 | CONFIG_FEATURE_TRACEROUTE_VERBOSE=y 999 | CONFIG_FEATURE_TRACEROUTE_USE_ICMP=y 1000 | CONFIG_TUNCTL=y 1001 | CONFIG_FEATURE_TUNCTL_UG=y 1002 | CONFIG_VCONFIG=y 1003 | CONFIG_WGET=y 1004 | CONFIG_FEATURE_WGET_LONG_OPTIONS=y 1005 | CONFIG_FEATURE_WGET_STATUSBAR=y 1006 | CONFIG_FEATURE_WGET_FTP=y 1007 | CONFIG_FEATURE_WGET_AUTHENTICATION=y 1008 | CONFIG_FEATURE_WGET_TIMEOUT=y 1009 | CONFIG_FEATURE_WGET_HTTPS=y 1010 | CONFIG_FEATURE_WGET_OPENSSL=y 1011 | CONFIG_WHOIS=y 1012 | CONFIG_ZCIP=y 1013 | CONFIG_UDHCPD=y 1014 | CONFIG_FEATURE_UDHCPD_BOOTP=y 1015 | # CONFIG_FEATURE_UDHCPD_BASE_IP_ON_MAC is not set 1016 | CONFIG_FEATURE_UDHCPD_WRITE_LEASES_EARLY=y 1017 | CONFIG_DHCPD_LEASES_FILE="/var/lib/misc/udhcpd.leases" 1018 | CONFIG_DUMPLEASES=y 1019 | CONFIG_DHCPRELAY=y 1020 | CONFIG_UDHCPC=y 1021 | CONFIG_FEATURE_UDHCPC_ARPING=y 1022 | CONFIG_FEATURE_UDHCPC_SANITIZEOPT=y 1023 | CONFIG_UDHCPC_DEFAULT_SCRIPT="/usr/share/udhcpc/default.script" 1024 | CONFIG_UDHCPC6_DEFAULT_SCRIPT="/usr/share/udhcpc/default6.script" 1025 | CONFIG_UDHCPC6=y 1026 | CONFIG_FEATURE_UDHCPC6_RFC3646=y 1027 | CONFIG_FEATURE_UDHCPC6_RFC4704=y 1028 | CONFIG_FEATURE_UDHCPC6_RFC4833=y 1029 | CONFIG_FEATURE_UDHCPC6_RFC5970=y 1030 | 1031 | # 1032 | # Common options for DHCP applets 1033 | # 1034 | CONFIG_UDHCPC_DEFAULT_INTERFACE="eth0" 1035 | # CONFIG_FEATURE_UDHCP_PORT is not set 1036 | CONFIG_UDHCP_DEBUG=2 1037 | CONFIG_UDHCPC_SLACK_FOR_BUGGY_SERVERS=80 1038 | CONFIG_FEATURE_UDHCP_RFC3397=y 1039 | CONFIG_FEATURE_UDHCP_8021Q=y 1040 | CONFIG_IFUPDOWN_UDHCPC_CMD_OPTIONS="-R -n" 1041 | 1042 | # 1043 | # Print Utilities 1044 | # 1045 | CONFIG_LPD=y 1046 | CONFIG_LPR=y 1047 | CONFIG_LPQ=y 1048 | 1049 | # 1050 | # Mail Utilities 1051 | # 1052 | CONFIG_FEATURE_MIME_CHARSET="us-ascii" 1053 | CONFIG_MAKEMIME=y 1054 | CONFIG_POPMAILDIR=y 1055 | CONFIG_FEATURE_POPMAILDIR_DELIVERY=y 1056 | CONFIG_REFORMIME=y 1057 | CONFIG_FEATURE_REFORMIME_COMPAT=y 1058 | CONFIG_SENDMAIL=y 1059 | 1060 | # 1061 | # Process Utilities 1062 | # 1063 | # CONFIG_FEATURE_FAST_TOP is not set 1064 | CONFIG_FEATURE_SHOW_THREADS=y 1065 | CONFIG_FREE=y 1066 | CONFIG_FUSER=y 1067 | CONFIG_IOSTAT=y 1068 | CONFIG_KILL=y 1069 | CONFIG_KILLALL=y 1070 | CONFIG_KILLALL5=y 1071 | CONFIG_LSOF=y 1072 | CONFIG_MPSTAT=y 1073 | CONFIG_NMETER=y 1074 | CONFIG_PGREP=y 1075 | CONFIG_PKILL=y 1076 | CONFIG_PIDOF=y 1077 | CONFIG_FEATURE_PIDOF_SINGLE=y 1078 | CONFIG_FEATURE_PIDOF_OMIT=y 1079 | CONFIG_PMAP=y 1080 | CONFIG_POWERTOP=y 1081 | CONFIG_FEATURE_POWERTOP_INTERACTIVE=y 1082 | CONFIG_PS=y 1083 | # CONFIG_FEATURE_PS_WIDE is not set 1084 | # CONFIG_FEATURE_PS_LONG is not set 1085 | CONFIG_FEATURE_PS_TIME=y 1086 | # CONFIG_FEATURE_PS_UNUSUAL_SYSTEMS is not set 1087 | CONFIG_FEATURE_PS_ADDITIONAL_COLUMNS=y 1088 | CONFIG_PSTREE=y 1089 | CONFIG_PWDX=y 1090 | CONFIG_SMEMCAP=y 1091 | CONFIG_BB_SYSCTL=y 1092 | CONFIG_TOP=y 1093 | CONFIG_FEATURE_TOP_INTERACTIVE=y 1094 | CONFIG_FEATURE_TOP_CPU_USAGE_PERCENTAGE=y 1095 | CONFIG_FEATURE_TOP_CPU_GLOBAL_PERCENTS=y 1096 | CONFIG_FEATURE_TOP_SMP_CPU=y 1097 | CONFIG_FEATURE_TOP_DECIMALS=y 1098 | CONFIG_FEATURE_TOP_SMP_PROCESS=y 1099 | CONFIG_FEATURE_TOPMEM=y 1100 | CONFIG_UPTIME=y 1101 | CONFIG_FEATURE_UPTIME_UTMP_SUPPORT=y 1102 | CONFIG_WATCH=y 1103 | 1104 | # 1105 | # Runit Utilities 1106 | # 1107 | CONFIG_CHPST=y 1108 | CONFIG_SETUIDGID=y 1109 | CONFIG_ENVUIDGID=y 1110 | CONFIG_ENVDIR=y 1111 | CONFIG_SOFTLIMIT=y 1112 | CONFIG_RUNSV=y 1113 | CONFIG_RUNSVDIR=y 1114 | # CONFIG_FEATURE_RUNSVDIR_LOG is not set 1115 | CONFIG_SV=y 1116 | CONFIG_SV_DEFAULT_SERVICE_DIR="/var/service" 1117 | CONFIG_SVC=y 1118 | CONFIG_SVOK=y 1119 | CONFIG_SVLOGD=y 1120 | # CONFIG_CHCON is not set 1121 | # CONFIG_GETENFORCE is not set 1122 | # CONFIG_GETSEBOOL is not set 1123 | # CONFIG_LOAD_POLICY is not set 1124 | # CONFIG_MATCHPATHCON is not set 1125 | # CONFIG_RUNCON is not set 1126 | # CONFIG_SELINUXENABLED is not set 1127 | # CONFIG_SESTATUS is not set 1128 | # CONFIG_SETENFORCE is not set 1129 | # CONFIG_SETFILES is not set 1130 | # CONFIG_FEATURE_SETFILES_CHECK_OPTION is not set 1131 | # CONFIG_RESTORECON is not set 1132 | # CONFIG_SETSEBOOL is not set 1133 | 1134 | # 1135 | # Shells 1136 | # 1137 | CONFIG_SH_IS_ASH=y 1138 | # CONFIG_SH_IS_HUSH is not set 1139 | # CONFIG_SH_IS_NONE is not set 1140 | # CONFIG_BASH_IS_ASH is not set 1141 | # CONFIG_BASH_IS_HUSH is not set 1142 | CONFIG_BASH_IS_NONE=y 1143 | CONFIG_SHELL_ASH=y 1144 | CONFIG_ASH=y 1145 | CONFIG_ASH_OPTIMIZE_FOR_SIZE=y 1146 | CONFIG_ASH_INTERNAL_GLOB=y 1147 | CONFIG_ASH_BASH_COMPAT=y 1148 | # CONFIG_ASH_BASH_SOURCE_CURDIR is not set 1149 | CONFIG_ASH_BASH_NOT_FOUND_HOOK=y 1150 | CONFIG_ASH_JOB_CONTROL=y 1151 | CONFIG_ASH_ALIAS=y 1152 | CONFIG_ASH_RANDOM_SUPPORT=y 1153 | CONFIG_ASH_EXPAND_PRMT=y 1154 | CONFIG_ASH_IDLE_TIMEOUT=y 1155 | CONFIG_ASH_MAIL=y 1156 | CONFIG_ASH_ECHO=y 1157 | CONFIG_ASH_PRINTF=y 1158 | CONFIG_ASH_TEST=y 1159 | CONFIG_ASH_HELP=y 1160 | CONFIG_ASH_GETOPTS=y 1161 | CONFIG_ASH_CMDCMD=y 1162 | CONFIG_CTTYHACK=y 1163 | CONFIG_HUSH=y 1164 | CONFIG_SHELL_HUSH=y 1165 | CONFIG_HUSH_BASH_COMPAT=y 1166 | CONFIG_HUSH_BRACE_EXPANSION=y 1167 | # CONFIG_HUSH_BASH_SOURCE_CURDIR is not set 1168 | CONFIG_HUSH_LINENO_VAR=y 1169 | CONFIG_HUSH_INTERACTIVE=y 1170 | CONFIG_HUSH_SAVEHISTORY=y 1171 | CONFIG_HUSH_JOB=y 1172 | CONFIG_HUSH_TICK=y 1173 | CONFIG_HUSH_IF=y 1174 | CONFIG_HUSH_LOOPS=y 1175 | CONFIG_HUSH_CASE=y 1176 | CONFIG_HUSH_FUNCTIONS=y 1177 | CONFIG_HUSH_LOCAL=y 1178 | CONFIG_HUSH_RANDOM_SUPPORT=y 1179 | CONFIG_HUSH_MODE_X=y 1180 | CONFIG_HUSH_ECHO=y 1181 | CONFIG_HUSH_PRINTF=y 1182 | CONFIG_HUSH_TEST=y 1183 | CONFIG_HUSH_HELP=y 1184 | CONFIG_HUSH_EXPORT=y 1185 | CONFIG_HUSH_EXPORT_N=y 1186 | CONFIG_HUSH_READONLY=y 1187 | CONFIG_HUSH_KILL=y 1188 | CONFIG_HUSH_WAIT=y 1189 | CONFIG_HUSH_COMMAND=y 1190 | CONFIG_HUSH_TRAP=y 1191 | CONFIG_HUSH_TYPE=y 1192 | CONFIG_HUSH_TIMES=y 1193 | CONFIG_HUSH_READ=y 1194 | CONFIG_HUSH_SET=y 1195 | CONFIG_HUSH_UNSET=y 1196 | CONFIG_HUSH_ULIMIT=y 1197 | CONFIG_HUSH_UMASK=y 1198 | CONFIG_HUSH_GETOPTS=y 1199 | # CONFIG_HUSH_MEMLEAK is not set 1200 | 1201 | # 1202 | # Options common to all shells 1203 | # 1204 | CONFIG_FEATURE_SH_MATH=y 1205 | CONFIG_FEATURE_SH_MATH_64=y 1206 | CONFIG_FEATURE_SH_MATH_BASE=y 1207 | CONFIG_FEATURE_SH_EXTRA_QUIET=y 1208 | # CONFIG_FEATURE_SH_STANDALONE is not set 1209 | # CONFIG_FEATURE_SH_NOFORK is not set 1210 | CONFIG_FEATURE_SH_READ_FRAC=y 1211 | CONFIG_FEATURE_SH_HISTFILESIZE=y 1212 | CONFIG_FEATURE_SH_EMBEDDED_SCRIPTS=y 1213 | 1214 | # 1215 | # System Logging Utilities 1216 | # 1217 | CONFIG_KLOGD=y 1218 | 1219 | # 1220 | # klogd should not be used together with syslog to kernel printk buffer 1221 | # 1222 | CONFIG_FEATURE_KLOGD_KLOGCTL=y 1223 | CONFIG_LOGGER=y 1224 | CONFIG_LOGREAD=y 1225 | CONFIG_FEATURE_LOGREAD_REDUCED_LOCKING=y 1226 | CONFIG_SYSLOGD=y 1227 | CONFIG_FEATURE_ROTATE_LOGFILE=y 1228 | CONFIG_FEATURE_REMOTE_LOG=y 1229 | CONFIG_FEATURE_SYSLOGD_DUP=y 1230 | CONFIG_FEATURE_SYSLOGD_CFG=y 1231 | # CONFIG_FEATURE_SYSLOGD_PRECISE_TIMESTAMPS is not set 1232 | CONFIG_FEATURE_SYSLOGD_READ_BUFFER_SIZE=256 1233 | CONFIG_FEATURE_IPC_SYSLOG=y 1234 | CONFIG_FEATURE_IPC_SYSLOG_BUFFER_SIZE=16 1235 | CONFIG_FEATURE_KMSG_SYSLOG=y 1236 | -------------------------------------------------------------------------------- /conf/kernel-5.11.config: -------------------------------------------------------------------------------- 1 | # 2 | # Automatically generated file; DO NOT EDIT. 3 | # Linux/x86 5.11.0 Kernel Configuration 4 | # 5 | CONFIG_CC_VERSION_TEXT="gcc (Ubuntu 9.4.0-1ubuntu1~20.04.1) 9.4.0" 6 | CONFIG_CC_IS_GCC=y 7 | CONFIG_GCC_VERSION=90400 8 | CONFIG_LD_VERSION=234000000 9 | CONFIG_CLANG_VERSION=0 10 | CONFIG_LLD_VERSION=0 11 | CONFIG_CC_CAN_LINK=y 12 | CONFIG_CC_CAN_LINK_STATIC=y 13 | CONFIG_CC_HAS_ASM_GOTO=y 14 | CONFIG_CC_HAS_ASM_INLINE=y 15 | CONFIG_IRQ_WORK=y 16 | CONFIG_BUILDTIME_TABLE_SORT=y 17 | CONFIG_THREAD_INFO_IN_TASK=y 18 | 19 | # 20 | # General setup 21 | # 22 | CONFIG_INIT_ENV_ARG_LIMIT=32 23 | # CONFIG_COMPILE_TEST is not set 24 | CONFIG_LOCALVERSION="" 25 | CONFIG_LOCALVERSION_AUTO=y 26 | CONFIG_BUILD_SALT="" 27 | CONFIG_HAVE_KERNEL_GZIP=y 28 | CONFIG_HAVE_KERNEL_BZIP2=y 29 | CONFIG_HAVE_KERNEL_LZMA=y 30 | CONFIG_HAVE_KERNEL_XZ=y 31 | CONFIG_HAVE_KERNEL_LZO=y 32 | CONFIG_HAVE_KERNEL_LZ4=y 33 | CONFIG_HAVE_KERNEL_ZSTD=y 34 | CONFIG_KERNEL_GZIP=y 35 | # CONFIG_KERNEL_BZIP2 is not set 36 | # CONFIG_KERNEL_LZMA is not set 37 | # CONFIG_KERNEL_XZ is not set 38 | # CONFIG_KERNEL_LZO is not set 39 | # CONFIG_KERNEL_LZ4 is not set 40 | # CONFIG_KERNEL_ZSTD is not set 41 | CONFIG_DEFAULT_INIT="" 42 | CONFIG_DEFAULT_HOSTNAME="(none)" 43 | CONFIG_SWAP=y 44 | # CONFIG_SYSVIPC is not set 45 | # CONFIG_WATCH_QUEUE is not set 46 | # CONFIG_CROSS_MEMORY_ATTACH is not set 47 | # CONFIG_USELIB is not set 48 | CONFIG_HAVE_ARCH_AUDITSYSCALL=y 49 | 50 | # 51 | # IRQ subsystem 52 | # 53 | CONFIG_GENERIC_IRQ_PROBE=y 54 | CONFIG_GENERIC_IRQ_SHOW=y 55 | CONFIG_GENERIC_IRQ_EFFECTIVE_AFF_MASK=y 56 | CONFIG_GENERIC_PENDING_IRQ=y 57 | CONFIG_GENERIC_IRQ_MIGRATION=y 58 | CONFIG_HARDIRQS_SW_RESEND=y 59 | CONFIG_IRQ_DOMAIN=y 60 | CONFIG_IRQ_DOMAIN_HIERARCHY=y 61 | CONFIG_GENERIC_IRQ_MATRIX_ALLOCATOR=y 62 | CONFIG_GENERIC_IRQ_RESERVATION_MODE=y 63 | CONFIG_IRQ_FORCED_THREADING=y 64 | CONFIG_SPARSE_IRQ=y 65 | # CONFIG_GENERIC_IRQ_DEBUGFS is not set 66 | # end of IRQ subsystem 67 | 68 | CONFIG_CLOCKSOURCE_WATCHDOG=y 69 | CONFIG_ARCH_CLOCKSOURCE_INIT=y 70 | CONFIG_CLOCKSOURCE_VALIDATE_LAST_CYCLE=y 71 | CONFIG_GENERIC_TIME_VSYSCALL=y 72 | CONFIG_GENERIC_CLOCKEVENTS=y 73 | CONFIG_GENERIC_CLOCKEVENTS_BROADCAST=y 74 | CONFIG_GENERIC_CLOCKEVENTS_MIN_ADJUST=y 75 | CONFIG_GENERIC_CMOS_UPDATE=y 76 | CONFIG_HAVE_POSIX_CPU_TIMERS_TASK_WORK=y 77 | 78 | # 79 | # Timers subsystem 80 | # 81 | CONFIG_HZ_PERIODIC=y 82 | # CONFIG_NO_HZ_IDLE is not set 83 | # CONFIG_NO_HZ_FULL is not set 84 | # CONFIG_NO_HZ is not set 85 | # CONFIG_HIGH_RES_TIMERS is not set 86 | # end of Timers subsystem 87 | 88 | CONFIG_PREEMPT_NONE=y 89 | # CONFIG_PREEMPT_VOLUNTARY is not set 90 | # CONFIG_PREEMPT is not set 91 | 92 | # 93 | # CPU/Task time and stats accounting 94 | # 95 | CONFIG_TICK_CPU_ACCOUNTING=y 96 | # CONFIG_VIRT_CPU_ACCOUNTING_GEN is not set 97 | # CONFIG_IRQ_TIME_ACCOUNTING is not set 98 | # CONFIG_PSI is not set 99 | # end of CPU/Task time and stats accounting 100 | 101 | CONFIG_CPU_ISOLATION=y 102 | 103 | # 104 | # RCU Subsystem 105 | # 106 | CONFIG_TREE_RCU=y 107 | # CONFIG_RCU_EXPERT is not set 108 | CONFIG_SRCU=y 109 | CONFIG_TREE_SRCU=y 110 | CONFIG_RCU_STALL_COMMON=y 111 | CONFIG_RCU_NEED_SEGCBLIST=y 112 | # end of RCU Subsystem 113 | 114 | # CONFIG_IKCONFIG is not set 115 | # CONFIG_IKHEADERS is not set 116 | CONFIG_LOG_BUF_SHIFT=17 117 | CONFIG_LOG_CPU_MAX_BUF_SHIFT=12 118 | CONFIG_PRINTK_SAFE_LOG_BUF_SHIFT=13 119 | CONFIG_HAVE_UNSTABLE_SCHED_CLOCK=y 120 | 121 | # 122 | # Scheduler features 123 | # 124 | # CONFIG_UCLAMP_TASK is not set 125 | # end of Scheduler features 126 | 127 | CONFIG_ARCH_SUPPORTS_NUMA_BALANCING=y 128 | CONFIG_ARCH_WANT_BATCHED_UNMAP_TLB_FLUSH=y 129 | CONFIG_CC_HAS_INT128=y 130 | CONFIG_ARCH_SUPPORTS_INT128=y 131 | CONFIG_NUMA_BALANCING=y 132 | CONFIG_NUMA_BALANCING_DEFAULT_ENABLED=y 133 | # CONFIG_CGROUPS is not set 134 | # CONFIG_CHECKPOINT_RESTORE is not set 135 | # CONFIG_SCHED_AUTOGROUP is not set 136 | # CONFIG_SYSFS_DEPRECATED is not set 137 | # CONFIG_RELAY is not set 138 | CONFIG_BLK_DEV_INITRD=y 139 | CONFIG_INITRAMFS_SOURCE="" 140 | CONFIG_RD_GZIP=y 141 | CONFIG_RD_BZIP2=y 142 | CONFIG_RD_LZMA=y 143 | CONFIG_RD_XZ=y 144 | CONFIG_RD_LZO=y 145 | CONFIG_RD_LZ4=y 146 | CONFIG_RD_ZSTD=y 147 | # CONFIG_BOOT_CONFIG is not set 148 | CONFIG_CC_OPTIMIZE_FOR_PERFORMANCE=y 149 | # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set 150 | CONFIG_LD_ORPHAN_WARN=y 151 | CONFIG_SYSCTL=y 152 | CONFIG_SYSCTL_EXCEPTION_TRACE=y 153 | CONFIG_HAVE_PCSPKR_PLATFORM=y 154 | CONFIG_EXPERT=y 155 | # CONFIG_MULTIUSER is not set 156 | # CONFIG_SGETMASK_SYSCALL is not set 157 | # CONFIG_SYSFS_SYSCALL is not set 158 | # CONFIG_FHANDLE is not set 159 | # CONFIG_POSIX_TIMERS is not set 160 | CONFIG_PRINTK=y 161 | CONFIG_PRINTK_NMI=y 162 | # CONFIG_BUG is not set 163 | CONFIG_ELF_CORE=y 164 | # CONFIG_PCSPKR_PLATFORM is not set 165 | # CONFIG_BASE_FULL is not set 166 | # CONFIG_FUTEX is not set 167 | # CONFIG_EPOLL is not set 168 | # CONFIG_SIGNALFD is not set 169 | # CONFIG_TIMERFD is not set 170 | # CONFIG_EVENTFD is not set 171 | # CONFIG_SHMEM is not set 172 | # CONFIG_AIO is not set 173 | # CONFIG_IO_URING is not set 174 | CONFIG_ADVISE_SYSCALLS=y 175 | # CONFIG_MEMBARRIER is not set 176 | CONFIG_KALLSYMS=y 177 | CONFIG_KALLSYMS_ALL=y 178 | CONFIG_KALLSYMS_ABSOLUTE_PERCPU=y 179 | CONFIG_KALLSYMS_BASE_RELATIVE=y 180 | # CONFIG_BPF_SYSCALL is not set 181 | CONFIG_ARCH_WANT_DEFAULT_BPF_JIT=y 182 | # CONFIG_USERFAULTFD is not set 183 | CONFIG_ARCH_HAS_MEMBARRIER_SYNC_CORE=y 184 | # CONFIG_RSEQ is not set 185 | CONFIG_EMBEDDED=y 186 | CONFIG_HAVE_PERF_EVENTS=y 187 | # CONFIG_PC104 is not set 188 | 189 | # 190 | # Kernel Performance Events And Counters 191 | # 192 | CONFIG_PERF_EVENTS=y 193 | # CONFIG_DEBUG_PERF_USE_VMALLOC is not set 194 | # end of Kernel Performance Events And Counters 195 | 196 | # CONFIG_VM_EVENT_COUNTERS is not set 197 | CONFIG_SLUB_DEBUG=y 198 | # CONFIG_COMPAT_BRK is not set 199 | # CONFIG_SLAB is not set 200 | CONFIG_SLUB=y 201 | # CONFIG_SLOB is not set 202 | # CONFIG_SLAB_MERGE_DEFAULT is not set 203 | # CONFIG_SLAB_FREELIST_RANDOM is not set 204 | # CONFIG_SLAB_FREELIST_HARDENED is not set 205 | # CONFIG_SHUFFLE_PAGE_ALLOCATOR is not set 206 | CONFIG_SLUB_CPU_PARTIAL=y 207 | # CONFIG_PROFILING is not set 208 | # end of General setup 209 | 210 | CONFIG_64BIT=y 211 | CONFIG_X86_64=y 212 | CONFIG_X86=y 213 | CONFIG_INSTRUCTION_DECODER=y 214 | CONFIG_OUTPUT_FORMAT="elf64-x86-64" 215 | CONFIG_LOCKDEP_SUPPORT=y 216 | CONFIG_STACKTRACE_SUPPORT=y 217 | CONFIG_MMU=y 218 | CONFIG_ARCH_MMAP_RND_BITS_MIN=28 219 | CONFIG_ARCH_MMAP_RND_BITS_MAX=32 220 | CONFIG_ARCH_MMAP_RND_COMPAT_BITS_MIN=8 221 | CONFIG_ARCH_MMAP_RND_COMPAT_BITS_MAX=16 222 | CONFIG_GENERIC_ISA_DMA=y 223 | CONFIG_ARCH_MAY_HAVE_PC_FDC=y 224 | CONFIG_GENERIC_CALIBRATE_DELAY=y 225 | CONFIG_ARCH_HAS_CPU_RELAX=y 226 | CONFIG_ARCH_HAS_CACHE_LINE_SIZE=y 227 | CONFIG_ARCH_HAS_FILTER_PGPROT=y 228 | CONFIG_HAVE_SETUP_PER_CPU_AREA=y 229 | CONFIG_NEED_PER_CPU_EMBED_FIRST_CHUNK=y 230 | CONFIG_NEED_PER_CPU_PAGE_FIRST_CHUNK=y 231 | CONFIG_ARCH_HIBERNATION_POSSIBLE=y 232 | CONFIG_ARCH_SUSPEND_POSSIBLE=y 233 | CONFIG_ARCH_WANT_GENERAL_HUGETLB=y 234 | CONFIG_ZONE_DMA32=y 235 | CONFIG_AUDIT_ARCH=y 236 | CONFIG_X86_64_SMP=y 237 | CONFIG_ARCH_SUPPORTS_UPROBES=y 238 | CONFIG_FIX_EARLYCON_MEM=y 239 | CONFIG_PGTABLE_LEVELS=5 240 | CONFIG_CC_HAS_SANE_STACKPROTECTOR=y 241 | 242 | # 243 | # Processor type and features 244 | # 245 | # CONFIG_ZONE_DMA is not set 246 | CONFIG_SMP=y 247 | CONFIG_X86_FEATURE_NAMES=y 248 | CONFIG_X86_MPPARSE=y 249 | # CONFIG_GOLDFISH is not set 250 | # CONFIG_RETPOLINE is not set 251 | # CONFIG_X86_CPU_RESCTRL is not set 252 | # CONFIG_X86_EXTENDED_PLATFORM is not set 253 | # CONFIG_X86_INTEL_LPSS is not set 254 | # CONFIG_X86_AMD_PLATFORM_DEVICE is not set 255 | CONFIG_IOSF_MBI=y 256 | # CONFIG_IOSF_MBI_DEBUG is not set 257 | # CONFIG_SCHED_OMIT_FRAME_POINTER is not set 258 | # CONFIG_HYPERVISOR_GUEST is not set 259 | # CONFIG_MK8 is not set 260 | # CONFIG_MPSC is not set 261 | # CONFIG_MCORE2 is not set 262 | # CONFIG_MATOM is not set 263 | CONFIG_GENERIC_CPU=y 264 | CONFIG_X86_INTERNODE_CACHE_SHIFT=6 265 | CONFIG_X86_L1_CACHE_SHIFT=6 266 | CONFIG_X86_TSC=y 267 | CONFIG_X86_CMPXCHG64=y 268 | CONFIG_X86_CMOV=y 269 | CONFIG_X86_MINIMUM_CPU_FAMILY=64 270 | CONFIG_X86_DEBUGCTLMSR=y 271 | CONFIG_IA32_FEAT_CTL=y 272 | CONFIG_X86_VMX_FEATURE_NAMES=y 273 | # CONFIG_PROCESSOR_SELECT is not set 274 | CONFIG_CPU_SUP_INTEL=y 275 | CONFIG_CPU_SUP_AMD=y 276 | CONFIG_CPU_SUP_HYGON=y 277 | CONFIG_CPU_SUP_CENTAUR=y 278 | CONFIG_CPU_SUP_ZHAOXIN=y 279 | CONFIG_HPET_TIMER=y 280 | # CONFIG_DMI is not set 281 | # CONFIG_GART_IOMMU is not set 282 | # CONFIG_MAXSMP is not set 283 | CONFIG_NR_CPUS_RANGE_BEGIN=2 284 | CONFIG_NR_CPUS_RANGE_END=512 285 | CONFIG_NR_CPUS_DEFAULT=64 286 | CONFIG_NR_CPUS=64 287 | CONFIG_SCHED_SMT=y 288 | CONFIG_SCHED_MC=y 289 | CONFIG_SCHED_MC_PRIO=y 290 | CONFIG_X86_LOCAL_APIC=y 291 | CONFIG_X86_IO_APIC=y 292 | # CONFIG_X86_REROUTE_FOR_BROKEN_BOOT_IRQS is not set 293 | # CONFIG_X86_MCE is not set 294 | 295 | # 296 | # Performance monitoring 297 | # 298 | CONFIG_PERF_EVENTS_INTEL_UNCORE=y 299 | CONFIG_PERF_EVENTS_INTEL_RAPL=y 300 | CONFIG_PERF_EVENTS_INTEL_CSTATE=y 301 | # CONFIG_PERF_EVENTS_AMD_POWER is not set 302 | # end of Performance monitoring 303 | 304 | CONFIG_X86_VSYSCALL_EMULATION=y 305 | # CONFIG_X86_IOPL_IOPERM is not set 306 | # CONFIG_I8K is not set 307 | # CONFIG_MICROCODE is not set 308 | # CONFIG_X86_MSR is not set 309 | # CONFIG_X86_CPUID is not set 310 | CONFIG_X86_5LEVEL=y 311 | CONFIG_X86_DIRECT_GBPAGES=y 312 | # CONFIG_X86_CPA_STATISTICS is not set 313 | # CONFIG_AMD_MEM_ENCRYPT is not set 314 | CONFIG_NUMA=y 315 | CONFIG_AMD_NUMA=y 316 | CONFIG_X86_64_ACPI_NUMA=y 317 | # CONFIG_NUMA_EMU is not set 318 | CONFIG_NODES_SHIFT=10 319 | CONFIG_ARCH_SPARSEMEM_ENABLE=y 320 | CONFIG_ARCH_SPARSEMEM_DEFAULT=y 321 | CONFIG_ARCH_SELECT_MEMORY_MODEL=y 322 | # CONFIG_ARCH_MEMORY_PROBE is not set 323 | CONFIG_ILLEGAL_POINTER_VALUE=0xdead000000000000 324 | # CONFIG_X86_PMEM_LEGACY is not set 325 | # CONFIG_X86_CHECK_BIOS_CORRUPTION is not set 326 | CONFIG_X86_RESERVE_LOW=64 327 | # CONFIG_MTRR is not set 328 | # CONFIG_ARCH_RANDOM is not set 329 | # CONFIG_X86_SMAP is not set 330 | # CONFIG_X86_UMIP is not set 331 | CONFIG_X86_INTEL_MEMORY_PROTECTION_KEYS=y 332 | CONFIG_X86_INTEL_TSX_MODE_OFF=y 333 | # CONFIG_X86_INTEL_TSX_MODE_ON is not set 334 | # CONFIG_X86_INTEL_TSX_MODE_AUTO is not set 335 | # CONFIG_EFI is not set 336 | # CONFIG_HZ_100 is not set 337 | CONFIG_HZ_250=y 338 | # CONFIG_HZ_300 is not set 339 | # CONFIG_HZ_1000 is not set 340 | CONFIG_HZ=250 341 | # CONFIG_KEXEC is not set 342 | # CONFIG_CRASH_DUMP is not set 343 | CONFIG_PHYSICAL_START=0x1000000 344 | CONFIG_RELOCATABLE=y 345 | CONFIG_RANDOMIZE_BASE=y 346 | CONFIG_X86_NEED_RELOCS=y 347 | CONFIG_PHYSICAL_ALIGN=0x200000 348 | CONFIG_DYNAMIC_MEMORY_LAYOUT=y 349 | CONFIG_RANDOMIZE_MEMORY=y 350 | CONFIG_RANDOMIZE_MEMORY_PHYSICAL_PADDING=0x1 351 | CONFIG_HOTPLUG_CPU=y 352 | # CONFIG_BOOTPARAM_HOTPLUG_CPU0 is not set 353 | # CONFIG_DEBUG_HOTPLUG_CPU0 is not set 354 | # CONFIG_LEGACY_VSYSCALL_EMULATE is not set 355 | CONFIG_LEGACY_VSYSCALL_XONLY=y 356 | # CONFIG_LEGACY_VSYSCALL_NONE is not set 357 | # CONFIG_CMDLINE_BOOL is not set 358 | # CONFIG_MODIFY_LDT_SYSCALL is not set 359 | CONFIG_HAVE_LIVEPATCH=y 360 | # end of Processor type and features 361 | 362 | CONFIG_ARCH_HAS_ADD_PAGES=y 363 | CONFIG_ARCH_ENABLE_MEMORY_HOTPLUG=y 364 | CONFIG_ARCH_ENABLE_MEMORY_HOTREMOVE=y 365 | CONFIG_USE_PERCPU_NUMA_NODE_ID=y 366 | CONFIG_ARCH_ENABLE_SPLIT_PMD_PTLOCK=y 367 | CONFIG_ARCH_ENABLE_HUGEPAGE_MIGRATION=y 368 | CONFIG_ARCH_ENABLE_THP_MIGRATION=y 369 | 370 | # 371 | # Power management and ACPI options 372 | # 373 | # CONFIG_SUSPEND is not set 374 | # CONFIG_HIBERNATION is not set 375 | # CONFIG_PM is not set 376 | # CONFIG_ENERGY_MODEL is not set 377 | CONFIG_ARCH_SUPPORTS_ACPI=y 378 | CONFIG_ACPI=y 379 | CONFIG_ACPI_LEGACY_TABLES_LOOKUP=y 380 | CONFIG_ARCH_MIGHT_HAVE_ACPI_PDC=y 381 | CONFIG_ACPI_SYSTEM_POWER_STATES_SUPPORT=y 382 | # CONFIG_ACPI_DEBUGGER is not set 383 | CONFIG_ACPI_SPCR_TABLE=y 384 | CONFIG_ACPI_LPIT=y 385 | CONFIG_ACPI_REV_OVERRIDE_POSSIBLE=y 386 | # CONFIG_ACPI_EC_DEBUGFS is not set 387 | CONFIG_ACPI_AC=y 388 | CONFIG_ACPI_BATTERY=y 389 | CONFIG_ACPI_BUTTON=y 390 | CONFIG_ACPI_FAN=y 391 | # CONFIG_ACPI_DOCK is not set 392 | CONFIG_ACPI_CPU_FREQ_PSS=y 393 | CONFIG_ACPI_PROCESSOR_CSTATE=y 394 | CONFIG_ACPI_PROCESSOR_IDLE=y 395 | CONFIG_ACPI_CPPC_LIB=y 396 | CONFIG_ACPI_PROCESSOR=y 397 | CONFIG_ACPI_HOTPLUG_CPU=y 398 | # CONFIG_ACPI_PROCESSOR_AGGREGATOR is not set 399 | CONFIG_ACPI_THERMAL=y 400 | CONFIG_ACPI_CUSTOM_DSDT_FILE="" 401 | CONFIG_ARCH_HAS_ACPI_TABLE_UPGRADE=y 402 | CONFIG_ACPI_TABLE_UPGRADE=y 403 | # CONFIG_ACPI_DEBUG is not set 404 | # CONFIG_ACPI_PCI_SLOT is not set 405 | CONFIG_ACPI_CONTAINER=y 406 | # CONFIG_ACPI_HOTPLUG_MEMORY is not set 407 | CONFIG_ACPI_HOTPLUG_IOAPIC=y 408 | # CONFIG_ACPI_SBS is not set 409 | # CONFIG_ACPI_HED is not set 410 | # CONFIG_ACPI_CUSTOM_METHOD is not set 411 | # CONFIG_ACPI_REDUCED_HARDWARE_ONLY is not set 412 | # CONFIG_ACPI_NFIT is not set 413 | CONFIG_ACPI_NUMA=y 414 | # CONFIG_ACPI_HMAT is not set 415 | CONFIG_HAVE_ACPI_APEI=y 416 | CONFIG_HAVE_ACPI_APEI_NMI=y 417 | # CONFIG_ACPI_APEI is not set 418 | # CONFIG_ACPI_DPTF is not set 419 | # CONFIG_ACPI_CONFIGFS is not set 420 | # CONFIG_PMIC_OPREGION is not set 421 | CONFIG_X86_PM_TIMER=y 422 | # CONFIG_SFI is not set 423 | 424 | # 425 | # CPU Frequency scaling 426 | # 427 | CONFIG_CPU_FREQ=y 428 | CONFIG_CPU_FREQ_GOV_ATTR_SET=y 429 | # CONFIG_CPU_FREQ_STAT is not set 430 | # CONFIG_CPU_FREQ_DEFAULT_GOV_PERFORMANCE is not set 431 | # CONFIG_CPU_FREQ_DEFAULT_GOV_POWERSAVE is not set 432 | # CONFIG_CPU_FREQ_DEFAULT_GOV_USERSPACE is not set 433 | CONFIG_CPU_FREQ_DEFAULT_GOV_SCHEDUTIL=y 434 | CONFIG_CPU_FREQ_GOV_PERFORMANCE=y 435 | # CONFIG_CPU_FREQ_GOV_POWERSAVE is not set 436 | # CONFIG_CPU_FREQ_GOV_USERSPACE is not set 437 | # CONFIG_CPU_FREQ_GOV_ONDEMAND is not set 438 | # CONFIG_CPU_FREQ_GOV_CONSERVATIVE is not set 439 | CONFIG_CPU_FREQ_GOV_SCHEDUTIL=y 440 | 441 | # 442 | # CPU frequency scaling drivers 443 | # 444 | CONFIG_X86_INTEL_PSTATE=y 445 | # CONFIG_X86_PCC_CPUFREQ is not set 446 | # CONFIG_X86_ACPI_CPUFREQ is not set 447 | # CONFIG_X86_SPEEDSTEP_CENTRINO is not set 448 | # CONFIG_X86_P4_CLOCKMOD is not set 449 | 450 | # 451 | # shared options 452 | # 453 | # end of CPU Frequency scaling 454 | 455 | # 456 | # CPU Idle 457 | # 458 | CONFIG_CPU_IDLE=y 459 | CONFIG_CPU_IDLE_GOV_LADDER=y 460 | # CONFIG_CPU_IDLE_GOV_MENU is not set 461 | # CONFIG_CPU_IDLE_GOV_TEO is not set 462 | # end of CPU Idle 463 | 464 | # CONFIG_INTEL_IDLE is not set 465 | # end of Power management and ACPI options 466 | 467 | # 468 | # Bus options (PCI etc.) 469 | # 470 | CONFIG_PCI_DIRECT=y 471 | CONFIG_PCI_MMCONFIG=y 472 | CONFIG_MMCONF_FAM10H=y 473 | # CONFIG_PCI_CNB20LE_QUIRK is not set 474 | # CONFIG_ISA_BUS is not set 475 | CONFIG_ISA_DMA_API=y 476 | CONFIG_AMD_NB=y 477 | # CONFIG_X86_SYSFB is not set 478 | # end of Bus options (PCI etc.) 479 | 480 | # 481 | # Binary Emulations 482 | # 483 | # CONFIG_IA32_EMULATION is not set 484 | # CONFIG_X86_X32 is not set 485 | # end of Binary Emulations 486 | 487 | # 488 | # Firmware Drivers 489 | # 490 | # CONFIG_EDD is not set 491 | # CONFIG_FIRMWARE_MEMMAP is not set 492 | # CONFIG_ISCSI_IBFT is not set 493 | # CONFIG_FW_CFG_SYSFS is not set 494 | # CONFIG_GOOGLE_FIRMWARE is not set 495 | 496 | # 497 | # Tegra firmware driver 498 | # 499 | # end of Tegra firmware driver 500 | # end of Firmware Drivers 501 | 502 | CONFIG_HAVE_KVM=y 503 | # CONFIG_VIRTUALIZATION is not set 504 | CONFIG_AS_AVX512=y 505 | CONFIG_AS_SHA1_NI=y 506 | CONFIG_AS_SHA256_NI=y 507 | CONFIG_AS_TPAUSE=y 508 | 509 | # 510 | # General architecture-dependent options 511 | # 512 | CONFIG_HOTPLUG_SMT=y 513 | CONFIG_GENERIC_ENTRY=y 514 | CONFIG_HAVE_OPROFILE=y 515 | CONFIG_OPROFILE_NMI_TIMER=y 516 | # CONFIG_KPROBES is not set 517 | # CONFIG_JUMP_LABEL is not set 518 | # CONFIG_STATIC_CALL_SELFTEST is not set 519 | CONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS=y 520 | CONFIG_ARCH_USE_BUILTIN_BSWAP=y 521 | CONFIG_HAVE_IOREMAP_PROT=y 522 | CONFIG_HAVE_KPROBES=y 523 | CONFIG_HAVE_KRETPROBES=y 524 | CONFIG_HAVE_OPTPROBES=y 525 | CONFIG_HAVE_KPROBES_ON_FTRACE=y 526 | CONFIG_HAVE_FUNCTION_ERROR_INJECTION=y 527 | CONFIG_HAVE_NMI=y 528 | CONFIG_HAVE_ARCH_TRACEHOOK=y 529 | CONFIG_HAVE_DMA_CONTIGUOUS=y 530 | CONFIG_GENERIC_SMP_IDLE_THREAD=y 531 | CONFIG_ARCH_HAS_FORTIFY_SOURCE=y 532 | CONFIG_ARCH_HAS_SET_MEMORY=y 533 | CONFIG_ARCH_HAS_SET_DIRECT_MAP=y 534 | CONFIG_HAVE_ARCH_THREAD_STRUCT_WHITELIST=y 535 | CONFIG_ARCH_WANTS_DYNAMIC_TASK_STRUCT=y 536 | CONFIG_HAVE_ASM_MODVERSIONS=y 537 | CONFIG_HAVE_REGS_AND_STACK_ACCESS_API=y 538 | CONFIG_HAVE_RSEQ=y 539 | CONFIG_HAVE_FUNCTION_ARG_ACCESS_API=y 540 | CONFIG_HAVE_HW_BREAKPOINT=y 541 | CONFIG_HAVE_MIXED_BREAKPOINTS_REGS=y 542 | CONFIG_HAVE_USER_RETURN_NOTIFIER=y 543 | CONFIG_HAVE_PERF_EVENTS_NMI=y 544 | CONFIG_HAVE_HARDLOCKUP_DETECTOR_PERF=y 545 | CONFIG_HAVE_PERF_REGS=y 546 | CONFIG_HAVE_PERF_USER_STACK_DUMP=y 547 | CONFIG_HAVE_ARCH_JUMP_LABEL=y 548 | CONFIG_HAVE_ARCH_JUMP_LABEL_RELATIVE=y 549 | CONFIG_ARCH_HAVE_NMI_SAFE_CMPXCHG=y 550 | CONFIG_HAVE_ALIGNED_STRUCT_PAGE=y 551 | CONFIG_HAVE_CMPXCHG_LOCAL=y 552 | CONFIG_HAVE_CMPXCHG_DOUBLE=y 553 | CONFIG_HAVE_ARCH_SECCOMP=y 554 | CONFIG_HAVE_ARCH_SECCOMP_FILTER=y 555 | # CONFIG_SECCOMP is not set 556 | CONFIG_HAVE_ARCH_STACKLEAK=y 557 | CONFIG_HAVE_STACKPROTECTOR=y 558 | # CONFIG_STACKPROTECTOR is not set 559 | CONFIG_HAVE_ARCH_WITHIN_STACK_FRAMES=y 560 | CONFIG_HAVE_CONTEXT_TRACKING=y 561 | CONFIG_HAVE_CONTEXT_TRACKING_OFFSTACK=y 562 | CONFIG_HAVE_VIRT_CPU_ACCOUNTING_GEN=y 563 | CONFIG_HAVE_IRQ_TIME_ACCOUNTING=y 564 | CONFIG_HAVE_MOVE_PUD=y 565 | CONFIG_HAVE_MOVE_PMD=y 566 | CONFIG_HAVE_ARCH_TRANSPARENT_HUGEPAGE=y 567 | CONFIG_HAVE_ARCH_TRANSPARENT_HUGEPAGE_PUD=y 568 | CONFIG_HAVE_ARCH_HUGE_VMAP=y 569 | CONFIG_ARCH_WANT_HUGE_PMD_SHARE=y 570 | CONFIG_HAVE_ARCH_SOFT_DIRTY=y 571 | CONFIG_HAVE_MOD_ARCH_SPECIFIC=y 572 | CONFIG_MODULES_USE_ELF_RELA=y 573 | CONFIG_ARCH_HAS_ELF_RANDOMIZE=y 574 | CONFIG_HAVE_ARCH_MMAP_RND_BITS=y 575 | CONFIG_HAVE_EXIT_THREAD=y 576 | CONFIG_ARCH_MMAP_RND_BITS=28 577 | CONFIG_HAVE_STACK_VALIDATION=y 578 | CONFIG_HAVE_RELIABLE_STACKTRACE=y 579 | # CONFIG_COMPAT_32BIT_TIME is not set 580 | CONFIG_HAVE_ARCH_VMAP_STACK=y 581 | CONFIG_VMAP_STACK=y 582 | CONFIG_ARCH_HAS_STRICT_KERNEL_RWX=y 583 | CONFIG_STRICT_KERNEL_RWX=y 584 | CONFIG_ARCH_HAS_STRICT_MODULE_RWX=y 585 | CONFIG_STRICT_MODULE_RWX=y 586 | CONFIG_HAVE_ARCH_PREL32_RELOCATIONS=y 587 | # CONFIG_LOCK_EVENT_COUNTS is not set 588 | CONFIG_ARCH_HAS_MEM_ENCRYPT=y 589 | CONFIG_HAVE_STATIC_CALL=y 590 | CONFIG_HAVE_STATIC_CALL_INLINE=y 591 | CONFIG_ARCH_WANT_LD_ORPHAN_WARN=y 592 | CONFIG_ARCH_SUPPORTS_DEBUG_PAGEALLOC=y 593 | 594 | # 595 | # GCOV-based kernel profiling 596 | # 597 | # CONFIG_GCOV_KERNEL is not set 598 | CONFIG_ARCH_HAS_GCOV_PROFILE_ALL=y 599 | # end of GCOV-based kernel profiling 600 | 601 | CONFIG_HAVE_GCC_PLUGINS=y 602 | # end of General architecture-dependent options 603 | 604 | CONFIG_BASE_SMALL=1 605 | CONFIG_MODULES=y 606 | # CONFIG_MODULE_FORCE_LOAD is not set 607 | CONFIG_MODULE_UNLOAD=y 608 | # CONFIG_MODULE_FORCE_UNLOAD is not set 609 | # CONFIG_MODVERSIONS is not set 610 | # CONFIG_MODULE_SRCVERSION_ALL is not set 611 | # CONFIG_MODULE_SIG is not set 612 | # CONFIG_MODULE_COMPRESS is not set 613 | # CONFIG_MODULE_ALLOW_MISSING_NAMESPACE_IMPORTS is not set 614 | CONFIG_UNUSED_SYMBOLS=y 615 | CONFIG_MODULES_TREE_LOOKUP=y 616 | CONFIG_BLOCK=y 617 | CONFIG_BLK_SCSI_REQUEST=y 618 | CONFIG_BLK_DEV_BSG=y 619 | # CONFIG_BLK_DEV_BSGLIB is not set 620 | # CONFIG_BLK_DEV_INTEGRITY is not set 621 | # CONFIG_BLK_DEV_ZONED is not set 622 | # CONFIG_BLK_CMDLINE_PARSER is not set 623 | # CONFIG_BLK_WBT is not set 624 | CONFIG_BLK_DEBUG_FS=y 625 | # CONFIG_BLK_SED_OPAL is not set 626 | # CONFIG_BLK_INLINE_ENCRYPTION is not set 627 | 628 | # 629 | # Partition Types 630 | # 631 | # CONFIG_PARTITION_ADVANCED is not set 632 | CONFIG_MSDOS_PARTITION=y 633 | CONFIG_EFI_PARTITION=y 634 | # end of Partition Types 635 | 636 | CONFIG_BLK_MQ_PCI=y 637 | 638 | # 639 | # IO Schedulers 640 | # 641 | CONFIG_MQ_IOSCHED_DEADLINE=y 642 | CONFIG_MQ_IOSCHED_KYBER=y 643 | # CONFIG_IOSCHED_BFQ is not set 644 | # end of IO Schedulers 645 | 646 | CONFIG_INLINE_SPIN_UNLOCK_IRQ=y 647 | CONFIG_INLINE_READ_UNLOCK=y 648 | CONFIG_INLINE_READ_UNLOCK_IRQ=y 649 | CONFIG_INLINE_WRITE_UNLOCK=y 650 | CONFIG_INLINE_WRITE_UNLOCK_IRQ=y 651 | CONFIG_ARCH_SUPPORTS_ATOMIC_RMW=y 652 | CONFIG_MUTEX_SPIN_ON_OWNER=y 653 | CONFIG_RWSEM_SPIN_ON_OWNER=y 654 | CONFIG_LOCK_SPIN_ON_OWNER=y 655 | CONFIG_ARCH_USE_QUEUED_SPINLOCKS=y 656 | CONFIG_QUEUED_SPINLOCKS=y 657 | CONFIG_ARCH_USE_QUEUED_RWLOCKS=y 658 | CONFIG_QUEUED_RWLOCKS=y 659 | CONFIG_ARCH_HAS_NON_OVERLAPPING_ADDRESS_SPACE=y 660 | CONFIG_ARCH_HAS_SYNC_CORE_BEFORE_USERMODE=y 661 | CONFIG_ARCH_HAS_SYSCALL_WRAPPER=y 662 | 663 | # 664 | # Executable file formats 665 | # 666 | CONFIG_BINFMT_ELF=y 667 | CONFIG_ELFCORE=y 668 | CONFIG_CORE_DUMP_DEFAULT_ELF_HEADERS=y 669 | CONFIG_BINFMT_SCRIPT=y 670 | CONFIG_BINFMT_MISC=y 671 | CONFIG_COREDUMP=y 672 | # end of Executable file formats 673 | 674 | # 675 | # Memory Management options 676 | # 677 | CONFIG_SELECT_MEMORY_MODEL=y 678 | CONFIG_SPARSEMEM_MANUAL=y 679 | CONFIG_SPARSEMEM=y 680 | CONFIG_NEED_MULTIPLE_NODES=y 681 | CONFIG_SPARSEMEM_EXTREME=y 682 | CONFIG_SPARSEMEM_VMEMMAP_ENABLE=y 683 | CONFIG_SPARSEMEM_VMEMMAP=y 684 | CONFIG_HAVE_FAST_GUP=y 685 | CONFIG_NUMA_KEEP_MEMINFO=y 686 | CONFIG_MEMORY_ISOLATION=y 687 | CONFIG_MEMORY_HOTPLUG=y 688 | CONFIG_MEMORY_HOTPLUG_SPARSE=y 689 | CONFIG_MEMORY_HOTPLUG_DEFAULT_ONLINE=y 690 | # CONFIG_MEMORY_HOTREMOVE is not set 691 | CONFIG_SPLIT_PTLOCK_CPUS=4 692 | CONFIG_COMPACTION=y 693 | # CONFIG_PAGE_REPORTING is not set 694 | CONFIG_MIGRATION=y 695 | CONFIG_CONTIG_ALLOC=y 696 | CONFIG_PHYS_ADDR_T_64BIT=y 697 | CONFIG_VIRT_TO_BUS=y 698 | # CONFIG_KSM is not set 699 | CONFIG_DEFAULT_MMAP_MIN_ADDR=4096 700 | CONFIG_TRANSPARENT_HUGEPAGE=y 701 | CONFIG_TRANSPARENT_HUGEPAGE_ALWAYS=y 702 | # CONFIG_TRANSPARENT_HUGEPAGE_MADVISE is not set 703 | CONFIG_ARCH_WANTS_THP_SWAP=y 704 | CONFIG_THP_SWAP=y 705 | # CONFIG_CLEANCACHE is not set 706 | # CONFIG_FRONTSWAP is not set 707 | # CONFIG_CMA is not set 708 | # CONFIG_ZPOOL is not set 709 | # CONFIG_ZBUD is not set 710 | # CONFIG_ZSMALLOC is not set 711 | CONFIG_GENERIC_EARLY_IOREMAP=y 712 | # CONFIG_DEFERRED_STRUCT_PAGE_INIT is not set 713 | # CONFIG_IDLE_PAGE_TRACKING is not set 714 | CONFIG_ARCH_HAS_PTE_DEVMAP=y 715 | CONFIG_ARCH_USES_HIGH_VMA_FLAGS=y 716 | CONFIG_ARCH_HAS_PKEYS=y 717 | # CONFIG_PERCPU_STATS is not set 718 | # CONFIG_GUP_TEST is not set 719 | CONFIG_ARCH_HAS_PTE_SPECIAL=y 720 | # end of Memory Management options 721 | 722 | # CONFIG_NET is not set 723 | CONFIG_HAVE_EBPF_JIT=y 724 | 725 | # 726 | # Device Drivers 727 | # 728 | CONFIG_HAVE_EISA=y 729 | # CONFIG_EISA is not set 730 | CONFIG_HAVE_PCI=y 731 | CONFIG_PCI=y 732 | CONFIG_PCI_DOMAINS=y 733 | # CONFIG_PCIEPORTBUS is not set 734 | CONFIG_PCIEASPM=y 735 | CONFIG_PCIEASPM_DEFAULT=y 736 | # CONFIG_PCIEASPM_POWERSAVE is not set 737 | # CONFIG_PCIEASPM_POWER_SUPERSAVE is not set 738 | # CONFIG_PCIEASPM_PERFORMANCE is not set 739 | # CONFIG_PCIE_PTM is not set 740 | # CONFIG_PCI_MSI is not set 741 | CONFIG_PCI_QUIRKS=y 742 | # CONFIG_PCI_DEBUG is not set 743 | # CONFIG_PCI_STUB is not set 744 | CONFIG_PCI_LOCKLESS_CONFIG=y 745 | # CONFIG_PCI_IOV is not set 746 | # CONFIG_PCI_PRI is not set 747 | # CONFIG_PCI_PASID is not set 748 | CONFIG_PCI_LABEL=y 749 | # CONFIG_PCIE_BUS_TUNE_OFF is not set 750 | CONFIG_PCIE_BUS_DEFAULT=y 751 | # CONFIG_PCIE_BUS_SAFE is not set 752 | # CONFIG_PCIE_BUS_PERFORMANCE is not set 753 | # CONFIG_PCIE_BUS_PEER2PEER is not set 754 | # CONFIG_HOTPLUG_PCI is not set 755 | 756 | # 757 | # PCI controller drivers 758 | # 759 | 760 | # 761 | # DesignWare PCI Core Support 762 | # 763 | # end of DesignWare PCI Core Support 764 | 765 | # 766 | # Mobiveil PCIe Core Support 767 | # 768 | # end of Mobiveil PCIe Core Support 769 | 770 | # 771 | # Cadence PCIe controllers support 772 | # 773 | # end of Cadence PCIe controllers support 774 | # end of PCI controller drivers 775 | 776 | # 777 | # PCI Endpoint 778 | # 779 | # CONFIG_PCI_ENDPOINT is not set 780 | # end of PCI Endpoint 781 | 782 | # 783 | # PCI switch controller drivers 784 | # 785 | # CONFIG_PCI_SW_SWITCHTEC is not set 786 | # end of PCI switch controller drivers 787 | 788 | # CONFIG_PCCARD is not set 789 | # CONFIG_RAPIDIO is not set 790 | 791 | # 792 | # Generic Driver Options 793 | # 794 | # CONFIG_UEVENT_HELPER is not set 795 | CONFIG_DEVTMPFS=y 796 | CONFIG_DEVTMPFS_MOUNT=y 797 | # CONFIG_STANDALONE is not set 798 | # CONFIG_PREVENT_FIRMWARE_BUILD is not set 799 | 800 | # 801 | # Firmware loader 802 | # 803 | # CONFIG_FW_LOADER is not set 804 | # end of Firmware loader 805 | 806 | # CONFIG_ALLOW_DEV_COREDUMP is not set 807 | # CONFIG_DEBUG_DRIVER is not set 808 | # CONFIG_DEBUG_DEVRES is not set 809 | # CONFIG_DEBUG_TEST_DRIVER_REMOVE is not set 810 | # CONFIG_TEST_ASYNC_DRIVER_PROBE is not set 811 | CONFIG_GENERIC_CPU_AUTOPROBE=y 812 | CONFIG_GENERIC_CPU_VULNERABILITIES=y 813 | # end of Generic Driver Options 814 | 815 | # 816 | # Bus devices 817 | # 818 | # CONFIG_MHI_BUS is not set 819 | # end of Bus devices 820 | 821 | # CONFIG_GNSS is not set 822 | # CONFIG_MTD is not set 823 | # CONFIG_OF is not set 824 | CONFIG_ARCH_MIGHT_HAVE_PC_PARPORT=y 825 | # CONFIG_PARPORT is not set 826 | CONFIG_PNP=y 827 | CONFIG_PNP_DEBUG_MESSAGES=y 828 | 829 | # 830 | # Protocols 831 | # 832 | CONFIG_PNPACPI=y 833 | CONFIG_BLK_DEV=y 834 | CONFIG_BLK_DEV_NULL_BLK=y 835 | # CONFIG_BLK_DEV_FD is not set 836 | CONFIG_CDROM=y 837 | # CONFIG_BLK_DEV_PCIESSD_MTIP32XX is not set 838 | # CONFIG_BLK_DEV_UMEM is not set 839 | CONFIG_BLK_DEV_LOOP=y 840 | CONFIG_BLK_DEV_LOOP_MIN_COUNT=8 841 | # CONFIG_BLK_DEV_CRYPTOLOOP is not set 842 | 843 | # 844 | # DRBD disabled because PROC_FS or INET not selected 845 | # 846 | # CONFIG_BLK_DEV_SKD is not set 847 | # CONFIG_BLK_DEV_SX8 is not set 848 | CONFIG_BLK_DEV_RAM=y 849 | CONFIG_BLK_DEV_RAM_COUNT=16 850 | CONFIG_BLK_DEV_RAM_SIZE=4096 851 | # CONFIG_CDROM_PKTCDVD is not set 852 | # CONFIG_BLK_DEV_RSXX is not set 853 | 854 | # 855 | # NVME Support 856 | # 857 | # CONFIG_BLK_DEV_NVME is not set 858 | # CONFIG_NVME_FC is not set 859 | # CONFIG_NVME_TARGET is not set 860 | # end of NVME Support 861 | 862 | # 863 | # Misc devices 864 | # 865 | # CONFIG_DUMMY_IRQ is not set 866 | # CONFIG_IBM_ASM is not set 867 | # CONFIG_PHANTOM is not set 868 | # CONFIG_TIFM_CORE is not set 869 | # CONFIG_ENCLOSURE_SERVICES is not set 870 | # CONFIG_HP_ILO is not set 871 | # CONFIG_SRAM is not set 872 | # CONFIG_PCI_ENDPOINT_TEST is not set 873 | # CONFIG_XILINX_SDFEC is not set 874 | # CONFIG_PVPANIC is not set 875 | # CONFIG_C2PORT is not set 876 | 877 | # 878 | # EEPROM support 879 | # 880 | # CONFIG_EEPROM_93CX6 is not set 881 | # end of EEPROM support 882 | 883 | # CONFIG_CB710_CORE is not set 884 | 885 | # 886 | # Texas Instruments shared transport line discipline 887 | # 888 | # end of Texas Instruments shared transport line discipline 889 | 890 | # 891 | # Altera FPGA firmware download module (requires I2C) 892 | # 893 | # CONFIG_INTEL_MEI is not set 894 | # CONFIG_INTEL_MEI_ME is not set 895 | # CONFIG_INTEL_MEI_TXE is not set 896 | # CONFIG_VMWARE_VMCI is not set 897 | # CONFIG_GENWQE is not set 898 | # CONFIG_ECHO is not set 899 | # CONFIG_MISC_ALCOR_PCI is not set 900 | # CONFIG_MISC_RTSX_PCI is not set 901 | # CONFIG_HABANA_AI is not set 902 | # end of Misc devices 903 | 904 | CONFIG_HAVE_IDE=y 905 | # CONFIG_IDE is not set 906 | 907 | # 908 | # SCSI device support 909 | # 910 | CONFIG_SCSI_MOD=y 911 | # CONFIG_RAID_ATTRS is not set 912 | CONFIG_SCSI=y 913 | CONFIG_SCSI_DMA=y 914 | CONFIG_SCSI_PROC_FS=y 915 | 916 | # 917 | # SCSI support type (disk, tape, CD-ROM) 918 | # 919 | CONFIG_BLK_DEV_SD=y 920 | # CONFIG_CHR_DEV_ST is not set 921 | CONFIG_BLK_DEV_SR=y 922 | CONFIG_CHR_DEV_SG=y 923 | # CONFIG_CHR_DEV_SCH is not set 924 | # CONFIG_SCSI_CONSTANTS is not set 925 | # CONFIG_SCSI_LOGGING is not set 926 | # CONFIG_SCSI_SCAN_ASYNC is not set 927 | 928 | # 929 | # SCSI Transports 930 | # 931 | # CONFIG_SCSI_SPI_ATTRS is not set 932 | # CONFIG_SCSI_SAS_ATTRS is not set 933 | # CONFIG_SCSI_SAS_LIBSAS is not set 934 | # CONFIG_SCSI_SRP_ATTRS is not set 935 | # end of SCSI Transports 936 | 937 | CONFIG_SCSI_LOWLEVEL=y 938 | # CONFIG_ISCSI_BOOT_SYSFS is not set 939 | # CONFIG_BLK_DEV_3W_XXXX_RAID is not set 940 | # CONFIG_SCSI_HPSA is not set 941 | # CONFIG_SCSI_3W_9XXX is not set 942 | # CONFIG_SCSI_3W_SAS is not set 943 | # CONFIG_SCSI_ACARD is not set 944 | # CONFIG_SCSI_AACRAID is not set 945 | # CONFIG_SCSI_AIC7XXX is not set 946 | # CONFIG_SCSI_AIC79XX is not set 947 | # CONFIG_SCSI_AIC94XX is not set 948 | # CONFIG_SCSI_MVSAS is not set 949 | # CONFIG_SCSI_MVUMI is not set 950 | # CONFIG_SCSI_DPT_I2O is not set 951 | # CONFIG_SCSI_ADVANSYS is not set 952 | # CONFIG_SCSI_ARCMSR is not set 953 | # CONFIG_SCSI_ESAS2R is not set 954 | # CONFIG_MEGARAID_NEWGEN is not set 955 | # CONFIG_MEGARAID_LEGACY is not set 956 | # CONFIG_MEGARAID_SAS is not set 957 | # CONFIG_SCSI_MPT3SAS is not set 958 | # CONFIG_SCSI_MPT2SAS is not set 959 | # CONFIG_SCSI_SMARTPQI is not set 960 | # CONFIG_SCSI_UFSHCD is not set 961 | # CONFIG_SCSI_HPTIOP is not set 962 | # CONFIG_SCSI_BUSLOGIC is not set 963 | # CONFIG_SCSI_MYRB is not set 964 | # CONFIG_SCSI_MYRS is not set 965 | # CONFIG_VMWARE_PVSCSI is not set 966 | # CONFIG_SCSI_SNIC is not set 967 | # CONFIG_SCSI_DMX3191D is not set 968 | # CONFIG_SCSI_FDOMAIN_PCI is not set 969 | # CONFIG_SCSI_GDTH is not set 970 | # CONFIG_SCSI_ISCI is not set 971 | # CONFIG_SCSI_IPS is not set 972 | # CONFIG_SCSI_INITIO is not set 973 | # CONFIG_SCSI_INIA100 is not set 974 | # CONFIG_SCSI_STEX is not set 975 | # CONFIG_SCSI_SYM53C8XX_2 is not set 976 | # CONFIG_SCSI_QLOGIC_1280 is not set 977 | # CONFIG_SCSI_DC395x is not set 978 | # CONFIG_SCSI_AM53C974 is not set 979 | # CONFIG_SCSI_WD719X is not set 980 | # CONFIG_SCSI_DEBUG is not set 981 | # CONFIG_SCSI_PM8001 is not set 982 | # CONFIG_SCSI_DH is not set 983 | # end of SCSI device support 984 | 985 | # CONFIG_ATA is not set 986 | # CONFIG_MD is not set 987 | # CONFIG_TARGET_CORE is not set 988 | # CONFIG_FUSION is not set 989 | 990 | # 991 | # IEEE 1394 (FireWire) support 992 | # 993 | # CONFIG_FIREWIRE is not set 994 | # CONFIG_FIREWIRE_NOSY is not set 995 | # end of IEEE 1394 (FireWire) support 996 | 997 | # CONFIG_MACINTOSH_DRIVERS is not set 998 | # CONFIG_NVM is not set 999 | 1000 | # 1001 | # Input device support 1002 | # 1003 | CONFIG_INPUT=y 1004 | # CONFIG_INPUT_FF_MEMLESS is not set 1005 | # CONFIG_INPUT_SPARSEKMAP is not set 1006 | # CONFIG_INPUT_MATRIXKMAP is not set 1007 | 1008 | # 1009 | # Userland interfaces 1010 | # 1011 | # CONFIG_INPUT_MOUSEDEV is not set 1012 | # CONFIG_INPUT_JOYDEV is not set 1013 | # CONFIG_INPUT_EVDEV is not set 1014 | # CONFIG_INPUT_EVBUG is not set 1015 | 1016 | # 1017 | # Input Device Drivers 1018 | # 1019 | CONFIG_INPUT_KEYBOARD=y 1020 | CONFIG_KEYBOARD_ATKBD=y 1021 | # CONFIG_KEYBOARD_LKKBD is not set 1022 | # CONFIG_KEYBOARD_NEWTON is not set 1023 | # CONFIG_KEYBOARD_OPENCORES is not set 1024 | # CONFIG_KEYBOARD_SAMSUNG is not set 1025 | # CONFIG_KEYBOARD_STOWAWAY is not set 1026 | # CONFIG_KEYBOARD_SUNKBD is not set 1027 | # CONFIG_KEYBOARD_XTKBD is not set 1028 | CONFIG_INPUT_MOUSE=y 1029 | CONFIG_MOUSE_PS2=y 1030 | CONFIG_MOUSE_PS2_ALPS=y 1031 | CONFIG_MOUSE_PS2_BYD=y 1032 | CONFIG_MOUSE_PS2_LOGIPS2PP=y 1033 | CONFIG_MOUSE_PS2_SYNAPTICS=y 1034 | CONFIG_MOUSE_PS2_CYPRESS=y 1035 | CONFIG_MOUSE_PS2_TRACKPOINT=y 1036 | # CONFIG_MOUSE_PS2_ELANTECH is not set 1037 | # CONFIG_MOUSE_PS2_SENTELIC is not set 1038 | # CONFIG_MOUSE_PS2_TOUCHKIT is not set 1039 | CONFIG_MOUSE_PS2_FOCALTECH=y 1040 | # CONFIG_MOUSE_SERIAL is not set 1041 | # CONFIG_MOUSE_VSXXXAA is not set 1042 | # CONFIG_INPUT_JOYSTICK is not set 1043 | # CONFIG_INPUT_TABLET is not set 1044 | # CONFIG_INPUT_TOUCHSCREEN is not set 1045 | # CONFIG_INPUT_MISC is not set 1046 | # CONFIG_RMI4_CORE is not set 1047 | 1048 | # 1049 | # Hardware I/O ports 1050 | # 1051 | CONFIG_SERIO=y 1052 | CONFIG_ARCH_MIGHT_HAVE_PC_SERIO=y 1053 | CONFIG_SERIO_I8042=y 1054 | CONFIG_SERIO_SERPORT=y 1055 | # CONFIG_SERIO_CT82C710 is not set 1056 | # CONFIG_SERIO_PCIPS2 is not set 1057 | CONFIG_SERIO_LIBPS2=y 1058 | # CONFIG_SERIO_RAW is not set 1059 | # CONFIG_SERIO_ALTERA_PS2 is not set 1060 | # CONFIG_SERIO_PS2MULT is not set 1061 | # CONFIG_SERIO_ARC_PS2 is not set 1062 | # CONFIG_USERIO is not set 1063 | # CONFIG_GAMEPORT is not set 1064 | # end of Hardware I/O ports 1065 | # end of Input device support 1066 | 1067 | # 1068 | # Character devices 1069 | # 1070 | CONFIG_TTY=y 1071 | CONFIG_VT=y 1072 | CONFIG_CONSOLE_TRANSLATIONS=y 1073 | CONFIG_VT_CONSOLE=y 1074 | CONFIG_HW_CONSOLE=y 1075 | # CONFIG_VT_HW_CONSOLE_BINDING is not set 1076 | CONFIG_UNIX98_PTYS=y 1077 | CONFIG_LEGACY_PTYS=y 1078 | CONFIG_LEGACY_PTY_COUNT=256 1079 | CONFIG_LDISC_AUTOLOAD=y 1080 | 1081 | # 1082 | # Serial drivers 1083 | # 1084 | CONFIG_SERIAL_EARLYCON=y 1085 | CONFIG_SERIAL_8250=y 1086 | CONFIG_SERIAL_8250_DEPRECATED_OPTIONS=y 1087 | CONFIG_SERIAL_8250_PNP=y 1088 | # CONFIG_SERIAL_8250_16550A_VARIANTS is not set 1089 | # CONFIG_SERIAL_8250_FINTEK is not set 1090 | CONFIG_SERIAL_8250_CONSOLE=y 1091 | CONFIG_SERIAL_8250_PCI=y 1092 | CONFIG_SERIAL_8250_EXAR=y 1093 | CONFIG_SERIAL_8250_NR_UARTS=4 1094 | CONFIG_SERIAL_8250_RUNTIME_UARTS=4 1095 | # CONFIG_SERIAL_8250_EXTENDED is not set 1096 | CONFIG_SERIAL_8250_DWLIB=y 1097 | # CONFIG_SERIAL_8250_DW is not set 1098 | # CONFIG_SERIAL_8250_RT288X is not set 1099 | CONFIG_SERIAL_8250_LPSS=y 1100 | CONFIG_SERIAL_8250_MID=y 1101 | 1102 | # 1103 | # Non-8250 serial port support 1104 | # 1105 | # CONFIG_SERIAL_UARTLITE is not set 1106 | CONFIG_SERIAL_CORE=y 1107 | CONFIG_SERIAL_CORE_CONSOLE=y 1108 | # CONFIG_SERIAL_JSM is not set 1109 | # CONFIG_SERIAL_LANTIQ is not set 1110 | # CONFIG_SERIAL_SCCNXP is not set 1111 | # CONFIG_SERIAL_BCM63XX is not set 1112 | # CONFIG_SERIAL_ALTERA_JTAGUART is not set 1113 | # CONFIG_SERIAL_ALTERA_UART is not set 1114 | # CONFIG_SERIAL_ARC is not set 1115 | # CONFIG_SERIAL_RP2 is not set 1116 | # CONFIG_SERIAL_FSL_LPUART is not set 1117 | # CONFIG_SERIAL_FSL_LINFLEXUART is not set 1118 | # CONFIG_SERIAL_SPRD is not set 1119 | # end of Serial drivers 1120 | 1121 | # CONFIG_SERIAL_NONSTANDARD is not set 1122 | # CONFIG_NOZOMI is not set 1123 | # CONFIG_NULL_TTY is not set 1124 | # CONFIG_TRACE_SINK is not set 1125 | # CONFIG_SERIAL_DEV_BUS is not set 1126 | # CONFIG_TTY_PRINTK is not set 1127 | # CONFIG_VIRTIO_CONSOLE is not set 1128 | # CONFIG_IPMI_HANDLER is not set 1129 | # CONFIG_HW_RANDOM is not set 1130 | # CONFIG_APPLICOM is not set 1131 | # CONFIG_MWAVE is not set 1132 | # CONFIG_DEVMEM is not set 1133 | # CONFIG_DEVKMEM is not set 1134 | # CONFIG_NVRAM is not set 1135 | # CONFIG_RAW_DRIVER is not set 1136 | CONFIG_DEVPORT=y 1137 | # CONFIG_HPET is not set 1138 | # CONFIG_HANGCHECK_TIMER is not set 1139 | # CONFIG_TCG_TPM is not set 1140 | # CONFIG_TELCLOCK is not set 1141 | # CONFIG_XILLYBUS is not set 1142 | # end of Character devices 1143 | 1144 | # CONFIG_RANDOM_TRUST_BOOTLOADER is not set 1145 | 1146 | # 1147 | # I2C support 1148 | # 1149 | # CONFIG_I2C is not set 1150 | # end of I2C support 1151 | 1152 | # CONFIG_I3C is not set 1153 | # CONFIG_SPI is not set 1154 | # CONFIG_SPMI is not set 1155 | # CONFIG_HSI is not set 1156 | # CONFIG_PPS is not set 1157 | 1158 | # 1159 | # PTP clock support 1160 | # 1161 | 1162 | # 1163 | # Enable PHYLIB and NETWORK_PHY_TIMESTAMPING to see the additional clocks. 1164 | # 1165 | # end of PTP clock support 1166 | 1167 | # CONFIG_PINCTRL is not set 1168 | # CONFIG_GPIOLIB is not set 1169 | # CONFIG_W1 is not set 1170 | # CONFIG_POWER_RESET is not set 1171 | CONFIG_POWER_SUPPLY=y 1172 | # CONFIG_POWER_SUPPLY_DEBUG is not set 1173 | # CONFIG_PDA_POWER is not set 1174 | # CONFIG_TEST_POWER is not set 1175 | # CONFIG_BATTERY_DS2780 is not set 1176 | # CONFIG_BATTERY_DS2781 is not set 1177 | # CONFIG_BATTERY_BQ27XXX is not set 1178 | # CONFIG_CHARGER_MAX8903 is not set 1179 | # CONFIG_HWMON is not set 1180 | CONFIG_THERMAL=y 1181 | # CONFIG_THERMAL_STATISTICS is not set 1182 | CONFIG_THERMAL_EMERGENCY_POWEROFF_DELAY_MS=0 1183 | # CONFIG_THERMAL_WRITABLE_TRIPS is not set 1184 | CONFIG_THERMAL_DEFAULT_GOV_STEP_WISE=y 1185 | # CONFIG_THERMAL_DEFAULT_GOV_FAIR_SHARE is not set 1186 | # CONFIG_THERMAL_DEFAULT_GOV_USER_SPACE is not set 1187 | # CONFIG_THERMAL_GOV_FAIR_SHARE is not set 1188 | CONFIG_THERMAL_GOV_STEP_WISE=y 1189 | # CONFIG_THERMAL_GOV_BANG_BANG is not set 1190 | # CONFIG_THERMAL_GOV_USER_SPACE is not set 1191 | # CONFIG_THERMAL_EMULATION is not set 1192 | 1193 | # 1194 | # Intel thermal drivers 1195 | # 1196 | # CONFIG_INTEL_POWERCLAMP is not set 1197 | # CONFIG_INTEL_SOC_DTS_THERMAL is not set 1198 | 1199 | # 1200 | # ACPI INT340X thermal drivers 1201 | # 1202 | # CONFIG_INT340X_THERMAL is not set 1203 | # end of ACPI INT340X thermal drivers 1204 | 1205 | # CONFIG_INTEL_PCH_THERMAL is not set 1206 | # end of Intel thermal drivers 1207 | 1208 | # CONFIG_WATCHDOG is not set 1209 | CONFIG_SSB_POSSIBLE=y 1210 | # CONFIG_SSB is not set 1211 | CONFIG_BCMA_POSSIBLE=y 1212 | # CONFIG_BCMA is not set 1213 | 1214 | # 1215 | # Multifunction device drivers 1216 | # 1217 | # CONFIG_MFD_MADERA is not set 1218 | # CONFIG_HTC_PASIC3 is not set 1219 | # CONFIG_MFD_INTEL_QUARK_I2C_GPIO is not set 1220 | # CONFIG_LPC_ICH is not set 1221 | # CONFIG_LPC_SCH is not set 1222 | # CONFIG_MFD_INTEL_LPSS_ACPI is not set 1223 | # CONFIG_MFD_INTEL_LPSS_PCI is not set 1224 | # CONFIG_MFD_INTEL_PMT is not set 1225 | # CONFIG_MFD_JANZ_CMODIO is not set 1226 | # CONFIG_MFD_KEMPLD is not set 1227 | # CONFIG_MFD_MT6397 is not set 1228 | # CONFIG_MFD_RDC321X is not set 1229 | # CONFIG_MFD_SM501 is not set 1230 | # CONFIG_ABX500_CORE is not set 1231 | # CONFIG_MFD_SYSCON is not set 1232 | # CONFIG_MFD_TI_AM335X_TSCADC is not set 1233 | # CONFIG_MFD_TQMX86 is not set 1234 | # CONFIG_MFD_VX855 is not set 1235 | # end of Multifunction device drivers 1236 | 1237 | # CONFIG_REGULATOR is not set 1238 | # CONFIG_RC_CORE is not set 1239 | # CONFIG_MEDIA_CEC_SUPPORT is not set 1240 | # CONFIG_MEDIA_SUPPORT is not set 1241 | 1242 | # 1243 | # Graphics support 1244 | # 1245 | # CONFIG_AGP is not set 1246 | CONFIG_VGA_ARB=y 1247 | CONFIG_VGA_ARB_MAX_GPUS=16 1248 | # CONFIG_VGA_SWITCHEROO is not set 1249 | # CONFIG_DRM is not set 1250 | 1251 | # 1252 | # ARM devices 1253 | # 1254 | # end of ARM devices 1255 | 1256 | # 1257 | # Frame buffer Devices 1258 | # 1259 | # CONFIG_FB is not set 1260 | # end of Frame buffer Devices 1261 | 1262 | # 1263 | # Backlight & LCD device support 1264 | # 1265 | # CONFIG_LCD_CLASS_DEVICE is not set 1266 | # CONFIG_BACKLIGHT_CLASS_DEVICE is not set 1267 | # end of Backlight & LCD device support 1268 | 1269 | # 1270 | # Console display driver support 1271 | # 1272 | CONFIG_VGA_CONSOLE=y 1273 | CONFIG_DUMMY_CONSOLE=y 1274 | CONFIG_DUMMY_CONSOLE_COLUMNS=80 1275 | CONFIG_DUMMY_CONSOLE_ROWS=25 1276 | # end of Console display driver support 1277 | # end of Graphics support 1278 | 1279 | # CONFIG_SOUND is not set 1280 | 1281 | # 1282 | # HID support 1283 | # 1284 | CONFIG_HID=y 1285 | # CONFIG_HID_BATTERY_STRENGTH is not set 1286 | # CONFIG_HIDRAW is not set 1287 | # CONFIG_UHID is not set 1288 | CONFIG_HID_GENERIC=y 1289 | 1290 | # 1291 | # Special HID drivers 1292 | # 1293 | # CONFIG_HID_A4TECH is not set 1294 | # CONFIG_HID_ACRUX is not set 1295 | # CONFIG_HID_APPLE is not set 1296 | # CONFIG_HID_AUREAL is not set 1297 | # CONFIG_HID_BELKIN is not set 1298 | # CONFIG_HID_CHERRY is not set 1299 | # CONFIG_HID_CHICONY is not set 1300 | # CONFIG_HID_COUGAR is not set 1301 | # CONFIG_HID_MACALLY is not set 1302 | # CONFIG_HID_CMEDIA is not set 1303 | # CONFIG_HID_CYPRESS is not set 1304 | # CONFIG_HID_DRAGONRISE is not set 1305 | # CONFIG_HID_EMS_FF is not set 1306 | # CONFIG_HID_ELECOM is not set 1307 | # CONFIG_HID_EZKEY is not set 1308 | # CONFIG_HID_GEMBIRD is not set 1309 | # CONFIG_HID_GFRM is not set 1310 | # CONFIG_HID_GLORIOUS is not set 1311 | # CONFIG_HID_VIVALDI is not set 1312 | # CONFIG_HID_KEYTOUCH is not set 1313 | # CONFIG_HID_KYE is not set 1314 | # CONFIG_HID_WALTOP is not set 1315 | # CONFIG_HID_VIEWSONIC is not set 1316 | # CONFIG_HID_GYRATION is not set 1317 | # CONFIG_HID_ICADE is not set 1318 | # CONFIG_HID_ITE is not set 1319 | # CONFIG_HID_JABRA is not set 1320 | # CONFIG_HID_TWINHAN is not set 1321 | # CONFIG_HID_KENSINGTON is not set 1322 | # CONFIG_HID_LCPOWER is not set 1323 | # CONFIG_HID_LENOVO is not set 1324 | # CONFIG_HID_MAGICMOUSE is not set 1325 | # CONFIG_HID_MALTRON is not set 1326 | # CONFIG_HID_MAYFLASH is not set 1327 | # CONFIG_HID_REDRAGON is not set 1328 | # CONFIG_HID_MICROSOFT is not set 1329 | # CONFIG_HID_MONTEREY is not set 1330 | # CONFIG_HID_MULTITOUCH is not set 1331 | # CONFIG_HID_NTI is not set 1332 | # CONFIG_HID_ORTEK is not set 1333 | # CONFIG_HID_PANTHERLORD is not set 1334 | # CONFIG_HID_PETALYNX is not set 1335 | # CONFIG_HID_PICOLCD is not set 1336 | # CONFIG_HID_PLANTRONICS is not set 1337 | # CONFIG_HID_PRIMAX is not set 1338 | # CONFIG_HID_SAITEK is not set 1339 | # CONFIG_HID_SAMSUNG is not set 1340 | # CONFIG_HID_SPEEDLINK is not set 1341 | # CONFIG_HID_STEAM is not set 1342 | # CONFIG_HID_STEELSERIES is not set 1343 | # CONFIG_HID_SUNPLUS is not set 1344 | # CONFIG_HID_RMI is not set 1345 | # CONFIG_HID_GREENASIA is not set 1346 | # CONFIG_HID_SMARTJOYPLUS is not set 1347 | # CONFIG_HID_TIVO is not set 1348 | # CONFIG_HID_TOPSEED is not set 1349 | # CONFIG_HID_THRUSTMASTER is not set 1350 | # CONFIG_HID_UDRAW_PS3 is not set 1351 | # CONFIG_HID_XINMO is not set 1352 | # CONFIG_HID_ZEROPLUS is not set 1353 | # CONFIG_HID_ZYDACRON is not set 1354 | # CONFIG_HID_SENSOR_HUB is not set 1355 | # CONFIG_HID_ALPS is not set 1356 | # end of Special HID drivers 1357 | 1358 | # 1359 | # Intel ISH HID support 1360 | # 1361 | # CONFIG_INTEL_ISH_HID is not set 1362 | # end of Intel ISH HID support 1363 | 1364 | # 1365 | # AMD SFH HID Support 1366 | # 1367 | # CONFIG_AMD_SFH_HID is not set 1368 | # end of AMD SFH HID Support 1369 | # end of HID support 1370 | 1371 | CONFIG_USB_OHCI_LITTLE_ENDIAN=y 1372 | # CONFIG_USB_SUPPORT is not set 1373 | CONFIG_MMC=y 1374 | CONFIG_MMC_BLOCK=y 1375 | CONFIG_MMC_BLOCK_MINORS=8 1376 | CONFIG_SDIO_UART=y 1377 | # CONFIG_MMC_TEST is not set 1378 | 1379 | # 1380 | # MMC/SD/SDIO Host Controller Drivers 1381 | # 1382 | # CONFIG_MMC_DEBUG is not set 1383 | CONFIG_MMC_SDHCI=y 1384 | CONFIG_MMC_SDHCI_IO_ACCESSORS=y 1385 | CONFIG_MMC_SDHCI_PCI=y 1386 | CONFIG_MMC_RICOH_MMC=y 1387 | # CONFIG_MMC_SDHCI_ACPI is not set 1388 | CONFIG_MMC_SDHCI_PLTFM=y 1389 | # CONFIG_MMC_SDHCI_F_SDH30 is not set 1390 | # CONFIG_MMC_WBSD is not set 1391 | # CONFIG_MMC_TIFM_SD is not set 1392 | # CONFIG_MMC_CB710 is not set 1393 | # CONFIG_MMC_VIA_SDMMC is not set 1394 | # CONFIG_MMC_USDHI6ROL0 is not set 1395 | CONFIG_MMC_CQHCI=y 1396 | # CONFIG_MMC_HSQ is not set 1397 | # CONFIG_MMC_TOSHIBA_PCI is not set 1398 | # CONFIG_MMC_MTK is not set 1399 | # CONFIG_MMC_SDHCI_XENON is not set 1400 | # CONFIG_MEMSTICK is not set 1401 | # CONFIG_NEW_LEDS is not set 1402 | # CONFIG_ACCESSIBILITY is not set 1403 | CONFIG_EDAC_ATOMIC_SCRUB=y 1404 | CONFIG_EDAC_SUPPORT=y 1405 | CONFIG_RTC_LIB=y 1406 | CONFIG_RTC_MC146818_LIB=y 1407 | # CONFIG_RTC_CLASS is not set 1408 | # CONFIG_DMADEVICES is not set 1409 | 1410 | # 1411 | # DMABUF options 1412 | # 1413 | # CONFIG_SYNC_FILE is not set 1414 | # CONFIG_DMABUF_MOVE_NOTIFY is not set 1415 | # CONFIG_DMABUF_HEAPS is not set 1416 | # end of DMABUF options 1417 | 1418 | # CONFIG_AUXDISPLAY is not set 1419 | # CONFIG_UIO is not set 1420 | # CONFIG_VIRT_DRIVERS is not set 1421 | # CONFIG_VIRTIO_MENU is not set 1422 | # CONFIG_VDPA is not set 1423 | # CONFIG_VHOST_MENU is not set 1424 | 1425 | # 1426 | # Microsoft Hyper-V guest support 1427 | # 1428 | # end of Microsoft Hyper-V guest support 1429 | 1430 | # CONFIG_GREYBUS is not set 1431 | # CONFIG_STAGING is not set 1432 | # CONFIG_X86_PLATFORM_DEVICES is not set 1433 | CONFIG_PMC_ATOM=y 1434 | # CONFIG_CHROME_PLATFORMS is not set 1435 | # CONFIG_MELLANOX_PLATFORM is not set 1436 | CONFIG_SURFACE_PLATFORMS=y 1437 | # CONFIG_SURFACE_PRO3_BUTTON is not set 1438 | CONFIG_HAVE_CLK=y 1439 | CONFIG_CLKDEV_LOOKUP=y 1440 | CONFIG_HAVE_CLK_PREPARE=y 1441 | CONFIG_COMMON_CLK=y 1442 | # CONFIG_HWSPINLOCK is not set 1443 | 1444 | # 1445 | # Clock Source drivers 1446 | # 1447 | CONFIG_CLKEVT_I8253=y 1448 | CONFIG_CLKBLD_I8253=y 1449 | # end of Clock Source drivers 1450 | 1451 | CONFIG_MAILBOX=y 1452 | CONFIG_PCC=y 1453 | # CONFIG_ALTERA_MBOX is not set 1454 | # CONFIG_IOMMU_SUPPORT is not set 1455 | 1456 | # 1457 | # Remoteproc drivers 1458 | # 1459 | # CONFIG_REMOTEPROC is not set 1460 | # end of Remoteproc drivers 1461 | 1462 | # 1463 | # Rpmsg drivers 1464 | # 1465 | # CONFIG_RPMSG_QCOM_GLINK_RPM is not set 1466 | # CONFIG_RPMSG_VIRTIO is not set 1467 | # end of Rpmsg drivers 1468 | 1469 | # CONFIG_SOUNDWIRE is not set 1470 | 1471 | # 1472 | # SOC (System On Chip) specific Drivers 1473 | # 1474 | 1475 | # 1476 | # Amlogic SoC drivers 1477 | # 1478 | # end of Amlogic SoC drivers 1479 | 1480 | # 1481 | # Broadcom SoC drivers 1482 | # 1483 | # end of Broadcom SoC drivers 1484 | 1485 | # 1486 | # NXP/Freescale QorIQ SoC drivers 1487 | # 1488 | # end of NXP/Freescale QorIQ SoC drivers 1489 | 1490 | # 1491 | # i.MX SoC drivers 1492 | # 1493 | # end of i.MX SoC drivers 1494 | 1495 | # 1496 | # Enable LiteX SoC Builder specific drivers 1497 | # 1498 | # end of Enable LiteX SoC Builder specific drivers 1499 | 1500 | # 1501 | # Qualcomm SoC drivers 1502 | # 1503 | # end of Qualcomm SoC drivers 1504 | 1505 | # CONFIG_SOC_TI is not set 1506 | 1507 | # 1508 | # Xilinx SoC drivers 1509 | # 1510 | # CONFIG_XILINX_VCU is not set 1511 | # end of Xilinx SoC drivers 1512 | # end of SOC (System On Chip) specific Drivers 1513 | 1514 | # CONFIG_PM_DEVFREQ is not set 1515 | # CONFIG_EXTCON is not set 1516 | # CONFIG_MEMORY is not set 1517 | # CONFIG_IIO is not set 1518 | # CONFIG_NTB is not set 1519 | # CONFIG_VME_BUS is not set 1520 | # CONFIG_PWM is not set 1521 | 1522 | # 1523 | # IRQ chip support 1524 | # 1525 | # end of IRQ chip support 1526 | 1527 | # CONFIG_IPACK_BUS is not set 1528 | # CONFIG_RESET_CONTROLLER is not set 1529 | 1530 | # 1531 | # PHY Subsystem 1532 | # 1533 | # CONFIG_GENERIC_PHY is not set 1534 | # CONFIG_BCM_KONA_USB2_PHY is not set 1535 | # CONFIG_PHY_PXA_28NM_HSIC is not set 1536 | # CONFIG_PHY_PXA_28NM_USB2 is not set 1537 | # CONFIG_PHY_INTEL_LGM_EMMC is not set 1538 | # end of PHY Subsystem 1539 | 1540 | # CONFIG_POWERCAP is not set 1541 | # CONFIG_MCB is not set 1542 | 1543 | # 1544 | # Performance monitor support 1545 | # 1546 | # end of Performance monitor support 1547 | 1548 | # CONFIG_RAS is not set 1549 | # CONFIG_USB4 is not set 1550 | 1551 | # 1552 | # Android 1553 | # 1554 | # CONFIG_ANDROID is not set 1555 | # end of Android 1556 | 1557 | # CONFIG_LIBNVDIMM is not set 1558 | # CONFIG_DAX is not set 1559 | # CONFIG_NVMEM is not set 1560 | 1561 | # 1562 | # HW tracing support 1563 | # 1564 | # CONFIG_STM is not set 1565 | # CONFIG_INTEL_TH is not set 1566 | # end of HW tracing support 1567 | 1568 | # CONFIG_FPGA is not set 1569 | # CONFIG_TEE is not set 1570 | # CONFIG_UNISYS_VISORBUS is not set 1571 | # CONFIG_SIOX is not set 1572 | # CONFIG_SLIMBUS is not set 1573 | # CONFIG_INTERCONNECT is not set 1574 | # CONFIG_COUNTER is not set 1575 | # CONFIG_MOST is not set 1576 | # end of Device Drivers 1577 | 1578 | # 1579 | # File systems 1580 | # 1581 | CONFIG_DCACHE_WORD_ACCESS=y 1582 | # CONFIG_VALIDATE_FS_PARSER is not set 1583 | CONFIG_FS_IOMAP=y 1584 | # CONFIG_EXT2_FS is not set 1585 | # CONFIG_EXT3_FS is not set 1586 | CONFIG_EXT4_FS=y 1587 | CONFIG_EXT4_USE_FOR_EXT2=y 1588 | # CONFIG_EXT4_FS_POSIX_ACL is not set 1589 | # CONFIG_EXT4_FS_SECURITY is not set 1590 | # CONFIG_EXT4_DEBUG is not set 1591 | CONFIG_JBD2=y 1592 | # CONFIG_JBD2_DEBUG is not set 1593 | CONFIG_FS_MBCACHE=y 1594 | # CONFIG_REISERFS_FS is not set 1595 | # CONFIG_JFS_FS is not set 1596 | # CONFIG_XFS_FS is not set 1597 | # CONFIG_GFS2_FS is not set 1598 | # CONFIG_BTRFS_FS is not set 1599 | # CONFIG_NILFS2_FS is not set 1600 | # CONFIG_F2FS_FS is not set 1601 | # CONFIG_FS_DAX is not set 1602 | # CONFIG_EXPORTFS_BLOCK_OPS is not set 1603 | # CONFIG_FILE_LOCKING is not set 1604 | # CONFIG_FS_ENCRYPTION is not set 1605 | # CONFIG_FS_VERITY is not set 1606 | # CONFIG_DNOTIFY is not set 1607 | # CONFIG_INOTIFY_USER is not set 1608 | # CONFIG_FANOTIFY is not set 1609 | # CONFIG_QUOTA is not set 1610 | # CONFIG_AUTOFS4_FS is not set 1611 | # CONFIG_AUTOFS_FS is not set 1612 | # CONFIG_FUSE_FS is not set 1613 | # CONFIG_OVERLAY_FS is not set 1614 | 1615 | # 1616 | # Caches 1617 | # 1618 | # CONFIG_FSCACHE is not set 1619 | # end of Caches 1620 | 1621 | # 1622 | # CD-ROM/DVD Filesystems 1623 | # 1624 | # CONFIG_ISO9660_FS is not set 1625 | # CONFIG_UDF_FS is not set 1626 | # end of CD-ROM/DVD Filesystems 1627 | 1628 | # 1629 | # DOS/FAT/EXFAT/NT Filesystems 1630 | # 1631 | # CONFIG_MSDOS_FS is not set 1632 | # CONFIG_VFAT_FS is not set 1633 | # CONFIG_EXFAT_FS is not set 1634 | # CONFIG_NTFS_FS is not set 1635 | # end of DOS/FAT/EXFAT/NT Filesystems 1636 | 1637 | # 1638 | # Pseudo filesystems 1639 | # 1640 | CONFIG_PROC_FS=y 1641 | # CONFIG_PROC_KCORE is not set 1642 | CONFIG_PROC_SYSCTL=y 1643 | CONFIG_PROC_PAGE_MONITOR=y 1644 | # CONFIG_PROC_CHILDREN is not set 1645 | CONFIG_PROC_PID_ARCH_STATUS=y 1646 | CONFIG_KERNFS=y 1647 | CONFIG_SYSFS=y 1648 | CONFIG_HUGETLBFS=y 1649 | CONFIG_HUGETLB_PAGE=y 1650 | CONFIG_MEMFD_CREATE=y 1651 | CONFIG_ARCH_HAS_GIGANTIC_PAGE=y 1652 | CONFIG_CONFIGFS_FS=y 1653 | # end of Pseudo filesystems 1654 | 1655 | # CONFIG_MISC_FILESYSTEMS is not set 1656 | CONFIG_NLS=y 1657 | CONFIG_NLS_DEFAULT="iso8859-1" 1658 | # CONFIG_NLS_CODEPAGE_437 is not set 1659 | # CONFIG_NLS_CODEPAGE_737 is not set 1660 | # CONFIG_NLS_CODEPAGE_775 is not set 1661 | # CONFIG_NLS_CODEPAGE_850 is not set 1662 | # CONFIG_NLS_CODEPAGE_852 is not set 1663 | # CONFIG_NLS_CODEPAGE_855 is not set 1664 | # CONFIG_NLS_CODEPAGE_857 is not set 1665 | # CONFIG_NLS_CODEPAGE_860 is not set 1666 | # CONFIG_NLS_CODEPAGE_861 is not set 1667 | # CONFIG_NLS_CODEPAGE_862 is not set 1668 | # CONFIG_NLS_CODEPAGE_863 is not set 1669 | # CONFIG_NLS_CODEPAGE_864 is not set 1670 | # CONFIG_NLS_CODEPAGE_865 is not set 1671 | # CONFIG_NLS_CODEPAGE_866 is not set 1672 | # CONFIG_NLS_CODEPAGE_869 is not set 1673 | # CONFIG_NLS_CODEPAGE_936 is not set 1674 | # CONFIG_NLS_CODEPAGE_950 is not set 1675 | # CONFIG_NLS_CODEPAGE_932 is not set 1676 | # CONFIG_NLS_CODEPAGE_949 is not set 1677 | # CONFIG_NLS_CODEPAGE_874 is not set 1678 | # CONFIG_NLS_ISO8859_8 is not set 1679 | # CONFIG_NLS_CODEPAGE_1250 is not set 1680 | # CONFIG_NLS_CODEPAGE_1251 is not set 1681 | # CONFIG_NLS_ASCII is not set 1682 | # CONFIG_NLS_ISO8859_1 is not set 1683 | # CONFIG_NLS_ISO8859_2 is not set 1684 | # CONFIG_NLS_ISO8859_3 is not set 1685 | # CONFIG_NLS_ISO8859_4 is not set 1686 | # CONFIG_NLS_ISO8859_5 is not set 1687 | # CONFIG_NLS_ISO8859_6 is not set 1688 | # CONFIG_NLS_ISO8859_7 is not set 1689 | # CONFIG_NLS_ISO8859_9 is not set 1690 | # CONFIG_NLS_ISO8859_13 is not set 1691 | # CONFIG_NLS_ISO8859_14 is not set 1692 | # CONFIG_NLS_ISO8859_15 is not set 1693 | # CONFIG_NLS_KOI8_R is not set 1694 | # CONFIG_NLS_KOI8_U is not set 1695 | # CONFIG_NLS_MAC_ROMAN is not set 1696 | # CONFIG_NLS_MAC_CELTIC is not set 1697 | # CONFIG_NLS_MAC_CENTEURO is not set 1698 | # CONFIG_NLS_MAC_CROATIAN is not set 1699 | # CONFIG_NLS_MAC_CYRILLIC is not set 1700 | # CONFIG_NLS_MAC_GAELIC is not set 1701 | # CONFIG_NLS_MAC_GREEK is not set 1702 | # CONFIG_NLS_MAC_ICELAND is not set 1703 | # CONFIG_NLS_MAC_INUIT is not set 1704 | # CONFIG_NLS_MAC_ROMANIAN is not set 1705 | # CONFIG_NLS_MAC_TURKISH is not set 1706 | # CONFIG_NLS_UTF8 is not set 1707 | # CONFIG_UNICODE is not set 1708 | # end of File systems 1709 | 1710 | # 1711 | # Security options 1712 | # 1713 | # CONFIG_KEYS is not set 1714 | # CONFIG_SECURITY_DMESG_RESTRICT is not set 1715 | # CONFIG_SECURITYFS is not set 1716 | CONFIG_PAGE_TABLE_ISOLATION=y 1717 | CONFIG_HAVE_HARDENED_USERCOPY_ALLOCATOR=y 1718 | # CONFIG_HARDENED_USERCOPY is not set 1719 | # CONFIG_FORTIFY_SOURCE is not set 1720 | # CONFIG_STATIC_USERMODEHELPER is not set 1721 | CONFIG_DEFAULT_SECURITY_DAC=y 1722 | CONFIG_LSM="lockdown,yama,loadpin,safesetid,integrity,bpf" 1723 | 1724 | # 1725 | # Kernel hardening options 1726 | # 1727 | 1728 | # 1729 | # Memory initialization 1730 | # 1731 | CONFIG_INIT_STACK_NONE=y 1732 | # CONFIG_INIT_ON_ALLOC_DEFAULT_ON is not set 1733 | # CONFIG_INIT_ON_FREE_DEFAULT_ON is not set 1734 | # end of Memory initialization 1735 | # end of Kernel hardening options 1736 | # end of Security options 1737 | 1738 | CONFIG_CRYPTO=y 1739 | 1740 | # 1741 | # Crypto core or helper 1742 | # 1743 | CONFIG_CRYPTO_ALGAPI=y 1744 | CONFIG_CRYPTO_ALGAPI2=y 1745 | CONFIG_CRYPTO_HASH=y 1746 | CONFIG_CRYPTO_HASH2=y 1747 | # CONFIG_CRYPTO_MANAGER is not set 1748 | CONFIG_CRYPTO_MANAGER_DISABLE_TESTS=y 1749 | # CONFIG_CRYPTO_NULL is not set 1750 | # CONFIG_CRYPTO_PCRYPT is not set 1751 | # CONFIG_CRYPTO_CRYPTD is not set 1752 | # CONFIG_CRYPTO_AUTHENC is not set 1753 | # CONFIG_CRYPTO_TEST is not set 1754 | 1755 | # 1756 | # Public-key cryptography 1757 | # 1758 | # CONFIG_CRYPTO_RSA is not set 1759 | # CONFIG_CRYPTO_DH is not set 1760 | # CONFIG_CRYPTO_ECDH is not set 1761 | # CONFIG_CRYPTO_ECRDSA is not set 1762 | # CONFIG_CRYPTO_SM2 is not set 1763 | # CONFIG_CRYPTO_CURVE25519 is not set 1764 | # CONFIG_CRYPTO_CURVE25519_X86 is not set 1765 | 1766 | # 1767 | # Authenticated Encryption with Associated Data 1768 | # 1769 | # CONFIG_CRYPTO_CCM is not set 1770 | # CONFIG_CRYPTO_GCM is not set 1771 | # CONFIG_CRYPTO_CHACHA20POLY1305 is not set 1772 | # CONFIG_CRYPTO_AEGIS128 is not set 1773 | # CONFIG_CRYPTO_AEGIS128_AESNI_SSE2 is not set 1774 | # CONFIG_CRYPTO_SEQIV is not set 1775 | # CONFIG_CRYPTO_ECHAINIV is not set 1776 | 1777 | # 1778 | # Block modes 1779 | # 1780 | # CONFIG_CRYPTO_CBC is not set 1781 | # CONFIG_CRYPTO_CFB is not set 1782 | # CONFIG_CRYPTO_CTR is not set 1783 | # CONFIG_CRYPTO_CTS is not set 1784 | # CONFIG_CRYPTO_ECB is not set 1785 | # CONFIG_CRYPTO_LRW is not set 1786 | # CONFIG_CRYPTO_OFB is not set 1787 | # CONFIG_CRYPTO_PCBC is not set 1788 | # CONFIG_CRYPTO_XTS is not set 1789 | # CONFIG_CRYPTO_KEYWRAP is not set 1790 | # CONFIG_CRYPTO_NHPOLY1305_SSE2 is not set 1791 | # CONFIG_CRYPTO_NHPOLY1305_AVX2 is not set 1792 | # CONFIG_CRYPTO_ADIANTUM is not set 1793 | # CONFIG_CRYPTO_ESSIV is not set 1794 | 1795 | # 1796 | # Hash modes 1797 | # 1798 | # CONFIG_CRYPTO_CMAC is not set 1799 | # CONFIG_CRYPTO_HMAC is not set 1800 | # CONFIG_CRYPTO_XCBC is not set 1801 | # CONFIG_CRYPTO_VMAC is not set 1802 | 1803 | # 1804 | # Digest 1805 | # 1806 | CONFIG_CRYPTO_CRC32C=y 1807 | # CONFIG_CRYPTO_CRC32C_INTEL is not set 1808 | # CONFIG_CRYPTO_CRC32 is not set 1809 | # CONFIG_CRYPTO_CRC32_PCLMUL is not set 1810 | # CONFIG_CRYPTO_XXHASH is not set 1811 | # CONFIG_CRYPTO_BLAKE2B is not set 1812 | # CONFIG_CRYPTO_BLAKE2S is not set 1813 | # CONFIG_CRYPTO_BLAKE2S_X86 is not set 1814 | # CONFIG_CRYPTO_CRCT10DIF is not set 1815 | # CONFIG_CRYPTO_GHASH is not set 1816 | # CONFIG_CRYPTO_POLY1305 is not set 1817 | # CONFIG_CRYPTO_POLY1305_X86_64 is not set 1818 | # CONFIG_CRYPTO_MD4 is not set 1819 | # CONFIG_CRYPTO_MD5 is not set 1820 | # CONFIG_CRYPTO_MICHAEL_MIC is not set 1821 | # CONFIG_CRYPTO_RMD128 is not set 1822 | # CONFIG_CRYPTO_RMD160 is not set 1823 | # CONFIG_CRYPTO_RMD256 is not set 1824 | # CONFIG_CRYPTO_RMD320 is not set 1825 | # CONFIG_CRYPTO_SHA1 is not set 1826 | # CONFIG_CRYPTO_SHA1_SSSE3 is not set 1827 | # CONFIG_CRYPTO_SHA256_SSSE3 is not set 1828 | # CONFIG_CRYPTO_SHA512_SSSE3 is not set 1829 | # CONFIG_CRYPTO_SHA256 is not set 1830 | # CONFIG_CRYPTO_SHA512 is not set 1831 | # CONFIG_CRYPTO_SHA3 is not set 1832 | # CONFIG_CRYPTO_SM3 is not set 1833 | # CONFIG_CRYPTO_STREEBOG is not set 1834 | # CONFIG_CRYPTO_TGR192 is not set 1835 | # CONFIG_CRYPTO_WP512 is not set 1836 | # CONFIG_CRYPTO_GHASH_CLMUL_NI_INTEL is not set 1837 | 1838 | # 1839 | # Ciphers 1840 | # 1841 | # CONFIG_CRYPTO_AES is not set 1842 | # CONFIG_CRYPTO_AES_TI is not set 1843 | # CONFIG_CRYPTO_AES_NI_INTEL is not set 1844 | # CONFIG_CRYPTO_BLOWFISH is not set 1845 | # CONFIG_CRYPTO_BLOWFISH_X86_64 is not set 1846 | # CONFIG_CRYPTO_CAMELLIA is not set 1847 | # CONFIG_CRYPTO_CAMELLIA_X86_64 is not set 1848 | # CONFIG_CRYPTO_CAMELLIA_AESNI_AVX_X86_64 is not set 1849 | # CONFIG_CRYPTO_CAMELLIA_AESNI_AVX2_X86_64 is not set 1850 | # CONFIG_CRYPTO_CAST5 is not set 1851 | # CONFIG_CRYPTO_CAST5_AVX_X86_64 is not set 1852 | # CONFIG_CRYPTO_CAST6 is not set 1853 | # CONFIG_CRYPTO_CAST6_AVX_X86_64 is not set 1854 | # CONFIG_CRYPTO_DES is not set 1855 | # CONFIG_CRYPTO_DES3_EDE_X86_64 is not set 1856 | # CONFIG_CRYPTO_FCRYPT is not set 1857 | # CONFIG_CRYPTO_SALSA20 is not set 1858 | # CONFIG_CRYPTO_CHACHA20 is not set 1859 | # CONFIG_CRYPTO_CHACHA20_X86_64 is not set 1860 | # CONFIG_CRYPTO_SERPENT is not set 1861 | # CONFIG_CRYPTO_SERPENT_SSE2_X86_64 is not set 1862 | # CONFIG_CRYPTO_SERPENT_AVX_X86_64 is not set 1863 | # CONFIG_CRYPTO_SERPENT_AVX2_X86_64 is not set 1864 | # CONFIG_CRYPTO_SM4 is not set 1865 | # CONFIG_CRYPTO_TWOFISH is not set 1866 | # CONFIG_CRYPTO_TWOFISH_X86_64 is not set 1867 | # CONFIG_CRYPTO_TWOFISH_X86_64_3WAY is not set 1868 | # CONFIG_CRYPTO_TWOFISH_AVX_X86_64 is not set 1869 | 1870 | # 1871 | # Compression 1872 | # 1873 | # CONFIG_CRYPTO_DEFLATE is not set 1874 | # CONFIG_CRYPTO_LZO is not set 1875 | # CONFIG_CRYPTO_842 is not set 1876 | # CONFIG_CRYPTO_LZ4 is not set 1877 | # CONFIG_CRYPTO_LZ4HC is not set 1878 | # CONFIG_CRYPTO_ZSTD is not set 1879 | 1880 | # 1881 | # Random Number Generation 1882 | # 1883 | # CONFIG_CRYPTO_ANSI_CPRNG is not set 1884 | # CONFIG_CRYPTO_DRBG_MENU is not set 1885 | # CONFIG_CRYPTO_JITTERENTROPY is not set 1886 | 1887 | # 1888 | # Crypto library routines 1889 | # 1890 | # CONFIG_CRYPTO_LIB_BLAKE2S is not set 1891 | # CONFIG_CRYPTO_LIB_CHACHA is not set 1892 | # CONFIG_CRYPTO_LIB_CURVE25519 is not set 1893 | CONFIG_CRYPTO_LIB_POLY1305_RSIZE=11 1894 | # CONFIG_CRYPTO_LIB_POLY1305 is not set 1895 | # CONFIG_CRYPTO_LIB_CHACHA20POLY1305 is not set 1896 | CONFIG_CRYPTO_HW=y 1897 | # CONFIG_CRYPTO_DEV_PADLOCK is not set 1898 | # CONFIG_CRYPTO_DEV_CCP is not set 1899 | # CONFIG_CRYPTO_DEV_QAT_DH895xCC is not set 1900 | # CONFIG_CRYPTO_DEV_QAT_C3XXX is not set 1901 | # CONFIG_CRYPTO_DEV_QAT_C62X is not set 1902 | # CONFIG_CRYPTO_DEV_QAT_4XXX is not set 1903 | # CONFIG_CRYPTO_DEV_QAT_DH895xCCVF is not set 1904 | # CONFIG_CRYPTO_DEV_QAT_C3XXXVF is not set 1905 | # CONFIG_CRYPTO_DEV_QAT_C62XVF is not set 1906 | # CONFIG_CRYPTO_DEV_SAFEXCEL is not set 1907 | # CONFIG_CRYPTO_DEV_AMLOGIC_GXL is not set 1908 | 1909 | # 1910 | # Certificates for signature checking 1911 | # 1912 | # end of Certificates for signature checking 1913 | 1914 | # 1915 | # Library routines 1916 | # 1917 | # CONFIG_PACKING is not set 1918 | CONFIG_BITREVERSE=y 1919 | CONFIG_GENERIC_STRNCPY_FROM_USER=y 1920 | CONFIG_GENERIC_STRNLEN_USER=y 1921 | CONFIG_GENERIC_FIND_FIRST_BIT=y 1922 | # CONFIG_CORDIC is not set 1923 | # CONFIG_PRIME_NUMBERS is not set 1924 | CONFIG_RATIONAL=y 1925 | CONFIG_GENERIC_PCI_IOMAP=y 1926 | CONFIG_GENERIC_IOMAP=y 1927 | CONFIG_ARCH_USE_CMPXCHG_LOCKREF=y 1928 | CONFIG_ARCH_HAS_FAST_MULTIPLIER=y 1929 | CONFIG_ARCH_USE_SYM_ANNOTATIONS=y 1930 | # CONFIG_CRC_CCITT is not set 1931 | CONFIG_CRC16=y 1932 | # CONFIG_CRC_T10DIF is not set 1933 | # CONFIG_CRC_ITU_T is not set 1934 | CONFIG_CRC32=y 1935 | # CONFIG_CRC32_SELFTEST is not set 1936 | CONFIG_CRC32_SLICEBY8=y 1937 | # CONFIG_CRC32_SLICEBY4 is not set 1938 | # CONFIG_CRC32_SARWATE is not set 1939 | # CONFIG_CRC32_BIT is not set 1940 | # CONFIG_CRC64 is not set 1941 | # CONFIG_CRC4 is not set 1942 | # CONFIG_CRC7 is not set 1943 | # CONFIG_LIBCRC32C is not set 1944 | # CONFIG_CRC8 is not set 1945 | CONFIG_XXHASH=y 1946 | # CONFIG_RANDOM32_SELFTEST is not set 1947 | CONFIG_ZLIB_INFLATE=y 1948 | CONFIG_LZO_DECOMPRESS=y 1949 | CONFIG_LZ4_DECOMPRESS=y 1950 | CONFIG_ZSTD_DECOMPRESS=y 1951 | CONFIG_XZ_DEC=y 1952 | CONFIG_XZ_DEC_X86=y 1953 | CONFIG_XZ_DEC_POWERPC=y 1954 | CONFIG_XZ_DEC_IA64=y 1955 | CONFIG_XZ_DEC_ARM=y 1956 | CONFIG_XZ_DEC_ARMTHUMB=y 1957 | CONFIG_XZ_DEC_SPARC=y 1958 | CONFIG_XZ_DEC_BCJ=y 1959 | # CONFIG_XZ_DEC_TEST is not set 1960 | CONFIG_DECOMPRESS_GZIP=y 1961 | CONFIG_DECOMPRESS_BZIP2=y 1962 | CONFIG_DECOMPRESS_LZMA=y 1963 | CONFIG_DECOMPRESS_XZ=y 1964 | CONFIG_DECOMPRESS_LZO=y 1965 | CONFIG_DECOMPRESS_LZ4=y 1966 | CONFIG_DECOMPRESS_ZSTD=y 1967 | CONFIG_XARRAY_MULTI=y 1968 | CONFIG_HAS_IOMEM=y 1969 | CONFIG_HAS_IOPORT_MAP=y 1970 | CONFIG_HAS_DMA=y 1971 | CONFIG_NEED_SG_DMA_LENGTH=y 1972 | CONFIG_NEED_DMA_MAP_STATE=y 1973 | CONFIG_ARCH_DMA_ADDR_T_64BIT=y 1974 | CONFIG_SWIOTLB=y 1975 | # CONFIG_DMA_API_DEBUG is not set 1976 | # CONFIG_DMA_MAP_BENCHMARK is not set 1977 | # CONFIG_IRQ_POLL is not set 1978 | CONFIG_HAVE_GENERIC_VDSO=y 1979 | CONFIG_GENERIC_GETTIMEOFDAY=y 1980 | CONFIG_GENERIC_VDSO_TIME_NS=y 1981 | CONFIG_SG_POOL=y 1982 | CONFIG_ARCH_HAS_PMEM_API=y 1983 | CONFIG_ARCH_HAS_UACCESS_FLUSHCACHE=y 1984 | CONFIG_ARCH_HAS_COPY_MC=y 1985 | CONFIG_ARCH_STACKWALK=y 1986 | CONFIG_SBITMAP=y 1987 | # CONFIG_STRING_SELFTEST is not set 1988 | # end of Library routines 1989 | 1990 | # 1991 | # Kernel hacking 1992 | # 1993 | 1994 | # 1995 | # printk and dmesg options 1996 | # 1997 | # CONFIG_PRINTK_TIME is not set 1998 | # CONFIG_PRINTK_CALLER is not set 1999 | CONFIG_CONSOLE_LOGLEVEL_DEFAULT=7 2000 | CONFIG_CONSOLE_LOGLEVEL_QUIET=4 2001 | CONFIG_MESSAGE_LOGLEVEL_DEFAULT=4 2002 | # CONFIG_BOOT_PRINTK_DELAY is not set 2003 | # CONFIG_DYNAMIC_DEBUG is not set 2004 | # CONFIG_DYNAMIC_DEBUG_CORE is not set 2005 | # CONFIG_SYMBOLIC_ERRNAME is not set 2006 | # end of printk and dmesg options 2007 | 2008 | # 2009 | # Compile-time checks and compiler options 2010 | # 2011 | CONFIG_DEBUG_INFO=y 2012 | # CONFIG_DEBUG_INFO_REDUCED is not set 2013 | # CONFIG_DEBUG_INFO_COMPRESSED is not set 2014 | # CONFIG_DEBUG_INFO_SPLIT is not set 2015 | # CONFIG_DEBUG_INFO_DWARF4 is not set 2016 | # CONFIG_DEBUG_INFO_BTF is not set 2017 | CONFIG_GDB_SCRIPTS=y 2018 | CONFIG_FRAME_WARN=1024 2019 | CONFIG_STRIP_ASM_SYMS=y 2020 | # CONFIG_READABLE_ASM is not set 2021 | # CONFIG_HEADERS_INSTALL is not set 2022 | CONFIG_DEBUG_SECTION_MISMATCH=y 2023 | CONFIG_SECTION_MISMATCH_WARN_ONLY=y 2024 | # CONFIG_DEBUG_FORCE_FUNCTION_ALIGN_32B is not set 2025 | CONFIG_FRAME_POINTER=y 2026 | CONFIG_STACK_VALIDATION=y 2027 | # CONFIG_DEBUG_FORCE_WEAK_PER_CPU is not set 2028 | # end of Compile-time checks and compiler options 2029 | 2030 | # 2031 | # Generic Kernel Debugging Instruments 2032 | # 2033 | # CONFIG_MAGIC_SYSRQ is not set 2034 | CONFIG_DEBUG_FS=y 2035 | CONFIG_DEBUG_FS_ALLOW_ALL=y 2036 | # CONFIG_DEBUG_FS_DISALLOW_MOUNT is not set 2037 | # CONFIG_DEBUG_FS_ALLOW_NONE is not set 2038 | CONFIG_HAVE_ARCH_KGDB=y 2039 | # CONFIG_KGDB is not set 2040 | CONFIG_ARCH_HAS_UBSAN_SANITIZE_ALL=y 2041 | # CONFIG_UBSAN is not set 2042 | CONFIG_HAVE_ARCH_KCSAN=y 2043 | # end of Generic Kernel Debugging Instruments 2044 | 2045 | CONFIG_DEBUG_KERNEL=y 2046 | CONFIG_DEBUG_MISC=y 2047 | 2048 | # 2049 | # Memory Debugging 2050 | # 2051 | # CONFIG_PAGE_EXTENSION is not set 2052 | # CONFIG_DEBUG_PAGEALLOC is not set 2053 | # CONFIG_PAGE_OWNER is not set 2054 | # CONFIG_PAGE_POISONING is not set 2055 | # CONFIG_DEBUG_RODATA_TEST is not set 2056 | CONFIG_ARCH_HAS_DEBUG_WX=y 2057 | # CONFIG_DEBUG_WX is not set 2058 | CONFIG_GENERIC_PTDUMP=y 2059 | # CONFIG_PTDUMP_DEBUGFS is not set 2060 | # CONFIG_DEBUG_OBJECTS is not set 2061 | # CONFIG_SLUB_DEBUG_ON is not set 2062 | # CONFIG_SLUB_STATS is not set 2063 | CONFIG_HAVE_DEBUG_KMEMLEAK=y 2064 | # CONFIG_DEBUG_KMEMLEAK is not set 2065 | # CONFIG_DEBUG_STACK_USAGE is not set 2066 | # CONFIG_SCHED_STACK_END_CHECK is not set 2067 | CONFIG_ARCH_HAS_DEBUG_VM_PGTABLE=y 2068 | # CONFIG_DEBUG_VM is not set 2069 | # CONFIG_DEBUG_VM_PGTABLE is not set 2070 | CONFIG_ARCH_HAS_DEBUG_VIRTUAL=y 2071 | # CONFIG_DEBUG_VIRTUAL is not set 2072 | # CONFIG_DEBUG_MEMORY_INIT is not set 2073 | # CONFIG_DEBUG_PER_CPU_MAPS is not set 2074 | CONFIG_ARCH_SUPPORTS_KMAP_LOCAL_FORCE_MAP=y 2075 | # CONFIG_DEBUG_KMAP_LOCAL_FORCE_MAP is not set 2076 | CONFIG_HAVE_ARCH_KASAN=y 2077 | CONFIG_HAVE_ARCH_KASAN_VMALLOC=y 2078 | CONFIG_CC_HAS_KASAN_GENERIC=y 2079 | CONFIG_CC_HAS_WORKING_NOSANITIZE_ADDRESS=y 2080 | # CONFIG_KASAN is not set 2081 | # end of Memory Debugging 2082 | 2083 | # CONFIG_DEBUG_SHIRQ is not set 2084 | 2085 | # 2086 | # Debug Oops, Lockups and Hangs 2087 | # 2088 | # CONFIG_PANIC_ON_OOPS is not set 2089 | CONFIG_PANIC_ON_OOPS_VALUE=0 2090 | CONFIG_PANIC_TIMEOUT=0 2091 | # CONFIG_SOFTLOCKUP_DETECTOR is not set 2092 | CONFIG_HARDLOCKUP_CHECK_TIMESTAMP=y 2093 | # CONFIG_HARDLOCKUP_DETECTOR is not set 2094 | # CONFIG_DETECT_HUNG_TASK is not set 2095 | # CONFIG_WQ_WATCHDOG is not set 2096 | # CONFIG_TEST_LOCKUP is not set 2097 | # end of Debug Oops, Lockups and Hangs 2098 | 2099 | # 2100 | # Scheduler Debugging 2101 | # 2102 | CONFIG_SCHED_DEBUG=y 2103 | # CONFIG_SCHEDSTATS is not set 2104 | # end of Scheduler Debugging 2105 | 2106 | # CONFIG_DEBUG_TIMEKEEPING is not set 2107 | 2108 | # 2109 | # Lock Debugging (spinlocks, mutexes, etc...) 2110 | # 2111 | CONFIG_LOCK_DEBUGGING_SUPPORT=y 2112 | # CONFIG_PROVE_LOCKING is not set 2113 | # CONFIG_LOCK_STAT is not set 2114 | # CONFIG_DEBUG_SPINLOCK is not set 2115 | # CONFIG_DEBUG_MUTEXES is not set 2116 | # CONFIG_DEBUG_WW_MUTEX_SLOWPATH is not set 2117 | # CONFIG_DEBUG_RWSEMS is not set 2118 | # CONFIG_DEBUG_LOCK_ALLOC is not set 2119 | # CONFIG_DEBUG_ATOMIC_SLEEP is not set 2120 | # CONFIG_DEBUG_LOCKING_API_SELFTESTS is not set 2121 | # CONFIG_LOCK_TORTURE_TEST is not set 2122 | # CONFIG_WW_MUTEX_SELFTEST is not set 2123 | # CONFIG_SCF_TORTURE_TEST is not set 2124 | # CONFIG_CSD_LOCK_WAIT_DEBUG is not set 2125 | # end of Lock Debugging (spinlocks, mutexes, etc...) 2126 | 2127 | # CONFIG_STACKTRACE is not set 2128 | # CONFIG_WARN_ALL_UNSEEDED_RANDOM is not set 2129 | # CONFIG_DEBUG_KOBJECT is not set 2130 | 2131 | # 2132 | # Debug kernel data structures 2133 | # 2134 | # CONFIG_DEBUG_LIST is not set 2135 | # CONFIG_DEBUG_PLIST is not set 2136 | # CONFIG_DEBUG_SG is not set 2137 | # CONFIG_DEBUG_NOTIFIERS is not set 2138 | # CONFIG_BUG_ON_DATA_CORRUPTION is not set 2139 | # end of Debug kernel data structures 2140 | 2141 | # CONFIG_DEBUG_CREDENTIALS is not set 2142 | 2143 | # 2144 | # RCU Debugging 2145 | # 2146 | # CONFIG_RCU_SCALE_TEST is not set 2147 | # CONFIG_RCU_TORTURE_TEST is not set 2148 | # CONFIG_RCU_REF_SCALE_TEST is not set 2149 | CONFIG_RCU_CPU_STALL_TIMEOUT=21 2150 | # CONFIG_RCU_TRACE is not set 2151 | # CONFIG_RCU_EQS_DEBUG is not set 2152 | # end of RCU Debugging 2153 | 2154 | # CONFIG_DEBUG_WQ_FORCE_RR_CPU is not set 2155 | # CONFIG_DEBUG_BLOCK_EXT_DEVT is not set 2156 | # CONFIG_CPU_HOTPLUG_STATE_CONTROL is not set 2157 | # CONFIG_LATENCYTOP is not set 2158 | CONFIG_USER_STACKTRACE_SUPPORT=y 2159 | CONFIG_HAVE_FUNCTION_TRACER=y 2160 | CONFIG_HAVE_FUNCTION_GRAPH_TRACER=y 2161 | CONFIG_HAVE_DYNAMIC_FTRACE=y 2162 | CONFIG_HAVE_DYNAMIC_FTRACE_WITH_REGS=y 2163 | CONFIG_HAVE_DYNAMIC_FTRACE_WITH_DIRECT_CALLS=y 2164 | CONFIG_HAVE_DYNAMIC_FTRACE_WITH_ARGS=y 2165 | CONFIG_HAVE_FTRACE_MCOUNT_RECORD=y 2166 | CONFIG_HAVE_SYSCALL_TRACEPOINTS=y 2167 | CONFIG_HAVE_FENTRY=y 2168 | CONFIG_HAVE_C_RECORDMCOUNT=y 2169 | CONFIG_TRACING_SUPPORT=y 2170 | # CONFIG_FTRACE is not set 2171 | # CONFIG_PROVIDE_OHCI1394_DMA_INIT is not set 2172 | # CONFIG_SAMPLES is not set 2173 | CONFIG_ARCH_HAS_DEVMEM_IS_ALLOWED=y 2174 | 2175 | # 2176 | # x86 Debugging 2177 | # 2178 | CONFIG_TRACE_IRQFLAGS_SUPPORT=y 2179 | CONFIG_TRACE_IRQFLAGS_NMI_SUPPORT=y 2180 | # CONFIG_X86_VERBOSE_BOOTUP is not set 2181 | CONFIG_EARLY_PRINTK=y 2182 | # CONFIG_EARLY_PRINTK_DBGP is not set 2183 | # CONFIG_EARLY_PRINTK_USB_XDBC is not set 2184 | # CONFIG_DEBUG_TLBFLUSH is not set 2185 | CONFIG_HAVE_MMIOTRACE_SUPPORT=y 2186 | # CONFIG_X86_DECODER_SELFTEST is not set 2187 | CONFIG_IO_DELAY_0X80=y 2188 | # CONFIG_IO_DELAY_0XED is not set 2189 | # CONFIG_IO_DELAY_UDELAY is not set 2190 | # CONFIG_IO_DELAY_NONE is not set 2191 | # CONFIG_DEBUG_BOOT_PARAMS is not set 2192 | # CONFIG_CPA_DEBUG is not set 2193 | # CONFIG_DEBUG_ENTRY is not set 2194 | # CONFIG_DEBUG_NMI_SELFTEST is not set 2195 | # CONFIG_X86_DEBUG_FPU is not set 2196 | # CONFIG_PUNIT_ATOM_DEBUG is not set 2197 | # CONFIG_UNWINDER_ORC is not set 2198 | CONFIG_UNWINDER_FRAME_POINTER=y 2199 | # CONFIG_UNWINDER_GUESS is not set 2200 | # end of x86 Debugging 2201 | 2202 | # 2203 | # Kernel Testing and Coverage 2204 | # 2205 | # CONFIG_KUNIT is not set 2206 | # CONFIG_NOTIFIER_ERROR_INJECTION is not set 2207 | # CONFIG_FAULT_INJECTION is not set 2208 | CONFIG_ARCH_HAS_KCOV=y 2209 | CONFIG_CC_HAS_SANCOV_TRACE_PC=y 2210 | # CONFIG_KCOV is not set 2211 | # CONFIG_RUNTIME_TESTING_MENU is not set 2212 | # CONFIG_MEMTEST is not set 2213 | # end of Kernel Testing and Coverage 2214 | # end of Kernel hacking 2215 | -------------------------------------------------------------------------------- /gdb-files/gdb-init-real-mode.txt: -------------------------------------------------------------------------------- 1 | # Special mode for GDB that allows to debug/disassemble REAL MODE x86 code 2 | # 3 | # It has been designed to be used with QEMU or BOCHS gdb-stub 4 | # 5 | # 08/2011 Hugo Mercier - GPL v3 license 6 | # 7 | # Freely inspired from "A user-friendly gdb configuration file" widely available 8 | # on the Internet 9 | # 10 | # [Feb 23, 2021 Adrian Huang] 11 | # Rewrite the script to dynamically support both real mode and protected 12 | # mode of Linux kernel. This script is verified with QEMU + linux-5.11 13 | # kernel. 14 | 15 | set confirm off 16 | set verbose off 17 | 18 | set output-radix 0d10 19 | set input-radix 0d10 20 | 21 | # These make gdb never pause in its output 22 | set height 0 23 | set width 0 24 | 25 | # AT&T syntax 26 | set disassembly-flavor att 27 | # Real mode 28 | #set architecture i8086 29 | 30 | set $SHOW_CONTEXT = 1 31 | 32 | set $REAL_MODE = 1 33 | 34 | # By default A20 is present 35 | set $ADDRESS_MASK = 0x1FFFFF 36 | 37 | # nb of instructions to display 38 | set $CODE_SIZE = 10 39 | 40 | 41 | define enable-a20 42 | set $ADDRESS_MASK = 0x1FFFFF 43 | end 44 | define disable-a20 45 | set $ADDRESS_MASK = 0x0FFFFF 46 | end 47 | 48 | # convert segment:offset address to physical address 49 | define r2p 50 | if $argc < 2 51 | printf "Arguments: segment offset\n" 52 | else 53 | set $ADDR = (((unsigned long)$arg0 & 0xFFFF) << 4) + (((unsigned long)$arg1 & 0xFFFF) & $ADDRESS_MASK) 54 | printf "0x%05X\n", $ADDR 55 | end 56 | end 57 | document r2p 58 | Convert segment:offset address to physical address 59 | Set the global variable $ADDR to the computed one 60 | end 61 | 62 | # get address of Interruption 63 | define int_addr 64 | if $argc < 1 65 | printf "Argument: interruption_number\n" 66 | else 67 | set $offset = (unsigned short)*($arg0 * 4) 68 | set $segment = (unsigned short)*($arg0 * 4 + 2) 69 | r2p $segment $offset 70 | printf "%04X:%04X\n", $segment, $offset 71 | end 72 | end 73 | document int_addr 74 | Get address of interruption 75 | end 76 | 77 | define compute_regs 78 | # [real mode] PE (Protected Mode Enable) bit of CR0 79 | if ($cr0 & 0x1) == 0 80 | set $r_rax = ((unsigned long)$eax & 0xFFFF) 81 | set $r_rbx = ((unsigned long)$ebx & 0xFFFF) 82 | set $r_rcx = ((unsigned long)$ecx & 0xFFFF) 83 | set $r_rdx = ((unsigned long)$edx & 0xFFFF) 84 | set $r_rsi = ((unsigned long)$esi & 0xFFFF) 85 | set $r_rdi = ((unsigned long)$edi & 0xFFFF) 86 | set $r_rbp = ((unsigned long)$ebp & 0xFFFF) 87 | set $r_rsp = ((unsigned long)$esp & 0xFFFF) 88 | set $r_rcs = ((unsigned long)$cs & 0xFFFF) 89 | set $r_rds = ((unsigned long)$ds & 0xFFFF) 90 | set $r_res = ((unsigned long)$es & 0xFFFF) 91 | set $r_rss = ((unsigned long)$ss & 0xFFFF) 92 | set $r_rip = ((((unsigned long)$cs & 0xFFFF) << 4) + ((unsigned long)$rip & 0xFFFF)) & $ADDRESS_MASK 93 | set $r_ss_sp = ((((unsigned long)$ss & 0xFFFF) << 4) + ((unsigned long)$esp & 0xFFFF)) & $ADDRESS_MASK 94 | set $r_ss_bp = ((((unsigned long)$ss & 0xFFFF) << 4) + ((unsigned long)$ebp & 0xFFFF)) & $ADDRESS_MASK 95 | else 96 | set $r_rip = $rip 97 | set $r_ss_sp = $esp 98 | end 99 | end 100 | 101 | define print_regs 102 | # [real mode] PE (Protected Mode Enable) bit of CR0 103 | if ($cr0 & 0x1) == 0 104 | printf "AX: %04X BX: %04X ", $r_rax, $r_rbx 105 | printf "CX: %04X DX: %04X\n", $r_rcx, $r_rdx 106 | printf "SI: %04X DI: %04X ", $r_rsi, $r_rdi 107 | printf "SP: %04X BP: %04X\n", $r_rsp, $r_rbp 108 | printf "CS: %04X DS: %04X ", $r_rcs, $r_rds 109 | printf "ES: %04X SS: %04X\n", $r_res, $r_rss 110 | printf "\n" 111 | printf "IP: %04X RIP:%08X\n", ((unsigned short)$rip & 0xFFFF), $rip 112 | printf "CS:IP: %04X:%04X (0x%05X)\n", $r_rcs, ((unsigned short)$rip & 0xFFFF), $r_rip 113 | printf "SS:SP: %04X:%04X (0x%05X)\n", $r_rss, $r_rsp, $r_ss_sp 114 | printf "SS:BP: %04X:%04X (0x%05X)\n", $r_rss, $r_rbp, $r_ss_bp 115 | else 116 | info registers rax rbx rcx rdx rsi rdi rbp rsp rip eflags cs ss ds es fs gs 117 | end 118 | end 119 | document print_regs 120 | Print CPU registers 121 | end 122 | 123 | define print_eflags 124 | printf "OF <%d> DF <%d> IF <%d> TF <%d>",\ 125 | (($eflags >> 0xB) & 1), (($eflags >> 0xA) & 1), \ 126 | (($eflags >> 9) & 1), (($eflags >> 8) & 1) 127 | printf " SF <%d> ZF <%d> AF <%d> PF <%d> CF <%d>\n",\ 128 | (($eflags >> 7) & 1), (($eflags >> 6) & 1),\ 129 | (($eflags >> 4) & 1), (($eflags >> 2) & 1), ($eflags & 1) 130 | printf "ID <%d> VIP <%d> VIF <%d> AC <%d>",\ 131 | (($eflags >> 0x15) & 1), (($eflags >> 0x14) & 1), \ 132 | (($eflags >> 0x13) & 1), (($eflags >> 0x12) & 1) 133 | printf " VM <%d> RF <%d> NT <%d> IOPL <%d>\n",\ 134 | (($eflags >> 0x11) & 1), (($eflags >> 0x10) & 1),\ 135 | (($eflags >> 0xE) & 1), (($eflags >> 0xC) & 3) 136 | end 137 | document print_eflags 138 | Print eflags register. 139 | end 140 | 141 | # dump content of bytes in memory 142 | # arg0 : addr 143 | # arg1 : nb of bytes 144 | define _dump_memb 145 | if $argc < 2 146 | printf "Arguments: address number_of_bytes\n" 147 | else 148 | set $_nb = $arg1 149 | set $_i = 0 150 | set $_addr = $arg0 151 | while ($_i < $_nb) 152 | printf "%02X ", *((unsigned char*)$_addr + $_i) 153 | set $_i++ 154 | end 155 | end 156 | end 157 | 158 | # dump content of memory in words 159 | # arg0 : addr 160 | # arg1 : nb of words 161 | define _dump_memw 162 | if $argc < 2 163 | printf "Arguments: address number_of_words\n" 164 | else 165 | set $_nb = $arg1 166 | set $_i = 0 167 | set $_addr = $arg0 168 | while ($_i < $_nb) 169 | printf "%04X ", *((unsigned short*)$_addr + $_i) 170 | set $_i++ 171 | end 172 | end 173 | end 174 | 175 | # display data at given address 176 | define print_data 177 | if ($argc > 0) 178 | set $maddr = ($arg0 << 4) + $arg1 179 | 180 | set $w = 16 181 | set $i = (int)0 182 | while ($i < 4) 183 | printf "%08X: ", ($maddr + $i * $w) 184 | set $j = (int)0 185 | while ($j < $w) 186 | printf "%02X ", *(unsigned char*)($maddr + $i * $w + $j) 187 | set $j++ 188 | end 189 | printf " " 190 | set $j = (int)0 191 | while ($j < $w) 192 | set $c = *(unsigned char*)($maddr + $i * $w + $j) 193 | if ($c > 32) && ($c < 128) 194 | printf "%c", $c 195 | else 196 | printf "." 197 | end 198 | set $j++ 199 | end 200 | printf "\n" 201 | set $i++ 202 | end 203 | 204 | 205 | end 206 | end 207 | 208 | define context 209 | printf "---------------------------[ STACK ]---\n" 210 | # [real mode] PE (Protected Mode Enable) bit of CR0 211 | if ($cr0 & 0x1) == 0 212 | _dump_memw $r_ss_sp 8 213 | printf "\n" 214 | set $_a = $r_ss_sp + 16 215 | _dump_memw $_a 8 216 | printf "\n" 217 | else 218 | x /16x $r_ss_sp 219 | end 220 | 221 | # [real mode] PE (Protected Mode Enable) bit of CR0 222 | if ($cr0 & 0x1) == 0 223 | printf "---------------------------[ DS:SI ]---\n" 224 | print_data $r_rds $r_rsi 225 | printf "---------------------------[ ES:DI ]---\n" 226 | print_data $r_res $r_rdi 227 | end 228 | 229 | printf "----------------------------[ CPU ]----\n" 230 | print_regs 231 | printf "----------------------------[ CPU Control Register]----\n" 232 | info registers cr0 cr3 efer 233 | printf "----------------------------[ eflags]----\n" 234 | print_eflags 235 | printf "---------------------------[ CODE ]----\n" 236 | 237 | set $_code_size = $CODE_SIZE 238 | 239 | # disassemble 240 | # first call x/i with an address 241 | # subsequent calls to x/i will increment address 242 | if ($_code_size > 0) 243 | x /i $r_rip 244 | set $_code_size-- 245 | end 246 | while ($_code_size > 0) 247 | x /i 248 | set $_code_size-- 249 | end 250 | end 251 | document context 252 | Print context window, i.e. regs, stack, ds:esi and disassemble cs:rip. 253 | end 254 | 255 | define hook-stop 256 | compute_regs 257 | if ($SHOW_CONTEXT > 0) 258 | context 259 | end 260 | end 261 | document hook-stop 262 | !!! FOR INTERNAL USE ONLY - DO NOT CALL !!! 263 | end 264 | 265 | # add a breakpoint on an interrupt 266 | define break_int 267 | set $offset = (unsigned short)*($arg0 * 4) 268 | set $segment = (unsigned short)*($arg0 * 4 + 2) 269 | 270 | break *$offset 271 | end 272 | 273 | define break_int_if_ah 274 | if ($argc < 2) 275 | printf "Arguments: INT_N AH\n" 276 | else 277 | set $addr = (unsigned short)*($arg0 * 4) 278 | set $segment = (unsigned short)*($arg0 * 4 + 2) 279 | break *$addr if ((unsigned long)$eax & 0xFF00) == ($arg1 << 8) 280 | end 281 | end 282 | document break_int_if_ah 283 | Install a breakpoint on INT N only if AH is equal to the expected value 284 | end 285 | 286 | define break_int_if_ax 287 | if ($argc < 2) 288 | printf "Arguments: INT_N AX\n" 289 | else 290 | set $addr = (unsigned short)*($arg0 * 4) 291 | set $segment = (unsigned short)*($arg0 * 4 + 2) 292 | break *$addr if ((unsigned long)$eax & 0xFFFF) == $arg1 293 | end 294 | end 295 | document break_int_if_ax 296 | Install a breakpoint on INT N only if AX is equal to the expected value 297 | end 298 | 299 | define stepo 300 | ## we know that an opcode starting by 0xE8 has a fixed length 301 | ## for the 0xFF opcodes, we can enumerate what is possible to have 302 | 303 | set $lip = $r_rip 304 | set $offset = 0 305 | 306 | # first, get rid of segment prefixes, if any 307 | set $_byte1 = *(unsigned char *)$r_rip 308 | # CALL DS:xx CS:xx, etc. 309 | if ($_byte1 == 0x3E || $_byte1 == 0x26 || $_byte1 == 0x2E || $_byte1 == 0x36 || $_byte1 == 0x3E || $_byte1 == 0x64 || $_byte1 == 0x65) 310 | set $lip = $r_rip + 1 311 | set $_byte1 = *(unsigned char*)$lip 312 | set $offset = 1 313 | end 314 | set $_byte2 = *(unsigned char *)($lip+1) 315 | set $_byte3 = *(unsigned char *)($lip+2) 316 | 317 | set $noffset = 0 318 | 319 | if ($_byte1 == 0xE8) 320 | # call near 321 | set $noffset = 3 322 | else 323 | if ($_byte1 == 0xFF) 324 | # A "ModR/M" byte follows 325 | set $_mod = ($_byte2 & 0xC0) >> 6 326 | set $_reg = ($_byte2 & 0x38) >> 3 327 | set $_rm = ($_byte2 & 7) 328 | #printf "mod: %d reg: %d rm: %d\n", $_mod, $_reg, $_rm 329 | 330 | # only for CALL instructions 331 | if ($_reg == 2 || $_reg == 3) 332 | 333 | # default offset 334 | set $noffset = 2 335 | 336 | if ($_mod == 0) 337 | if ($_rm == 6) 338 | # a 16bit address follows 339 | set $noffset = 4 340 | end 341 | else 342 | if ($_mod == 1) 343 | # a 8bit displacement follows 344 | set $noffset = 3 345 | else 346 | if ($_mod == 2) 347 | # 16bit displacement 348 | set $noffset = 4 349 | end 350 | end 351 | end 352 | 353 | end 354 | # end of _reg == 2 or _reg == 3 355 | 356 | else 357 | # else byte1 != 0xff 358 | if ($_byte1 == 0x9A) 359 | # call far 360 | set $noffset = 5 361 | else 362 | if ($_byte1 == 0xCD) 363 | # INTERRUPT CASE 364 | set $noffset = 2 365 | end 366 | end 367 | 368 | end 369 | # end of byte1 == 0xff 370 | end 371 | # else byte1 != 0xe8 372 | 373 | # if we have found a call to bypass we set a temporary breakpoint on next instruction and continue 374 | if ($noffset != 0) 375 | set $_nextaddress = $rip + $offset + $noffset 376 | printf "Setting BP to %04X\n", $_nextaddress 377 | tbreak *$_nextaddress 378 | continue 379 | # else we just single step 380 | else 381 | nexti 382 | end 383 | end 384 | document stepo 385 | Step over calls 386 | This function will set a temporary breakpoint on next instruction after the call so the call will be bypassed 387 | You can safely use it instead nexti since it will single step code if it's not a call instruction (unless you want to go into the call function) 388 | end 389 | 390 | define step_until_iret 391 | set $SHOW_CONTEXT=0 392 | set $_found = 0 393 | while (!$_found) 394 | if (*(unsigned char*)$r_rip == 0xCF) 395 | set $_found = 1 396 | else 397 | stepo 398 | end 399 | end 400 | set $SHOW_CONTEXT=1 401 | context 402 | end 403 | 404 | define step_until_ret 405 | set $SHOW_CONTEXT=0 406 | set $_found = 0 407 | while (!$_found) 408 | set $_p = *(unsigned char*)$r_rip 409 | if ($_p == 0xC3 || $_p == 0xCB || $_p == 0xC2 || $_p == 0xCA) 410 | set $_found = 1 411 | else 412 | stepo 413 | end 414 | end 415 | set $SHOW_CONTEXT=1 416 | context 417 | end 418 | 419 | define step_until_int 420 | set $SHOW_CONTEXT = 0 421 | 422 | while (*(unsigned char*)$r_rip != 0xCD) 423 | stepo 424 | end 425 | set $SHOW_CONTEXT = 1 426 | context 427 | end 428 | 429 | # Find a pattern in memory 430 | # The pattern is given by a string as arg0 431 | # If another argument is present it gives the starting address (0 otherwise) 432 | define find_in_mem 433 | if ($argc >= 2) 434 | set $_addr = $arg1 435 | else 436 | set $_addr = 0 437 | end 438 | set $_found = 0 439 | set $_tofind = $arg0 440 | while ($_addr < $ADDRESS_MASK) && (!$_found) 441 | if ($_addr % 0x100 == 0) 442 | printf "%08X\n", $_addr 443 | end 444 | set $_i = 0 445 | set $_found = 1 446 | while ($_tofind[$_i] != 0 && $_found == 1) 447 | set $_b = *((char*)$_addr + $_i) 448 | set $_t = (char)$_tofind[$_i] 449 | if ($_t != $_b) 450 | set $_found = 0 451 | end 452 | set $_i++ 453 | end 454 | if ($_found == 1) 455 | printf "Code found at 0x%05X\n", $_addr 456 | end 457 | set $_addr++ 458 | end 459 | end 460 | document find_in_mem 461 | Find a pattern in memory 462 | The pattern is given by a string as arg0 463 | If another argument is present it gives the starting address (0 otherwise) 464 | end 465 | 466 | 467 | define step_until_code 468 | set $_tofind = $arg0 469 | set $SHOW_CONTEXT = 0 470 | 471 | set $_found = 0 472 | while (!$_found) 473 | set $_i = 0 474 | set $_found = 1 475 | 476 | while ($_tofind[$_i] != 0 && $_found == 1) 477 | set $_b = *((char*)$r_rip + $_i) 478 | set $_t = (char)$_tofind[$_i] 479 | if ($_t != $_b) 480 | set $_found = 0 481 | end 482 | set $_i++ 483 | end 484 | 485 | if ($_found == 0) 486 | stepo 487 | end 488 | end 489 | 490 | set $SHOW_CONTEXT = 1 491 | context 492 | end 493 | 494 | -------------------------------------------------------------------------------- /gdb-files/i386-32bit.xml: -------------------------------------------------------------------------------- 1 | 2 | 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 | 62 | 63 | 64 | 65 | 66 | 67 | 68 | 69 | 70 | 71 | 72 | 73 | 74 | 75 | 76 | 77 | 78 | 79 | 80 | 81 | 82 | 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 | 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 | 181 | 182 | 183 | 184 | 185 | 186 | 187 | 188 | 189 | 190 | 191 | 192 | 193 | -------------------------------------------------------------------------------- /gdb-files/target.xml: -------------------------------------------------------------------------------- 1 | i8086 2 | -------------------------------------------------------------------------------- /sample-code/Makefile: -------------------------------------------------------------------------------- 1 | PROG = vsyscall t_mmap 2 | 3 | CFLAGS = -static 4 | 5 | all : ${PROG} 6 | 7 | clean : 8 | ${RM} ${PROG} *.o 9 | -------------------------------------------------------------------------------- /sample-code/t_mmap.c: -------------------------------------------------------------------------------- 1 | /* 2 | * Code reference from Listing 49-2 of The Linux Programming 3 | * Interface (TLPI) book with some minor changes. 4 | */ 5 | #include 6 | #include 7 | #include 8 | #include 9 | #include 10 | #include 11 | #include 12 | 13 | int main(int argc, char *argv[]) 14 | { 15 | char *addr; 16 | int fd; 17 | 18 | if (argc < 2 || strcmp(argv[1], "--help") == 0) { 19 | printf("%s file\n", argv[0]); 20 | return -1; 21 | } 22 | 23 | fd = open(argv[1], O_RDWR); 24 | addr = mmap(NULL, 16, PROT_READ | PROT_WRITE, 25 | MAP_PRIVATE, fd, 0); 26 | 27 | printf("Current string=%.*s (%p)\n", 16, addr, addr); 28 | strncpy(addr, "Lenovo", 6); 29 | 30 | printf("Press any key to continue...\n"); 31 | getchar(); 32 | 33 | munmap(addr, 16); 34 | close(fd); 35 | 36 | return 0; 37 | } 38 | -------------------------------------------------------------------------------- /sample-code/vsyscall.c: -------------------------------------------------------------------------------- 1 | #include 2 | #include 3 | 4 | /* int gettimeofday(struct timeval *tv, struct timezone *tz); */ 5 | typedef int (*time_func)(struct timeval *, struct timezone *); 6 | 7 | int main(int argc, char *argv[]) 8 | { 9 | struct timeval tv; 10 | int retval; 11 | 12 | time_func func = (time_func) 0xffffffffff600000; 13 | 14 | retval = func(&tv, NULL); 15 | if (retval < 0) { 16 | perror("time_func"); 17 | return -1; 18 | } 19 | 20 | printf("%ld\n", tv.tv_sec); 21 | 22 | return 0; 23 | } 24 | 25 | -------------------------------------------------------------------------------- /scripts/build.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | SCRIPT_FILDER=$(dirname $(readlink -f "$0")) 4 | ROOT=$(dirname $SCRIPT_FILDER) 5 | 6 | source `find $SCRIPT_FILDER -name config.sh | head -n1` 7 | 8 | build_sample_code() { 9 | cd $SAMPLE_CODE 10 | make 11 | } 12 | 13 | copy_sample_code() { 14 | local exec_files=`find ${SAMPLE_CODE} -type f -executable -print` 15 | 16 | mkdir -pv $OUT/initramfs/busybox/sample-code 17 | 18 | for i in $exec_files; do 19 | cp $i $OUT/initramfs/busybox/sample-code/ 20 | done 21 | } 22 | 23 | build_busybox() { 24 | cd $SRC 25 | 26 | if [ ! -d $SRC/busybox-${BUSYBOX_VER} ]; then 27 | curl https://busybox.net/downloads/busybox-${BUSYBOX_VER}.tar.bz2 | tar jxf - 28 | fi 29 | 30 | cd $SRC/busybox-${BUSYBOX_VER} 31 | 32 | mkdir -pv $OUT/obj/busybox 33 | 34 | make O=$OUT/obj/busybox defconfig 35 | 36 | cp $ROOT/conf/busybox.config $OUT/obj/busybox/.config 37 | 38 | cd $OUT/obj/busybox 39 | make -j $(nproc) 40 | 41 | if [ $? != 0 ]; then 42 | echo "Failed to compile busybox" 43 | exit 1 44 | fi 45 | 46 | make install 47 | 48 | mkdir -pv $OUT/initramfs/busybox 49 | cd $OUT/initramfs/busybox 50 | mkdir -pv {bin,dev,sbin,etc,proc,sys/kernel/debug,usr/{bin,sbin},lib,lib64,mnt/root,root} 51 | cp -av $OUT/obj/busybox/_install/* $OUT/initramfs/busybox 52 | sudo cp -av /dev/{null,console,tty,sda1} $OUT/initramfs/busybox/dev/ 53 | 54 | build_sample_code 55 | copy_sample_code 56 | 57 | # This is a quite tricky way to run 'tee' with EOF in a bash function. 58 | # The file content 'OUT/initramfs/busybox/init' cannot have the 59 | # indentation for the utility command 'tee file << EOF' 60 | tee $OUT/initramfs/busybox/init << EOF 61 | #!/bin/sh 62 | mount -t proc none /proc 63 | mount -t sysfs none /sys 64 | mount -t debugfs none /sys/kernel/debug 65 | exec /bin/sh 66 | EOF 67 | 68 | chmod +x $OUT/initramfs/busybox/init 69 | 70 | cd $OUT/initramfs/busybox 71 | find . | cpio -H newc -o > ../initramfs.cpio 72 | cd .. 73 | cat initramfs.cpio | gzip > $INITRAMFS_IGZ 74 | } 75 | 76 | build_kernel() { 77 | cd $SRC 78 | 79 | if [ ! -d $KERNEL_FOLDER ]; then 80 | curl $KERNEL_LINK | tar xJf - 81 | fi 82 | 83 | cd $KERNEL_FOLDER 84 | 85 | mkdir -p $KERNEL_OBJ 86 | 87 | cp $KERNEL_CONFIG $KERNEL_OBJ/.config 88 | 89 | make O=$KERNEL_OBJ olddefconfig 90 | make O=$KERNEL_OBJ KCFLAGS=-ggdb3 -j $(nproc) 91 | } 92 | 93 | 94 | mkdir -p $SRC 95 | 96 | if [ ! -f $INITRAMFS_IGZ ]; then 97 | build_busybox 98 | fi 99 | 100 | if [ ! -d $KERNEL_OBJ ]; then 101 | build_kernel 102 | fi 103 | 104 | 105 | echo "Done" 106 | -------------------------------------------------------------------------------- /scripts/config.sh: -------------------------------------------------------------------------------- 1 | KERNEL_VER=6 2 | KERNEL_PATCHLEVEL=12 3 | KERNEL_LINK=https://mirrors.edge.kernel.org/pub/linux/kernel/v${KERNEL_VER}.x/linux-${KERNEL_VER}.${KERNEL_PATCHLEVEL}.tar.xz 4 | 5 | SRC=$ROOT/src 6 | OUT=$ROOT/out 7 | SAMPLE_CODE=$ROOT/sample-code 8 | 9 | BUSYBOX_VER=1.37.0 10 | INITRAMFS_IGZ=$OUT/obj/initramfs.igz 11 | 12 | KERNEL_FOLDER=$SRC/linux-${KERNEL_VER}.${KERNEL_PATCHLEVEL} 13 | KERNEL_OBJ=$OUT/obj/linux 14 | KERNEL_CONFIG=$ROOT/conf/kernel-${KERNEL_VER}.${KERNEL_PATCHLEVEL}.config 15 | -------------------------------------------------------------------------------- /scripts/launch-gdb.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | SCRIPT_FILDER=$(dirname $(readlink -f "$0")) 4 | ROOT=$(dirname $SCRIPT_FILDER) 5 | 6 | source `find $SCRIPT_FILDER -name config.sh | head -n1` 7 | 8 | GDB_FILES_FOLDER=$ROOT/gdb-files 9 | GDB_LINUX_CFG=$GDB_FILES_FOLDER/gdb-linux-kernel-real-mode.txt 10 | GDB_SCRIPT=$KERNEL_FOLDER/scripts/gdb/vmlinux-gdb.py 11 | HOME_GDB_INIT=~/.gdbinit 12 | 13 | # Kernel setup code 14 | SETUP_ELF=$OUT/obj/linux/arch/x86/boot/setup.elf 15 | SETUP_ELF_BASE=0x10000 16 | SETUP_ELF_SECTIONS=(".bstext" ".header" ".entrytext" ".inittext" ".initdata" ".text32" ".bss" ".data") 17 | 18 | # Compressed vmlinux 19 | COMPRESSED_VMLINUX_ELF=$OUT/obj/linux/arch/x86/boot/compressed/vmlinux 20 | COMPRESSED_VMLINUX_ELF_BASE=0x100000 21 | COMPRESSED_VMLINUX_ELF_SECTIONS=(".head.text" ".data" ".bss" ".pgtable") 22 | 23 | # Decompressed vmlinux 24 | DECOMPRESSED_VMLINUX_ELF=$OUT/obj/linux/vmlinux 25 | 26 | parse_elf() { 27 | # $1: ELF file path 28 | # $2: ELF base address 29 | # $3: ELF sections 30 | local path=$1 31 | local base_addr=$2 32 | local -n sections=$3 33 | local sections_param="" 34 | 35 | text_section_addr=`readelf -S $path | grep -w .text | awk '{print $5}'` 36 | text_section_addr=`printf "0x%x" $((16#${text_section_addr} + $base_addr))` 37 | sections_param=$text_section_addr 38 | 39 | for((i=0;i<${#sections[@]};i++)); do 40 | section_info=`readelf -S $path | grep -w ${sections[$i]}` 41 | section_nr=`echo $section_info | awk -F '[][]' '{print $2}'` 42 | column=`([ $section_nr -le 9 ] && echo "5" ) || echo "4"` 43 | 44 | str="echo $section_info | awk '{print \$$column}'" 45 | section_addr=`eval $str` 46 | section_addr=`printf "0x%x" $((16#${section_addr} + $base_addr))` 47 | sections_param="$sections_param -s ${sections[$i]} ${section_addr}" 48 | done 49 | echo "add-symbol-file $path $sections_param" 50 | } 51 | 52 | generate_gdb_cfg() { 53 | # The kernel setup code (real-mode code) is placed at the second 54 | # sector of the kernel setup setup image (setup.bin). So, we need 55 | # to add the offset 0x200 to SETUP_ELF_BASE. Please refer to 56 | # the kernel documentation "Documentation/x86/boot.rst". 57 | setup_code_base_addr=`printf "0x%x" $((${SETUP_ELF_BASE} + 0x200))` 58 | 59 | # This is a quite tricky way to run 'tee' with EOF in a bash function. 60 | # The file content 'GDB_LINUX_CFG' cannot have the indentation for 61 | # the utility command 'tee file << EOF' 62 | tee $GDB_LINUX_CFG << EOF 63 | # debug info about real-mode code of Linux kernel 64 | #$(parse_elf $SETUP_ELF $SETUP_ELF_BASE SETUP_ELF_SECTIONS) 65 | 66 | # debug info about compressed vmlinux 67 | $(parse_elf $COMPRESSED_VMLINUX_ELF $COMPRESSED_VMLINUX_ELF_BASE COMPRESSED_VMLINUX_ELF_SECTIONS) 68 | target remote :1234 69 | 70 | # Uncomment the following line if you want to debug the decompressed vmlinux 71 | add-symbol-file $DECOMPRESSED_VMLINUX_ELF 72 | 73 | set print pretty on 74 | 75 | # start_of_setup is the entry point in .entrytext section of setup.elf 76 | #b start_of_setup 77 | 78 | # startup_32 is the entry point in compressed vmlinux 79 | #b startup_32 80 | 81 | #b *$setup_code_base_addr 82 | 83 | b pci_write_msg_msix 84 | 85 | c 86 | EOF 87 | } 88 | 89 | check_gdb_script() { 90 | if [ ! -f $HOME_GDB_INIT ]; then 91 | echo "add-auto-load-safe-path $GDB_SCRIPT" > $HOME_GDB_INIT 92 | else 93 | line_exist=$(grep $GDB_SCRIPT $HOME_GDB_INIT) 94 | if [ -z "$line_exist" ]; then 95 | echo "add-auto-load-safe-path $GDB_SCRIPT" >> $HOME_GDB_INIT 96 | fi 97 | fi 98 | } 99 | 100 | if [ ! -f $GDB_LINUX_CFG ]; then 101 | generate_gdb_cfg 102 | fi 103 | 104 | check_gdb_script 105 | 106 | cd $GDB_FILES_FOLDER 107 | gdb -ix $GDB_FILES_FOLDER/gdb-init-real-mode.txt -ix $GDB_LINUX_CFG 108 | -------------------------------------------------------------------------------- /scripts/launch-vm.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | SCRIPT_FILDER=$(dirname $(readlink -f "$0")) 4 | ROOT=$(dirname $SCRIPT_FILDER) 5 | 6 | source `find $SCRIPT_FILDER -name config.sh | head -n1` 7 | 8 | qemu_bin=qemu-system-x86_64 9 | 10 | ${qemu_bin} -nographic -smp cores=4,sockets=2 -cpu Nehalem -m 16G \ 11 | -object memory-backend-ram,id=mem0,size=8G \ 12 | -object memory-backend-ram,id=mem1,size=8G \ 13 | -numa node,memdev=mem0,cpus=0-3,nodeid=0 \ 14 | -numa node,memdev=mem1,cpus=4-7,nodeid=1 \ 15 | -kernel $KERNEL_OBJ/arch/x86/boot/bzImage \ 16 | -initrd $INITRAMFS_IGZ \ 17 | -append "earlyprintk=serial,ttyS0 console=ttyS0 loglevel=8 nokaslr norandmaps" \ 18 | -s -S 19 | -------------------------------------------------------------------------------- /test-modules/mutex-unlock-by-another-task/Makefile: -------------------------------------------------------------------------------- 1 | obj-m += mutex.o 2 | 3 | MODULES=../../out/obj/linux/ 4 | 5 | PWD := $(CURDIR) 6 | 7 | all: 8 | make -C $(MODULES) M=$(PWD) modules 9 | 10 | clean: 11 | make -C $(MODULES) M=$(PWD) clean 12 | -------------------------------------------------------------------------------- /test-modules/mutex-unlock-by-another-task/mutex.c: -------------------------------------------------------------------------------- 1 | #include 2 | #include 3 | #include 4 | #include 5 | #include 6 | #include 7 | 8 | #define NUM_THREADS 2 9 | 10 | static struct task_struct threads[NUM_THREADS]; 11 | 12 | static DEFINE_MUTEX(test_mutex); 13 | 14 | int lock_thread(void *idx) 15 | { 16 | while (!kthread_should_stop()) { 17 | mutex_lock(&test_mutex); 18 | printk(KERN_INFO "%s gets a mutex\n", current->comm); 19 | 20 | msleep(3000); 21 | 22 | mutex_unlock(&test_mutex); 23 | printk(KERN_INFO "%s unlocks a mutex\n", current->comm); 24 | 25 | break; 26 | } 27 | 28 | printk(KERN_INFO "%s stopped\n", current->comm); 29 | return 0; 30 | } 31 | 32 | int unlock_thread(void *idx) 33 | { 34 | while (!kthread_should_stop()) { 35 | msleep(1000); 36 | mutex_unlock(&test_mutex); 37 | printk(KERN_INFO "%s unlocks a mutex\n", current->comm); 38 | break; 39 | } 40 | 41 | printk(KERN_INFO "%s stopped\n", current->comm); 42 | return 0; 43 | } 44 | 45 | int init_thread(struct task_struct *kth, int idx, int (*fn)(void *)) 46 | { 47 | char th_name[20]; 48 | 49 | sprintf(th_name, "kthread_%d", idx); 50 | 51 | kth = kthread_create(fn, &idx, (const char * ) th_name); 52 | 53 | if (kth != NULL) { 54 | wake_up_process(kth); 55 | printk(KERN_INFO "%s is running\n", th_name); 56 | } else { 57 | printk(KERN_INFO "kthread %s could not be created\n", th_name); 58 | return -1; 59 | } 60 | 61 | return 0; 62 | } 63 | 64 | int init_module(void) 65 | { 66 | printk(KERN_INFO "Initializing thread module\n"); 67 | 68 | if (init_thread(&threads[0], 0, lock_thread) == -1) 69 | return -1; 70 | 71 | if (init_thread(&threads[1], 1, unlock_thread) == -1) 72 | return -1; 73 | 74 | printk(KERN_INFO "all of the threads are running\n"); 75 | 76 | return 0; 77 | } 78 | 79 | void cleanup_module(void) 80 | { 81 | int i = 0; 82 | int ret = 0; 83 | 84 | printk(KERN_INFO "exiting thread module\n"); 85 | 86 | for (i = 0; i < NUM_THREADS; i++) { 87 | ret = kthread_stop(&threads[i]); 88 | if (!ret) 89 | printk("can't stop thread %d", i); 90 | } 91 | 92 | printk(KERN_INFO "stopped all of the threads\n"); 93 | return ; 94 | } 95 | 96 | MODULE_LICENSE("GPL"); 97 | -------------------------------------------------------------------------------- /test-modules/mutex/Makefile: -------------------------------------------------------------------------------- 1 | obj-m += mutex.o 2 | 3 | MODULES=../../out/obj/linux/ 4 | 5 | PWD := $(CURDIR) 6 | 7 | all: 8 | make -C $(MODULES) M=$(PWD) modules 9 | 10 | clean: 11 | make -C $(MODULES) M=$(PWD) clean 12 | -------------------------------------------------------------------------------- /test-modules/mutex/mutex.c: -------------------------------------------------------------------------------- 1 | #include 2 | #include 3 | #include 4 | #include 5 | #include 6 | #include 7 | 8 | #define NUM_THREADS 4 9 | 10 | static struct task_struct threads[NUM_THREADS]; 11 | 12 | static unsigned int i; 13 | 14 | static DEFINE_MUTEX(test_mutex); 15 | 16 | int thread_function(void *idx) 17 | { 18 | while (!kthread_should_stop()) { 19 | 20 | /* Critical section */ 21 | mutex_lock(&test_mutex); 22 | 23 | printk(KERN_INFO "%s mutex_lock acquired! %d secs\n", 24 | current->comm, i); 25 | 26 | msleep(1000); 27 | i++; 28 | 29 | mutex_unlock(&test_mutex); 30 | 31 | printk(KERN_INFO "%s mutex_unlock! %d secs\n", 32 | current->comm, i); 33 | 34 | if (i >= 30) 35 | break; 36 | 37 | } 38 | 39 | printk(KERN_INFO "%s stopped\n", current->comm); 40 | return 0; 41 | } 42 | 43 | int initialize_thread(struct task_struct *kth, int idx) { 44 | char th_name[20]; 45 | 46 | sprintf(th_name, "kthread_%d", idx); 47 | 48 | kth = kthread_create(thread_function, &idx, (const char * ) th_name); 49 | 50 | if (kth != NULL) { 51 | wake_up_process(kth); 52 | printk(KERN_INFO "%s is running\n", th_name); 53 | } else { 54 | printk(KERN_INFO "kthread %s could not be created\n", th_name); 55 | return -1; 56 | } 57 | 58 | return 0; 59 | } 60 | 61 | int init_module(void) 62 | { 63 | int i; 64 | 65 | printk(KERN_INFO "Initializing thread module\n"); 66 | 67 | for (i = 0; i < NUM_THREADS; i++) { 68 | if (initialize_thread(&threads[i], i) == -1) 69 | return -1; 70 | } 71 | 72 | printk(KERN_INFO "all of the threads are running\n"); 73 | 74 | return 0; 75 | } 76 | 77 | void cleanup_module(void) 78 | { 79 | int i = 0; 80 | int ret = 0; 81 | 82 | printk(KERN_INFO "exiting thread module\n"); 83 | 84 | for (i = 0; i < NUM_THREADS; i++) { 85 | ret = kthread_stop(&threads[i]); 86 | if (!ret) 87 | printk("can't stop thread %d", i); 88 | } 89 | 90 | printk(KERN_INFO "stopped all of the threads\n"); 91 | } 92 | 93 | MODULE_LICENSE("GPL"); 94 | --------------------------------------------------------------------------------