Matt Fleming wrote:> On Wed, 03 Jul, at 03:02:19PM, Andreas Heinlein wrote: >> I had to add at least one boot entry to get a working config, so I >> ended up with this isolinux.cfg: >> >> label live >> menu label ^Try Ubuntu without installing >> kernel /casper/vmlinuz >> append file=/cdrom/preseed/ubuntu.seed boot=casper >> initrd=/casper/initrd.lz quiet splash -- >> menu background splash.png >> ui vesamenu.c32 >> >> This works. Now just substitute 'ui vesamenu.c32' with 'ui gfxboot >> bootlogo', and I get the described behaviour. I used >> isolinux-debug.bin this time, but the last line I get is >> "Initializing gfx code...", and then the screen goes black. > > Right, unfortunately gfxboot.c32 is making use of the COMBOOT API which > was deleted in 5.00 (it's done directly from 16-bit assembly so I didn't > catch it when doing the removal). Which means that it's missing large > parts of functionality, like being able to open and read/write files. > > I'll take a look at fixing this.gfxboot.c32 is supposed to work as expected if you put all required files inside the bootlogo archive. Sebastian
On Wed, 03 Jul, at 09:53:32PM, Sebastian Herbszt wrote:> gfxboot.c32 is supposed to work as expected if you put all required files > inside the bootlogo archive.>From reading com32/gfxboot/gfxboot.c, the code in the bootlog archivecalls *out* into a realmode section compiled into gfxboot.c32 (realmode_callback.asm) to do things like open files, read sectors, etc. It's these utility functions that no longer work. -- Matt Fleming, Intel Open Source Technology Center
Matt Fleming wrote:> On Wed, 03 Jul, at 09:53:32PM, Sebastian Herbszt wrote: >> gfxboot.c32 is supposed to work as expected if you put all required files >> inside the bootlogo archive. > > From reading com32/gfxboot/gfxboot.c, the code in the bootlog archive > calls *out* into a realmode section compiled into gfxboot.c32 > (realmode_callback.asm) to do things like open files, read sectors, etc. > > It's these utility functions that no longer work.Calls to those functions only happen if the gfxboot core (bincode.asm) requests them. cb_status, cb_fopen and cb_fread are only called from gfxboot core (prim_findfile) if the requested file is not part of the bootlogo archive. cb_getcwd is deprecated, cb_chdir and cb_mount were never supported on upstream syslinux. The only function left is cb_readsector which seems optional in gfxboot core. There should be no loss of functionality if required files are part of the bootlogo archive. Sebastian