diff --git a/features.in/grub/cfg.in/20install2.cfg b/features.in/grub/cfg.in/20install2.cfg
index 275c47f42761c3e0b229cd71992498d208735a36..d83a2220f750f7c05b190a48bb03cd66f23503ba 100644
--- a/features.in/grub/cfg.in/20install2.cfg
+++ b/features.in/grub/cfg.in/20install2.cfg
@@ -3,7 +3,7 @@ default='linux'
 
 menuentry $"Install "'@distro@' --hotkey 'i' --id 'linux' {
   echo $"Loading Linux vmlinuz$KFLAVOUR ..."
-  linux$linux_suffix /boot/vmlinuz$KFLAVOUR changedisk fastboot automatic=method:cdrom ramdisk_size=@altinst_size@ vga=@bootvga@ @bootargs@ $EFI_BOOTARGS lang=$lang
+  linux$linux_suffix /boot/vmlinuz$KFLAVOUR fastboot @initrd_bootargs@ @stagename@=altinst ramdisk_size=@altinst_size@ vga=@bootvga@ @bootargs@ $EFI_BOOTARGS lang=$lang
   echo $"Loading initial ramdisk ..."
   initrd$linux_suffix /boot/@initrd@$KFLAVOUR.@initrd_ext@
 }
diff --git a/features.in/grub/cfg.in/25install-vnc-connect.cfg b/features.in/grub/cfg.in/25install-vnc-connect.cfg
index 50609b3fcee4d84f54bcc091014b208b408fe6a0..7990d1949a020bd73a61a92d338aa34739b8e345 100644
--- a/features.in/grub/cfg.in/25install-vnc-connect.cfg
+++ b/features.in/grub/cfg.in/25install-vnc-connect.cfg
@@ -1,5 +1,5 @@
 
 menuentry $"VNC install "'@distro@'$" (edit to set server IP address)" --id 'vncconnect' {
-  linux$linux_suffix /boot/vmlinuz$KFLAVOUR changedisk fastboot automatic=method:cdrom ramdisk_size=@altinst_size@ showopts @bootargs@ $EFI_BOOTARGS headless no_alt_virt_keyboard vncconnect=IP lang=$lang
+  linux$linux_suffix /boot/vmlinuz$KFLAVOUR fastboot @initrd_bootargs@ @stagename@=altinst ramdisk_size=@altinst_size@ showopts @bootargs@ $EFI_BOOTARGS headless no_alt_virt_keyboard vncconnect=IP lang=$lang
   initrd$linux_suffix /boot/@initrd@$KFLAVOUR.@initrd_ext@
 }
diff --git a/features.in/grub/cfg.in/25install-vnc-listen.cfg b/features.in/grub/cfg.in/25install-vnc-listen.cfg
index 2dffe20a8f8b9aeaa1be5811d55771139244b717..c804c71201fdd63d919dff1629c806f07f98e558 100644
--- a/features.in/grub/cfg.in/25install-vnc-listen.cfg
+++ b/features.in/grub/cfg.in/25install-vnc-listen.cfg
@@ -1,6 +1,6 @@
 
 menuentry $"VNC install "'@distro@'$" (edit to set password and connect here)" --id 'vncpasswd' {
-  linux$linux_suffix /boot/vmlinuz$KFLAVOUR changedisk fastboot automatic=method:cdrom ramdisk_size=@altinst_size@ showopts @bootargs@  $EFI_BOOTARGS headless no_alt_virt_keyboard vncpassword=VNCPWD lang=$lang
+  linux$linux_suffix /boot/vmlinuz$KFLAVOUR fastboot @initrd_bootargs@ @stagename@=altinst ramdisk_size=@altinst_size@ showopts @bootargs@ $EFI_BOOTARGS headless no_alt_virt_keyboard vncpassword=VNCPWD lang=$lang
   initrd$linux_suffix /boot/@initrd@$KFLAVOUR.@initrd_ext@
 }
 
diff --git a/features.in/grub/cfg.in/30live.cfg b/features.in/grub/cfg.in/30live.cfg
index 36ec63f9daef55d1522445f0533c239332c0bffb..958f5b2e531bd555b747c92a64b464e0339ccd5f 100644
--- a/features.in/grub/cfg.in/30live.cfg
+++ b/features.in/grub/cfg.in/30live.cfg
@@ -1,6 +1,6 @@
 menuentry $"LiveCD (no hard disk needed)" --id 'live' {
   echo $"Loading Linux vmlinuz$KFLAVOUR ..."
-  linux$linux_suffix /boot/vmlinuz$KFLAVOUR changedisk fastboot live automatic=method:cdrom ramdisk_size=@live_size@ stagename=live showopts lowmem vga=@bootvga@ @bootargs@ $EFI_BOOTARGS lang=$lang
+  linux$linux_suffix /boot/vmlinuz$KFLAVOUR fastboot live @initrd_bootargs@ @stagename@=live ramdisk_size=@live_size@ showopts lowmem vga=@bootvga@ @bootargs@ $EFI_BOOTARGS lang=$lang
   echo $"Loading initial ramdisk ..."
   initrd$linux_suffix /boot/@initrd@$KFLAVOUR.@initrd_ext@
 }
diff --git a/features.in/grub/cfg.in/32live_rw.cfg b/features.in/grub/cfg.in/32live_rw.cfg
index 938b6ef845fd6b62a777067414cac3b648e6af3c..dd78d20633116b0737c42f99c205683b9b4d55ea 100644
--- a/features.in/grub/cfg.in/32live_rw.cfg
+++ b/features.in/grub/cfg.in/32live_rw.cfg
@@ -1,6 +1,6 @@
 menuentry $"LiveCD with sessions support" --id 'session' {
   echo $"Loading Linux vmlinuz$KFLAVOUR ..."
-  linux$linux_suffix /boot/vmlinuz$KFLAVOUR changedisk fastboot live automatic=method:cdrom ramdisk_size=@live_size@ stagename=live showopts live_rw vga=@bootvga@ @bootargs@  $EFI_BOOTARGS lang=$lang
+  linux$linux_suffix /boot/vmlinuz$KFLAVOUR fastboot live @initrd_bootargs@ @stagename@=live ramdisk_size=@live_size@ showopts live_rw vga=@bootvga@ @bootargs@ $EFI_BOOTARGS lang=$lang
   echo $"Loading initial ramdisk ..."
   initrd$linux_suffix /boot/@initrd@$KFLAVOUR.@initrd_ext@
 }
diff --git a/features.in/grub/cfg.in/80rescue.cfg b/features.in/grub/cfg.in/80rescue.cfg
index 0b70c6dfe6a6a7650f998c00c33ad4d0c2b706fe..3bf82bb0baa0cc28d01d79f0efef9c974233a9c9 100644
--- a/features.in/grub/cfg.in/80rescue.cfg
+++ b/features.in/grub/cfg.in/80rescue.cfg
@@ -1,6 +1,6 @@
 menuentry $"Rescue LiveCD" --id 'rescue' {
   echo $"Loading Linux vmlinuz$KFLAVOUR ..."
-  linux$linux_suffix /boot/vmlinuz$KFLAVOUR changedisk fastboot live automatic=method:cdrom ramdisk_size=@rescue_size@ stagename=rescue splash=0 showopts @rescue_bootargs@ $EFI_BOOTARGS
+  linux$linux_suffix /boot/vmlinuz$KFLAVOUR changedisk fastboot live @initrd_bootargs@ @stagename@=rescue ramdisk_size=@rescue_size@ splash=0 showopts @rescue_bootargs@ $EFI_BOOTARGS
   echo $"Loading initial ramdisk ..."
   initrd$linux_suffix /boot/@initrd@$KFLAVOUR.@initrd_ext@
 }
diff --git a/features.in/grub/cfg.in/82rescue_rw.cfg b/features.in/grub/cfg.in/82rescue_rw.cfg
index 3566b9cfc3ff7e783af8780d560b65654b1fc546..24effcc2881e4a82cfa8bcb8c52be65f646b3f97 100644
--- a/features.in/grub/cfg.in/82rescue_rw.cfg
+++ b/features.in/grub/cfg.in/82rescue_rw.cfg
@@ -1,6 +1,6 @@
 menuentry $"Rescue with sessions support" --id 'rescue_session' {
   echo $"Loading Linux vmlinuz$KFLAVOUR ..."
-  linux$linux_suffix /boot/vmlinuz$KFLAVOUR changedisk fastboot live automatic=method:cdrom,label:ALT* ramdisk_size=@rescue_size@ stagename=rescue splash=0 showopts @rescue_bootargs@ $EFI_BOOTARGS live_rw
+  linux$linux_suffix /boot/vmlinuz$KFLAVOUR changedisk fastboot live @initrd_bootargs@ @stagename@=rescue ramdisk_size=@rescue_size@ splash=0 showopts @rescue_bootargs@ $EFI_BOOTARGS live_rw
   echo $"Loading initial ramdisk ..."
   initrd$linux_suffix /boot/@initrd@$KFLAVOUR.@initrd_ext@
 }
diff --git a/features.in/grub/cfg.in/83rescue_fm.cfg b/features.in/grub/cfg.in/83rescue_fm.cfg
index 2866e3abc8243645f2f4f994bf4ee31e1041ee98..8cc43d2dbe3c74d1dd3f9480ee48c0e5fa986614 100644
--- a/features.in/grub/cfg.in/83rescue_fm.cfg
+++ b/features.in/grub/cfg.in/83rescue_fm.cfg
@@ -1,6 +1,6 @@
 menuentry $"Forensic mode (leave disks alone)" --id 'rescue_forensic' {
   echo $"Loading Linux vmlinuz$KFLAVOUR ..."
-  linux$linux_suffix /boot/vmlinuz changedisk fastboot live automatic=method:cdrom ramdisk_size=@rescue_size@ splash=0 showopts stagename=rescue @rescue_bootargs@ $EFI_BOOTARGS max_loop=16 forensic hash=@rescue_hash@
+  linux$linux_suffix /boot/vmlinuz fastboot live @initrd_bootargs@ @stagename@=rescue ramdisk_size=@rescue_size@ splash=0 showopts @rescue_bootargs@ $EFI_BOOTARGS max_loop=16 forensic hash=@rescue_hash@
   echo $"Loading initial ramdisk ..."
   initrd$linux_suffix /boot/full.cz
 }
diff --git a/features.in/grub/cfg.in/84rescue_remote.cfg b/features.in/grub/cfg.in/84rescue_remote.cfg
index 6e10d1c1000277ab5cf278b5fc8b92b72498fff7..8b69125c47db66435fbf10dfbe3e134f1e8fa8ac 100644
--- a/features.in/grub/cfg.in/84rescue_remote.cfg
+++ b/features.in/grub/cfg.in/84rescue_remote.cfg
@@ -1,5 +1,5 @@
 menuentry $"Rescue with remote SSH access (DHCP)" --id 'rescue_remote' {
-  linux$linux_suffix /boot/vmlinuz$KFLAVOUR changedisk fastboot live automatic=method:cdrom ramdisk_size=@rescue_size@ splash=0 showopts stagename=rescue @rescue_bootargs@ $EFI_BOOTARGS max_loop=16 ip=dhcp port=22 rootpw=AUTO hash=@rescue_hash@
+  linux$linux_suffix /boot/vmlinuz$KFLAVOUR fastboot live @initrd_bootargs@ @stagename@=rescue ramdisk_size=@rescue_size@ splash=0 showopts @rescue_bootargs@ $EFI_BOOTARGS max_loop=16 ip=dhcp port=22 rootpw=AUTO hash=@rescue_hash@
   echo $"Loading initial ramdisk ..."
   initrd$linux_suffix /boot/@initrd@$KFLAVOUR.@initrd_ext@
 }
diff --git a/features.in/grub/cfg.in/85mediacheck.cfg b/features.in/grub/cfg.in/85mediacheck.cfg
index d492ef2ab68d47e2c5d121e5c54f1618d57ad067..3040ecc0e1bcbafdefe2dc524bad04e587be016a 100644
--- a/features.in/grub/cfg.in/85mediacheck.cfg
+++ b/features.in/grub/cfg.in/85mediacheck.cfg
@@ -1,4 +1,4 @@
 menuentry $"Check this media for defects" --id 'mediachk' {
-  linux$linux_suffix /boot/vmlinuz changedisk live quiet lowmem automatic=method:cdrom mediacheck=1 stagename=mediacheck showopts @bootargs@ $EFI_BOOTARGS
+  linux$linux_suffix /boot/vmlinuz live @initrd_bootargs@ @stagename@=mediacheck quiet lowmem mediacheck=1 showopts @bootargs@ $EFI_BOOTARGS
   initrd$linux_suffix /boot/full.cz
 }
diff --git a/features.in/grub/generate.mk b/features.in/grub/generate.mk
index f8a59f9655a3aeaf4cff80ab53465ff5850e08b1..69a7177a6db2c914de55478ba7bd51bea36c7325 100644
--- a/features.in/grub/generate.mk
+++ b/features.in/grub/generate.mk
@@ -31,6 +31,11 @@ ifneq ($(words $(KFLAVOURS)),1)
 GRUB_CFG := $(GRUB_CFG) kernel
 endif
 
+ifeq (initrd-propagator,$(STAGE1_INITRD))
+STAGE1_INITRD_BOOTARGS := changedisk automatic=method:cdrom
+STAGE1_INITRD_STAGE2_OPTION := stagename
+endif
+
 DSTDIR  := $(BUILDDIR)/stage1/files/boot/grub/.in
 DSTCFGS := $(DSTDIR)/*.cfg
 
@@ -109,6 +114,8 @@ bootargs: clean
 		sed -i "s,@initrd@,initrd," $(DSTCFGS); \
 		sed -i "s,@initrd_ext@,img," $(DSTCFGS); \
 	fi
+	@sed -i "s|@initrd_bootargs@|$(STAGE1_INITRD_BOOTARGS)|g" $(DSTCFGS)
+	@sed -i "s,@stagename@,$(STAGE1_INITRD_STAGE2_OPTION),g" $(DSTCFGS)
 
 clean: copy
 	@if [ "$(GRUB_UI)" = gfxboot ]; then \
diff --git a/features.in/syslinux/cfg.in/20install2.cfg b/features.in/syslinux/cfg.in/20install2.cfg
index e41cda9547571bc6ad49e5d94673a79b6c77ae56..de7ee406f7d2f5fcb57a47958ae56ad548ff09e0 100644
--- a/features.in/syslinux/cfg.in/20install2.cfg
+++ b/features.in/syslinux/cfg.in/20install2.cfg
@@ -3,5 +3,5 @@ default linux
 label linux
   menu label ^Install @relname@
   kernel /boot/vmlinuz
-  append initrd=/boot/@initrd@ changedisk fastboot automatic=method:cdrom ramdisk_size=@altinst_size@ showopts vga=@bootvga@ @bootargs@
+  append initrd=/boot/@initrd@ fastboot @initrd_bootargs@ @stagename@=altinst ramdisk_size=@altinst_size@ showopts vga=@bootvga@ @bootargs@
  
diff --git a/features.in/syslinux/cfg.in/25grub-install-vnc-connect.cfg b/features.in/syslinux/cfg.in/25grub-install-vnc-connect.cfg
index 3b855a2111477ba7fd2601fd1bc72d79dc9286eb..c9f03a61fd2ffb3a55d62571ebfebdccd4b0e498 100644
--- a/features.in/syslinux/cfg.in/25grub-install-vnc-connect.cfg
+++ b/features.in/syslinux/cfg.in/25grub-install-vnc-connect.cfg
@@ -1,5 +1,5 @@
 label vncconnect
   menu label VNC client (edit to set server IP address)
   kernel /boot/vmlinuz
-  append initrd=/boot/@initrd@ changedisk fastboot automatic=method:cdrom ramdisk_size=@altinst_size@ showopts @bootargs@ headless no_alt_virt_keyboard vncconnect=IP
+  append initrd=/boot/@initrd@ fastboot @initrd_bootargs@ @stagename@=altinst ramdisk_size=@altinst_size@ showopts @bootargs@ headless no_alt_virt_keyboard vncconnect=IP
 
diff --git a/features.in/syslinux/cfg.in/25grub-install-vnc-listen.cfg b/features.in/syslinux/cfg.in/25grub-install-vnc-listen.cfg
index 4557d6d898cc5c14c02f462837f9706ba6b81a8c..e43b9d2f11ec84060e0395856b3d0b9bfdf1973a 100644
--- a/features.in/syslinux/cfg.in/25grub-install-vnc-listen.cfg
+++ b/features.in/syslinux/cfg.in/25grub-install-vnc-listen.cfg
@@ -1,5 +1,5 @@
 label vncpasswd
   menu label Install @relname@ (headless with DHCP+VNC) (password VNCPWD)
   kernel /boot/vmlinuz
-  append initrd=/boot/@initrd@ changedisk fastboot automatic=method:cdrom ramdisk_size=@altinst_size@ showopts @bootargs@ headless no_alt_virt_keyboard vncpassword=VNCPWD
+  append initrd=/boot/@initrd@ fastboot @initrd_bootargs@ @stagename@=altinst ramdisk_size=@altinst_size@ showopts @bootargs@ headless no_alt_virt_keyboard vncpassword=VNCPWD
 
diff --git a/features.in/syslinux/cfg.in/25install-vnc-connect.cfg b/features.in/syslinux/cfg.in/25install-vnc-connect.cfg
index 12ec533076122d10604427038180aac98d119dc0..0e69b11ccdbe1421b46618a5f435f6f9d8842d12 100644
--- a/features.in/syslinux/cfg.in/25install-vnc-connect.cfg
+++ b/features.in/syslinux/cfg.in/25install-vnc-connect.cfg
@@ -1,5 +1,5 @@
 label vncconnect
   menu label ^VNC install (edit to set server IP address)
   kernel /boot/vmlinuz
-  append initrd=/boot/@initrd@ changedisk fastboot automatic=method:cdrom ramdisk_size=@altinst_size@ showopts @bootargs@ headless no_alt_virt_keyboard vncconnect=IP
+  append initrd=/boot/@initrd@ fastboot @initrd_bootargs@ @stagename@=altinst ramdisk_size=@altinst_size@ showopts @bootargs@ headless no_alt_virt_keyboard vncconnect=IP
 
diff --git a/features.in/syslinux/cfg.in/25install-vnc-listen.cfg b/features.in/syslinux/cfg.in/25install-vnc-listen.cfg
index 99ca848df44f60ec5916680df0ab2bb36ad278e5..2b8fc64b3c16b2dedda4b10a8d0b4d4446c5e09f 100644
--- a/features.in/syslinux/cfg.in/25install-vnc-listen.cfg
+++ b/features.in/syslinux/cfg.in/25install-vnc-listen.cfg
@@ -1,5 +1,5 @@
 label vncpasswd
   menu label VNC install (<Tab>, set pass^word and connect here)
   kernel /boot/vmlinuz
-  append initrd=/boot/@initrd@ changedisk fastboot automatic=method:cdrom ramdisk_size=@altinst_size@ showopts @bootargs@ headless no_alt_virt_keyboard vncpassword=VNCPWD
+  append initrd=/boot/@initrd@ fastboot @initrd_bootargs@ @stagename@=altinst ramdisk_size=@altinst_size@ showopts @bootargs@ headless no_alt_virt_keyboard vncpassword=VNCPWD
 
diff --git a/features.in/syslinux/cfg.in/30live.cfg b/features.in/syslinux/cfg.in/30live.cfg
index a084a10bad1eb65a928e7f7d9d3aaa966ed5d6e6..1f10cdac64e0907fe61519284442dcbda2415b8a 100644
--- a/features.in/syslinux/cfg.in/30live.cfg
+++ b/features.in/syslinux/cfg.in/30live.cfg
@@ -1,5 +1,5 @@
 label live
   menu label ^LiveCD (no hard disk needed)
   kernel /boot/vmlinuz
-  append initrd=/boot/@initrd@ fastboot live automatic=method:cdrom ramdisk_size=@live_size@ stagename=live showopts lowmem vga=@bootvga@ @bootargs@
+  append initrd=/boot/@initrd@ fastboot live @initrd_bootargs@ @stagename@=live ramdisk_size=@live_size@ showopts lowmem vga=@bootvga@ @bootargs@
 
diff --git a/features.in/syslinux/cfg.in/32live_rw.cfg b/features.in/syslinux/cfg.in/32live_rw.cfg
index 2410f089b9ec8520243874eb346a762f669433cd..d8ed85bd1cbcb67e082a9c1fec39ee078c708a46 100644
--- a/features.in/syslinux/cfg.in/32live_rw.cfg
+++ b/features.in/syslinux/cfg.in/32live_rw.cfg
@@ -1,5 +1,5 @@
 label session
   menu label LiveCD with ^sessions support
   kernel /boot/vmlinuz
-  append initrd=/boot/@initrd@ fastboot live automatic=method:cdrom ramdisk_size=@live_size@ stagename=live showopts live_rw vga=@bootvga@ @bootargs@
+  append initrd=/boot/@initrd@ fastboot live @initrd_bootargs@ @stagename@=live ramdisk_size=@live_size@ showopts live_rw vga=@bootvga@ @bootargs@
 
diff --git a/features.in/syslinux/cfg.in/80rescue.cfg b/features.in/syslinux/cfg.in/80rescue.cfg
index dfee21c11f03dc1ed55964d15e7888eb3b1691a2..a5d99586faf1f3927974caf93a09027dca3c0a76 100644
--- a/features.in/syslinux/cfg.in/80rescue.cfg
+++ b/features.in/syslinux/cfg.in/80rescue.cfg
@@ -1,5 +1,5 @@
 label rescue
   menu label ^Rescue LiveCD
   kernel /boot/vmlinuz
-  append initrd=/boot/@initrd@ fastboot live automatic=method:cdrom ramdisk_size=@rescue_size@ stagename=rescue splash=0 showopts @rescue_bootargs@
+  append initrd=/boot/@initrd@ fastboot live @initrd_bootargs@ @stagename@=rescue ramdisk_size=@rescue_size@ splash=0 showopts @rescue_bootargs@
 
diff --git a/features.in/syslinux/cfg.in/82rescue_rw.cfg b/features.in/syslinux/cfg.in/82rescue_rw.cfg
index 7eeed8622b0056bdba4b4e804ecd149555d411c2..2e950c5c71fed1e53566380e7550efd805e85b5d 100644
--- a/features.in/syslinux/cfg.in/82rescue_rw.cfg
+++ b/features.in/syslinux/cfg.in/82rescue_rw.cfg
@@ -1,5 +1,5 @@
 label rescue_session
   menu label Rescue with sess^ions support
   kernel /boot/vmlinuz
-  append initrd=/boot/@initrd@ fastboot live automatic=method:cdrom,label:ALT* ramdisk_size=@rescue_size@ stagename=rescue splash=0 showopts @rescue_bootargs@ live_rw
+  append initrd=/boot/@initrd@ fastboot live @initrd_bootargs@ @stagename@=rescue ramdisk_size=@rescue_size@ splash=0 showopts @rescue_bootargs@ live_rw
 
diff --git a/features.in/syslinux/cfg.in/83rescue_fm.cfg b/features.in/syslinux/cfg.in/83rescue_fm.cfg
index a9c62444e62ec1768d92cea4e61c3c5f05e723ae..4b4efa9076e553b665ffa5d53024bfad096ba1b3 100644
--- a/features.in/syslinux/cfg.in/83rescue_fm.cfg
+++ b/features.in/syslinux/cfg.in/83rescue_fm.cfg
@@ -1,5 +1,5 @@
 label rescue_forensic
   menu label ^Forensic mode (leave disks alone)
   kernel /boot/vmlinuz
-  append initrd=/boot/@initrd@ fastboot live automatic=method:cdrom ramdisk_size=@rescue_size@ splash=0 showopts stagename=rescue @rescue_bootargs@ max_loop=16 forensic hash=@rescue_hash@
+  append initrd=/boot/@initrd@ fastboot live @initrd_bootargs@ @stagename@=rescue ramdisk_size=@rescue_size@ splash=0 showopts @rescue_bootargs@ max_loop=16 forensic hash=@rescue_hash@
 
diff --git a/features.in/syslinux/cfg.in/84rescue_remote.cfg b/features.in/syslinux/cfg.in/84rescue_remote.cfg
index 00292efab76371c4e004e3c12e923a79ec7623a1..0b3c49657322b37086896c1cdd522585665675b0 100644
--- a/features.in/syslinux/cfg.in/84rescue_remote.cfg
+++ b/features.in/syslinux/cfg.in/84rescue_remote.cfg
@@ -1,5 +1,4 @@
 label rescue_remote
   menu label Rescue with remote SSH ^access (DHCP)
   kernel /boot/vmlinuz
-  append initrd=/boot/@initrd@ fastboot live automatic=method:cdrom ramdisk_size=@rescue_size@ stagename=rescue splash=0 showopts @rescue_bootargs@ quiet ip=dhcp port=22 rootpw=AUTO
-
+  append initrd=/boot/@initrd@ fastboot live @initrd_bootargs@ @stagename@=rescue ramdisk_size=@rescue_size@ splash=0 showopts @rescue_bootargs@ quiet ip=dhcp port=22 rootpw=AUTO
diff --git a/features.in/syslinux/generate.mk b/features.in/syslinux/generate.mk
index 3ad807eac6026d6a78b3e22d54f8b1329ea1f6ab..277424717b9152aac280e9289ac6f56a1765d402 100644
--- a/features.in/syslinux/generate.mk
+++ b/features.in/syslinux/generate.mk
@@ -31,6 +31,11 @@ endif
 DSTDIR  := $(BUILDDIR)/stage1/files/syslinux/.in
 DSTCFGS := $(DSTDIR)/*.cfg
 
+ifeq (initrd-propagator,$(STAGE1_INITRD))
+STAGE1_INITRD_BOOTARGS := changedisk automatic=method:cdrom
+STAGE1_INITRD_STAGE2_OPTION := stagename
+endif
+
 # we can do SYSLINUX_{CFG,MODULES,FILES}
 # CFG have only cfg snippet
 # FILES have only filenames (absolute or relative to /usr/lib/syslinux/)
@@ -95,6 +100,8 @@ bootargs: clean
 	else \
 		sed -i "s,@initrd@,initrd.img," $(DSTCFGS); \
 	fi
+	@sed -i "s|@initrd_bootargs@|$(STAGE1_INITRD_BOOTARGS)|g" $(DSTCFGS)
+	@sed -i "s,@stagename@,$(STAGE1_INITRD_STAGE2_OPTION),g" $(DSTCFGS)
 
 clean: copy
 	@if [ "$(SYSLINUX_UI)" = gfxboot ]; then \