Gerd Hoffmann wrote:
> On Sun, Feb 28, 2021 at 02:22:53PM -0000, Yiguang Chen wrote:
> >   Most time, When a vm with seabios start. The bios will
> > display such info:
> >  -----
> >  Seabios (version rel-1.13-0 ......)
> >  Machine UUID ...
> >  
> >  IPXE ..
> >  
> >  IPXE..
> >  
> >  Booting from DVD/CD...
> >  Press any key to boot from CD or DVD.
> >  ---
> >  
> >  It means that have a bootable cdrom to boot. But If we want to 
boot
> >  from cdrom, we must press any key as what the warning had said. 
If it
> >  is possible to boot from DVD/CD automatically, instead of 
pressing a
> >  key by hand? 
> This is a windows install iso, right?


You are right. The cdrom is a windows install iso. 


> This isn't seabios, the windows boot loader does that.  I think 
windows
> does this only in case it finds a bootable hard disk.  So when booting
> the guest with a fresh & blank virtual hard disk it should boot the
> windows installer without asking for a key press.


It seems that the windows install iso cause this behavior and the seabios 
source code prove this.
--- roms/seabios/src/boot.c
static void
boot_cdrom(struct drive_s *drive)
{
    if (! CONFIG_CDROM_BOOT)
        return;
    printf("Booting from DVD/CD...\n");


    int status = cdrom_boot(drive);
    if (status) {
        printf("Boot failed: Could not read from CDROM 
(code %04x)\n", status);
        return;
    }


    u8 bootdrv = CDEmu.emulated_drive;
    u16 bootseg = CDEmu.load_segment;


    tpm_add_cdrom(bootdrv, MAKE_FLATPTR(bootseg, 0), 512);


    /* Canonicalize bootseg:bootip */
&nbsp; &nbsp; u16 bootip = (bootseg &amp; 0x0fff) << 4;
&nbsp; &nbsp; bootseg &amp;= 0xf000;


&nbsp; &nbsp; call_boot_entry(SEGOFF(bootseg, bootip), bootdrv);
}
---


Best regards,
YiguangChen
_______________________________________________
SeaBIOS mailing list -- seabios@seabios.org
To unsubscribe send an email to seabios-le...@seabios.org

Reply via email to