diff --git a/src/Makefile.housekeeping b/src/Makefile.housekeeping index ee652b0a..6126247b 100644 --- a/src/Makefile.housekeeping +++ b/src/Makefile.housekeeping @@ -403,6 +403,11 @@ include $(MEDIA_DEPS) allroms allzroms : all%s : $(foreach ROM,$(ROMS),$(BIN)/$(ROM).%) all%s : $(foreach DRIVER,$(DRIVERS),$(BIN)/$(DRIVER).%) +# Alias for gpxe.% +# +$(BIN)/etherboot.% : $(BIN)/gpxe.% + ln -sf $(notdir $<) $@ + # The compression utilities # $(NRV2B) : util/nrv2b.c $(MAKEDEPS) diff --git a/src/arch/i386/interface/pcbios/int13.c b/src/arch/i386/interface/pcbios/int13.c index 53817c7a..a26dcff4 100644 --- a/src/arch/i386/interface/pcbios/int13.c +++ b/src/arch/i386/interface/pcbios/int13.c @@ -543,8 +543,9 @@ void register_int13_drive ( struct int13_drive *drive ) { /* Assign drive number if none specified, update BIOS drive count */ get_real ( num_drives, BDA_SEG, BDA_NUM_DRIVES ); - if ( ! drive->drive ) - drive->drive = ( num_drives | 0x80 ); + if ( ( drive->drive & 0xff ) == 0xff ) + drive->drive = num_drives; + drive->drive |= 0x80; num_drives++; if ( num_drives <= ( drive->drive & 0x7f ) ) num_drives = ( ( drive->drive & 0x7f ) + 1 );