[syslinux] initramfs_init() changes in 6.04

David Woodhouse dwmw2 at infradead.org
Thu Aug 2 07:20:35 PDT 2018

Commit 73fb321a5d56b ("lua: make initramfs structures full userdata
objects with methods") broke my boot script, requiring a workaround
along the lines of the patch below:

Is this an intentional user-visible change? I note the documentation at
hasn't been updated and still shows what to do for 6.03 without any
hint that it won't be compatible with 6.04.

Also... if we are doing this, then why do we need to pass the first
'initramfs' argument into the initramfs.load() function? Surely it
should have access to 'self' without the caller having to explicitly
pass it in? Isn't that kind of the point?

--- a/boot/syslinux.lua
+++ b/boot/syslinux.lua
@@ -87,8 +87,14 @@
 -- Booting the kernel
 local kernel = sl.loadfile("/BZIMAGE")
-local initramfs = sl.initramfs_init()
-sl.initramfs_load_archive(initramfs, "/INITRD")
+local initramfs
+if sl.initramfs_init ~= nil then
+  initramfs = sl.initramfs_init()
+  sl.initramfs_load_archive(initramfs, "/INITRD")
+  initramfs = sl.initramfs()
+  initramfs.load(initramfs, "/INITRD")
 local cmdline =  get_content("/CMDLINE")
-------------- next part --------------
A non-text attachment was scrubbed...
Name: smime.p7s
Type: application/x-pkcs7-signature
Size: 5213 bytes
Desc: not available
URL: <http://www.zytor.com/pipermail/syslinux/attachments/20180802/030ad700/attachment.bin>

More information about the Syslinux mailing list