Index: sys/boot_flag.h
===================================================================
RCS file: /cvsroot/src/sys/sys/boot_flag.h,v
retrieving revision 1.8
diff -u -p -r1.8 boot_flag.h
--- sys/boot_flag.h 12 May 2024 10:34:56 -0000 1.8
+++ sys/boot_flag.h 21 Sep 2025 17:34:15 -0000
@@ -70,6 +70,9 @@
case 'q': /* boot quietly */ \
(retval) |= AB_QUIET; \
break; \
+ case 'r': /* Use /rescue/init instead of /sbin/init */ \
+ (retval) |= RB_RESCUE; \
+ break; \
case 's': /* boot to single user */ \
(retval) |= RB_SINGLE; \
break; \
Index: sys/reboot.h
===================================================================
RCS file: /cvsroot/src/sys/sys/reboot.h,v
retrieving revision 1.26
diff -u -p -r1.26 reboot.h
--- sys/reboot.h 1 Jan 2020 22:57:17 -0000 1.26
+++ sys/reboot.h 21 Sep 2025 17:34:15 -0000
@@ -53,6 +53,7 @@
#define RB_STRING 0x00000400 /* use provided bootstr */
#define RB_POWERDOWN (RB_HALT|0x800) /* turn power off (or at least halt) */
#define RB_USERCONF 0x00001000 /* change configured devices */
+#define RB_RESCUE 0x00002000 /* use /rescue/init */
/*
* Extra autoboot flags (passed by boot prog to kernel). See also
Index: kern/init_main.c
===================================================================
RCS file: /cvsroot/src/sys/kern/init_main.c,v
retrieving revision 1.552
diff -u -p -r1.552 init_main.c
--- kern/init_main.c 8 May 2025 05:31:16 -0000 1.552
+++ kern/init_main.c 21 Sep 2025 17:34:15 -0000
@@ -1016,7 +1016,7 @@ start_init(void *arg)
panic("init: couldn't allocate argument space");
p->p_vmspace->vm_maxsaddr = (void *)STACK_MAX(addr, PAGE_SIZE);
- ipx = 0;
+ ipx = (boothowto & RB_RESCUE) ? 3 : 0;
while (1) {
if (boothowto & RB_ASKNAME) {
printf("init path");
Attachment:
signature.asc
Description: Message signed with OpenPGP