Pete Batard via Syslinux <syslinux at zytor.com> writes:> One solution to avoid that would be to embed in Rufus all possible > .c32 modules from Syslinux, alongside with the 'ldlinux.sys' version > we have, and replace them on the USB.Why not install instead an arbitrary version of Syslinux and replace all .c32 files with the modules of the installed version? -- Regards, Feri
Hi Ferenc, On 2016.03.07 17:55, Ferenc W?gner wrote:> Why not install instead an arbitrary version of Syslinux and replace all > .c32 files with the modules of the installed version?I mentioned that in my previous mail. But I reckon it was easy to miss as that mail was rather long: "One solution to avoid that would be to embed in Rufus all possible .c32 modules from Syslinux, alongside with the 'ldlinux.sys' version we have, and replace them on the USB. This is not very realistic however (the application size would explode, and as more version of Syslinux get releases, we'd have more modules to embed)" One thing you may not realize is that Rufus is less than 1MB in size, and I'd rather keep it that way (for various reason, one being the bandwidth costs associated with circa 2M downloads/month) and that the Syslinux files are only one of the various binaries I have to embed in it (there's also some FreeDOS, GRUB and Grub4DOS binaries, a FAT12 UEFI:NTFS image as well as and other stuff). Or, if your suggestion is not to embed but instead to only download the .c32 needed from a server, you do understand that some people may want to limit the number of files they have to fetch from the internet when creating a bootable USB drive. Also, because I have a 6.03 release version of Syslinux embedded in Rufus, I have some plans to add a 3rd fallback for the ldlinux.sys installation in case we can't connect to the internet, but the <major>.<minor> matches with one of the versions we embed (which should actually allow the creation of a working tails 2.0.1 USB in Rufus, even for people who have no connection). Besides, the point of modules is that, if someone doesn't find one that suits their purpose, they can create their own. So I may have to hunt for custom modules, used on some obscure ISO, to recompile them for whatever version I set, rather than go with the more generic and lightweight process I described... Regards, /Pete
On Mon, 7 Mar 2016, Pete Batard via Syslinux wrote:> On 2016.03.07 17:55, Ferenc W?gner wrote: >> Why not install instead an arbitrary version of Syslinux and replace all >> .c32 files with the modules of the installed version? > > I mentioned that in my previous mail. But I reckon it was easy to miss > as that mail was rather long: > > > "One solution to avoid that would be to embed in Rufus all possible .c32 > modules from Syslinux, alongside with the 'ldlinux.sys' version we have, > and replace them on the USB. This is not very realistic however (the > application size would explode, and as more version of Syslinux get > releases, we'd have more modules to embed)" > > > One thing you may not realize is that Rufus is less than 1MB in size, > and I'd rather keep it that way (for various reason, one being the > bandwidth costs associated with circa 2M downloads/month) and that the > Syslinux files are only one of the various binaries I have to embed in > it (there's also some FreeDOS, GRUB and Grub4DOS binaries, a FAT12 > UEFI:NTFS image as well as and other stuff).What I don't get is why do you have to rebuild the boot loader in the first place. Most of these isos (including the Tails one) are hybrid which should work if you just dd/rawrite it on the USB drive. Rufus seems to do something much more complicated than this, risking breaking the boot loader of the iso while rebuilding it. If the iso already supports booting from USB no rebuilding should be needed, if it does not changing it automatically for something it was not intended to do could either work if you're lucky or fail if you're not. Regards, BALATON Zoltan