Sign Up
Log In
Log In
or
Sign Up
Places
All Projects
Status Monitor
Collapse sidebar
home:wenbowang
grub
grub-0.97-eficd.patch
Overview
Repositories
Revisions
Requests
Users
Attributes
Meta
File grub-0.97-eficd.patch of Package grub
--- grub-0.97/stage2/common.c 2009-03-02 14:00:46.000000000 -0500 +++ grub-0.97/stage2/common.c 2009-03-02 14:04:16.000000000 -0500 @@ -32,7 +32,7 @@ struct multiboot_info mbi; unsigned long saved_drive; unsigned long saved_partition; -unsigned long cdrom_drive; +unsigned long cdrom_drive = 0x100; #ifndef STAGE1_5 unsigned long saved_mem_upper; --- grub-0.97/efi/efidisk.c 2009-03-02 14:00:46.000000000 -0500 +++ grub-0.97/efi/efidisk.c 2009-03-02 14:04:12.000000000 -0500 @@ -534,7 +534,7 @@ unsigned long *drive, unsigned long *partition) { - grub_efi_device_path_t *dp; + grub_efi_device_path_t *dp, *dp1; struct grub_efidisk_data *d, *devices; int drv; unsigned long part; @@ -562,6 +563,27 @@ if (! dp) return 0; + dp1 = dp; + while (1) + { + grub_efi_uint8_t type = GRUB_EFI_DEVICE_PATH_TYPE (dp1); + grub_efi_uint8_t subtype = GRUB_EFI_DEVICE_PATH_SUBTYPE(dp1); + + if (type == GRUB_EFI_MEDIA_DEVICE_PATH_TYPE && + subtype == GRUB_EFI_CDROM_DEVICE_PATH_SUBTYPE) + { + dp1->type = GRUB_EFI_END_DEVICE_PATH_TYPE; + dp1->subtype = GRUB_EFI_END_ENTIRE_DEVICE_PATH_SUBTYPE; + dp1->length[0] = 4; + dp1->length[1] = 0; + } + + if (GRUB_EFI_END_ENTIRE_DEVICE_PATH (dp1)) + break; + + dp1 = GRUB_EFI_NEXT_DEVICE_PATH(dp1); + } + drv = 0; for (d = fd_devices; d; d = d->next, drv++) {
Locations
Projects
Search
Status Monitor
Help
OpenBuildService.org
Documentation
API Documentation
Code of Conduct
Contact
Support
@OBShq
Terms
openSUSE Build Service is sponsored by
The Open Build Service is an
openSUSE project
.
Sign Up
Log In
Places
Places
All Projects
Status Monitor