3642 |
|
|
3643 |
return ret; |
return ret; |
3644 |
} |
} |
3645 |
|
|
3646 |
/* Construct a device name in DEVICE. */ |
/* Construct a device name in DEVICE. */ |
3647 |
void sprint_device (int drive, int partition) |
void sprint_device (int drive, int partition) |
3648 |
{ |
{ |
3836 |
arguments. */ |
arguments. */ |
3837 |
sprint_device (installed_drive, installed_partition); |
sprint_device (installed_drive, installed_partition); |
3838 |
|
|
3839 |
#ifdef NO_BUGGY_BIOS_IN_THE_WORLD |
#if 1 |
3840 |
/* I prefer this, but... */ |
/* Don't embed a drive number unnecessarily. */ |
3841 |
grub_sprintf (cmd_arg, "%s%s%s%s %s%s %s p %s %s", |
grub_sprintf (cmd_arg, "%s%s%s%s %s%s %s p %s %s", |
3842 |
is_force_lba? "--force-lba" : "", |
is_force_lba? "--force-lba" : "", |
3843 |
stage2_arg? stage2_arg : "", |
stage2_arg? stage2_arg : "", |
3848 |
stage2, |
stage2, |
3849 |
config_filename, |
config_filename, |
3850 |
real_config_filename); |
real_config_filename); |
3851 |
#else /* ! NO_BUGGY_BIOS_IN_THE_WORLD */ |
#else /* NOT USED */ |
3852 |
/* Actually, there are several buggy BIOSes in the world, so we |
/* This code was used, because we belived some BIOSes had a problem |
3853 |
may not expect that your BIOS will pass a booting drive to stage1 |
that they didn't pass a booting drive correctly. It turned out, |
3854 |
correctly. Thus, always specify the option `d', whether |
however, stage1 could trash a booting drive when checking LBA support, |
3855 |
INSTALLED_DRIVE is identical with IMAGE_DRIVE or not. *sigh* */ |
because some BIOSes modified the register %dx in INT 13H, AH=48H. |
3856 |
|
So it becamed unclear whether GRUB should use a pre-defined booting |
3857 |
|
drive or not. If the problem still exists, it would be necessary to |
3858 |
|
switch back to this code. */ |
3859 |
grub_sprintf (cmd_arg, "%s%s%s%s d %s %s p %s %s", |
grub_sprintf (cmd_arg, "%s%s%s%s d %s %s p %s %s", |
3860 |
is_force_lba? "--force-lba " : "", |
is_force_lba? "--force-lba " : "", |
3861 |
stage2_arg? stage2_arg : "", |
stage2_arg? stage2_arg : "", |
3865 |
stage2, |
stage2, |
3866 |
config_filename, |
config_filename, |
3867 |
real_config_filename); |
real_config_filename); |
3868 |
#endif /* ! NO_BUGGY_BIOS_IN_THE_WORLD */ |
#endif /* NOT USED */ |
3869 |
|
|
3870 |
/* Notify what will be run. */ |
/* Notify what will be run. */ |
3871 |
grub_printf (" Running \"install %s\"... ", cmd_arg); |
grub_printf (" Running \"install %s\"... ", cmd_arg); |