Michael Gorven
7217f315d3
LUKS support based on work of Michael Gorven with some code from Clemens Fruhwirth and heavily cleaned up by me (phcoder)
...
Also-By: Clemens Fruhwirth <clemens@endorphin.org>
Also-By: Vladimir Serbinenko <phcoder@gmail.com>
2011-04-21 11:14:29 +02:00
Vladimir 'phcoder' Serbinenko
50d2cc5ae5
Identify RAID by its UUID rather than (guessed) name.
...
* grub-core/disk/raid.c (ascii2hex): New function.
(grub_raid_open): Accept mduuid/%s specification.
* grub-core/kern/emu/getroot.c (get_mdadm_name): Revamped into ...
(get_mdadm_uuid): ... this.
(grub_util_get_grub_dev): Use mduuid/%s if UUID is available.
2011-04-16 15:27:35 +02:00
Vladimir 'phcoder' Serbinenko
bd671cc4fe
Use Block IO on EFI
2011-04-15 18:15:06 +02:00
Vladimir 'phcoder' Serbinenko
e745cf0ca6
Implement automatic module license checking according to new GNU
...
guidelines.
* grub-core/kern/dl.c (grub_dl_check_license): New function.
(grub_dl_load_core): Use grub_dl_check_license.
* include/grub/dl.h (GRUB_MOD_SECTION): New macro.
(GRUB_MOD_LICENSE): Likewise.
(GRUB_MOD_DUAL_LICENSE): Likewise.
All modules updated.
2011-04-11 23:01:51 +02:00
Vladimir 'phcoder' Serbinenko
3c0e3f142a
* grub-core/disk/raid.c [GRUB_UTIL]: Add missing include.
2011-04-08 12:06:55 +02:00
Vladimir 'phcoder' Serbinenko
a562b47916
* grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Detect spares
...
and report them as not RAID members since they are useless for GRUB.
* grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
2011-04-06 12:29:49 +02:00
Vladimir 'phcoder' Serbinenko
6ac14e6cef
Fix EFI compilation
2011-04-05 09:34:58 +02:00
Vladimir 'phcoder' Serbinenko
850e937329
Increase LVM implementation robustness in order not to crash on
...
configurations like pvmove. Previously code assumed that in some places
only lvs or only pvs are used whereas it seems that they are used
interchangeably.
* grub-core/disk/lvm.c (read_node): New function.
(read_lv): Use read_node.
(grub_lvm_scan_device): Use only first mirror on pvmove'd lvs.
Match volumes only at the end when all lvs are found. Take both
pvs (first) and lvs (second) into account.
* include/grub/lvm.h (grub_lvm_segment): Merge fields stripe_* and
mirror_* into node_*. All users updated.
(grub_lvm_stripe): Merge this ...
(grub_lvm_mirror): ... and this ...
(grub_lvm_node): ... into this. All users updated.
2011-04-03 16:28:14 +02:00
Vladimir 'phcoder' Serbinenko
6f33215394
* grub-core/disk/lvm.c (grub_lvm_scan_device): Print errors on the end
...
of function to allow further scanning for LVMs.
2011-04-03 15:57:44 +02:00
Colin Watson
2cccc747ac
Store the loopback device as data on loopback grub_disk structures,
...
rather than the file it points to. This fixes use of freed memory
if an existing loopback device is replaced.
* grub-core/disk/loopback.c (grub_loopback_open): Store dev in
disk->data, not dev->file.
(grub_loopback_read): Adjust file assignment to match.
Fixes Ubuntu bug #742967 .
2011-04-01 17:04:10 +01:00
Colin Watson
186ae367af
* grub-core/disk/loopback.c (grub_cmd_loopback): Fix a memory leak
...
when replacing an existing device.
2011-04-01 15:35:09 +01:00
Vladimir 'phcoder' Serbinenko
241e41f55c
* grub-core/disk/raid.c (insert_array): Add few potentially
...
useful grub_util_info.
(grub_raid_register): Likewise.
2011-03-30 16:54:11 +02:00
Vladimir 'phcoder' Serbinenko
87d1aa1927
* grub-core/disk/lvm.c (grub_lvm_scan_device): Remove spurious \n.
2011-03-30 13:02:39 +02:00
Vladimir 'phcoder' Serbinenko
fc18f6a3cb
* util/grub.d/10_linux.in: Skip vmlinux-* on x86 platforms.
2011-03-29 19:47:34 +02:00
Colin Watson
61d7156b94
* grub-core/disk/loopback.c (GRUB_MOD_INIT): Stop documenting
...
removed -p option.
2011-03-29 18:00:23 +01:00
Colin Watson
b4db4f39f0
* grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): If
...
real_sb->size is zero (e.g. RAID-0), get the disk size from
real_sb->data_size instead.
Fixes Ubuntu bug #743136 .
2011-03-29 10:51:58 +01:00
Vladimir 'phcoder' Serbinenko
09573499ff
Initial variable sector size support
2011-03-29 02:02:55 +02:00
Colin Watson
2414872538
* grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Remove stale
...
comment.
2011-03-28 15:17:22 +01:00
Colin Watson
f329eda79e
* grub-core/disk/raid.c (grub_raid_register): Adjust debug message
...
to be specific about what kind of RAID device we're scanning for.
2011-03-28 13:23:54 +01:00
Vladimir 'phcoder' Serbinenko
b1d2840445
* grub-core/disk/usbms.c (grub_usbms_reset): Transform USB-style error
...
into GRUB-style one.
2011-03-23 12:21:15 +01:00
Vladimir 'phcoder' Serbinenko
7d4e39d65a
* grub-core/bus/usb/usb.c (attach_hooks): Make static.
...
* grub-core/bus/usb/usbhub.c (hubs): Likewise.
* grub-core/commands/hashsum.c (aliases): Likewise.
* grub-core/commands/setpci.c (pci_registers): Likewise.
* grub-core/disk/usbms.c (attach_hook): Likewise.
* grub-core/fs/zfs/zfs.c (decomp_table): Likewise.
(zio_checksum_table): Likewise.
* grub-core/gettext/gettext.c (grub_gettext_msg_list): Likewise.
* grub-core/gfxmenu/gfxmenu.c (cached_view): Likewise.
* grub-core/lib/legacy_parse.c (legacy_commands): Likewise.
* grub-core/lib/relocator.c (leftovers): Likewise.
(extra_blocks): Likewise.
* grub-core/loader/i386/bsd.c (relocator): Likewise.
* grub-core/loader/i386/multiboot_mbi.c (modules): Likewise.
(modules_last): Likewise.
* grub-core/loader/i386/xnu.c (table_aliases): Likewise.
(devices): Likewise.
* grub-core/loader/multiboot_mbi2.c (modules): Likewise.
(modules_last): Likewise.
* grub-core/normal/auth.c (users): Likewise.
* grub-core/normal/context.c (initial_menu): Likewise.
(current_menu): Likewise.
* grub-core/normal/crypto.c (crypto_specs): Likewise.
* grub-core/term/serial.c (grub_serial_ports): Likewise.
(grub_serial_terminfo_input_template): Likewise.
(grub_serial_terminfo_output_template): Likewise.
(grub_serial_terminfo_input): Likewise.
(grub_serial_terminfo_output): Likewise.
(registered): Likewise.
* grub-core/term/usb_keyboard.c (attach_hook): Likewise.
2011-03-23 12:05:13 +01:00
Anthony DeRobertis
5d4c5f8914
* grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Check
...
super_offset field.
2011-01-22 15:20:08 +01:00
Vladimir 'phcoder' Serbinenko
5d4f4dd51b
* grub-core/disk/scsi.c (grub_scsi_read): Fix binary and check and make
...
logical expression more readable.
2011-01-22 13:22:46 +01:00
Vladimir 'phcoder' Serbinenko
e489601ad0
* grub-core/disk/raid.c (insert_array): Ensure uniqueness of p->number
...
even if some elements have a name.
Reported by: Alexander GQ Gerasiov.
2011-01-22 13:18:05 +01:00
Vladimir 'phcoder' Serbinenko
b44a558c9a
Use alias->path rather than buggy "canon".
...
* grub-core/disk/ieee1275/ofdisk.c (ofdisk_hash_add_real): New function.
(ofdisk_hash_add): New argument curcan. All users updated.
2011-01-12 11:26:28 +01:00
Vladimir 'phcoder' Serbinenko
cf0eaf13a1
* grub-core/disk/raid.c (insert_array): Display RAID name in duplicate
...
members errors.
2011-01-10 17:28:29 +01:00
Vladimir 'phcoder' Serbinenko
c0cf26da6b
* grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Add missing
...
endian transformations.
* grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
Based on report by: Doug Nazar.
2011-01-07 16:17:24 +01:00
Doug Nazar
0ca09e6c52
* grub-core/disk/raid5_recover.c (grub_raid5_recover): Add missing
...
array->members[i].start_sector.
* grub-core/disk/raid6_recover.c (grub_raid6_recover): Likewise.
2011-01-07 14:41:44 +01:00
Vladimir 'phcoder' Serbinenko
446fa40081
* grub-core/disk/i386/pc/biosdisk.c (GRUB_MOD_INIT): Workaround buggy
...
BIOSes.
2011-01-04 15:42:47 +01:00
Vladimir 'phcoder' Serbinenko
7a1d4deec9
Fix finalisation/restore
2011-01-03 15:59:20 +01:00
Vladimir 'phcoder' Serbinenko
3d5f359d3b
merge mainline into ahci
2010-12-26 11:20:12 +01:00
Jeroen Dekkers
190a011a8b
* grub-core/disk/raid.c (insert_array): Don't add spurious members.
2010-12-25 22:32:54 +01:00
Vladimir 'phcoder' Serbinenko
9797178671
Accept ports in state 1
2010-12-25 18:02:43 +01:00
Vladimir 'phcoder' Serbinenko
c76ae9b4da
set parms.write on disk write
2010-12-25 17:40:00 +01:00
Vladimir 'phcoder' Serbinenko
3c51ecb82b
Fix adressing mode mismatch
2010-12-25 15:47:23 +01:00
Vladimir 'phcoder' Serbinenko
d1e517eb20
extend --disk-module to AHCI and USB
2010-12-25 12:11:54 +01:00
Vladimir 'phcoder' Serbinenko
d9675dbee3
Move 0xE0 to callers rather than to have it in drivers
2010-12-25 03:47:51 +01:00
Vladimir 'phcoder' Serbinenko
a934071d76
Remove unused pata ioaddress2
2010-12-25 03:22:12 +01:00
Vladimir 'phcoder' Serbinenko
188ac234bd
use DMA for AHCI commands
2010-12-25 03:12:49 +01:00
Vladimir 'phcoder' Serbinenko
060d0c7ac2
working AHCI (at last)
2010-12-25 03:06:07 +01:00
Vladimir 'phcoder' Serbinenko
51f7e1acb7
DMA ATA commands support
2010-12-25 02:53:20 +01:00
Vladimir 'phcoder' Serbinenko
908a8fc37a
Fix several AHCI problems
2010-12-24 19:48:55 +01:00
Vladimir 'phcoder' Serbinenko
ee2b985ef6
rearrange wait_not_busy
2010-12-24 17:11:21 +01:00
Vladimir 'phcoder' Serbinenko
8f5ac9e570
fix ATAPI support
2010-12-24 17:10:41 +01:00
Vladimir 'phcoder' Serbinenko
22a7cc9a6f
fix 3rd argument to scsi_iterate
2010-12-24 17:09:56 +01:00
Vladimir 'phcoder' Serbinenko
faec81d97d
Add missing buffer specifications
2010-12-24 16:54:33 +01:00
Vladimir 'phcoder' Serbinenko
de2690be7c
merge mainline into ahci
2010-12-24 16:16:01 +01:00
Vladimir 'phcoder' Serbinenko
dfd240b122
* grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Fix spurious
...
warning.
2010-11-19 22:52:27 +01:00
Vladimir 'phcoder' Serbinenko
7b61e6096b
* grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Don't try to
...
retrieve the metadat sector if size isn't known.
* grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
2010-11-19 22:48:26 +01:00
Vladimir 'phcoder' Serbinenko
1fd08bf111
* grub-core/disk/lvm.c (GRUB_MOD_FINI): Reset the vg_list. Fixes
...
LVM on RAID support.
2010-11-14 14:13:11 +01:00
Vladimir 'phcoder' Serbinenko
3a1197cdb0
* grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Do not put
...
elements with invlid index.
* grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
* grub-core/disk/raid.c (insert_array): Automatically reallocate
members.
* include/grub/raid.h (grub_raid_member): New struct.
(grub_raid_array): Transform devices and start_sector into usage of
grub_raid_member. All users updated
(allocated_devs): New member.
2010-11-01 10:20:58 +01:00
Szymon Janc
6bdda8f877
* grub-core/commands/legacycfg.c (grub_cmd_legacy_kernel):
...
Set-but-not-used variable ifdef'ed.
* grub-core/lib/legacy_parse.c (grub_legacy_parse): Likewise.
* grub-core/bus/usb/ohci.c (grub_ohci_pci_iter): Set-but-not-used
variable removed.
* grub-core/disk/lvm.c (grub_lvm_scan_device): Likewise.
* grub-core/fs/jfs.c (grub_jfs_find_file): Likewise.
* grub-core/fs/minix.c (grub_minix_dir): Likewise.
* grub-core/fs/sfs.c (grub_sfs_read_extent): Likewise.
* grub-core/fs/ufs.c (grub_ufs_dir): Likewise.
* grub-core/gfxmenu/gui_list.c (grub_gui_list_new): Likewise.
* grub-core/gfxmenu/view.c (redraw_menu_visit): Likewise.
* grub-core/gfxmenu/widget-box.c (draw): Likewise.
* grub-core/lib/relocator.c (malloc_in_range): Likewise.
* grub-core/loader/i386/bsdXX.c (grub_netbsd_load_elf_meta): Likewise.
* grub-core/loader/i386/bsd_pagetable.c (fill_bsd64_pagetable):
Likewise.
2010-10-16 22:16:52 +02:00
Vladimir 'phcoder' Serbinenko
20c6bb7e9e
Correctly distinguish mdraid flavours.
...
* grub-core/disk/raid.c (grub_raid_getname) [GRUB_UTIL]: New function.
(insert_array): New argument raid.
* include/grub/disk.h (grub_disk_dev) [GRUB_UTIL]: New member raidname.
* include/grub/raid.h (grub_raid_array) [GRUB_UTIL]: New member driver.
* util/grub-probe.c (probe): PRint raidname instead of plainly "mdraid".
2010-10-08 23:27:27 +02:00
Colin Watson
d7dbe92395
* grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name): Make
...
tpart non-const, so that we can assign to it. (Since this is a
typedef, the constness refers to the pointer rather than what it
points to.)
2010-09-21 13:41:23 +01:00
Vladimir 'phcoder' Serbinenko
74342e312f
Support some annoying BSD and Minix subpartitions.
...
* Makefile.util.def (libgrub.a): Add grub-core/partmap/bsdlabel.c.
* grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name):
Properly handle concatenation.
* grub-core/kern/device.c (grub_device_iterate): Likewise.
* grub-core/normal/completion.c (iterate_partition): Likewise.
* grub-core/kern/disk.c (grub_disk_open): Make disk->name not
contain partition. All users updated.
* grub-core/partmap/bsdlabel.c (grub_netbsdlabel_partition_map): New
struct.
(grub_openbsdlabel_partition_map): Likewise.
(bsdlabel_partition_map_iterate): Rename to ..
(iterate_real): ... this. New arguments sector, freebsd and pmap.
(bsdlabel_partition_map_iterate): New function.
(netopenbsdlabel_partition_map_iterate): Likewise.
(netbsdlabel_partition_map_iterate): Likewise.
(openbsdlabel_partition_map_iterate): Likewise.
(GRUB_MOD_INIT): Register new partmaps.
(GRUB_MOD_FINI): Unregister new partmaps.
* grub-core/partmap/msdos.c (pc_partition_map_iterate): Rename to ...
(grub_partition_msdos_iterate): ... this. All users updated.
Don't support embedding other than in a minix partition.
* include/grub/msdos_partition.h (grub_partition_msdos_iterate): New
proto.
* include/grub/partition.h (grub_partition): New field msdostype.
* util/grub-install.in: Handle openbsd and netbsd types being in
part_bsd module.
2010-09-20 21:45:06 +02:00
Vladimir 'phcoder' Serbinenko
1e8d555b7d
Split mdraid.mod into mdraid09.mod and mdraid1x.mod.
...
* Makefile.util.def (libgrub.a): Add grub-core/disk/mdraid1x_linux.c.
* grub-core/Makefile.core.def (mdraid): Renamed to ...
(mdraid09): ... this.
(mdraid1x): New module.
* grub-core/disk/mdraid_linux.c: Move 1.x parts ...
* grub-core/disk/mdraid1x_linux.c: ...here. All users updated.
2010-09-20 20:09:31 +02:00
Vladimir 'phcoder' Serbinenko
a1d84a5e5e
Unify memory types.
...
* grub-core/Makefile.am (KERNEL_HEADER_FILES): Include memory.h.
* grub-core/commands/lsmmap.c (grub_cmd_lsmmap): Output user-readable
types.
* grub-core/kern/i386/multiboot_mmap.c (grub_lower_mem): Removed.
(grub_upper_mem): Likewise.
* grub-core/kern/ieee1275/init.c (grub_upper_mem): Likewise.
* include/grub/memory.h (grub_memory_type_t): New enum.
All users updated.
2010-09-19 00:04:31 +02:00
Vladimir 'phcoder' Serbinenko
ed80f7d586
* include/grub/command.h (GRUB_COMMAND_FLAG_CMDLINE): Removed. All
...
users updated.
(GRUB_COMMAND_FLAG_MENU): Likewise.
(GRUB_COMMAND_FLAG_BOTH): Likewise.
(GRUB_COMMAND_FLAG_TITLE): Removed.
(GRUB_COMMAND_FLAG_NO_ECHO): Likewise.
(GRUB_COMMAND_FLAG_EXTCMD): Moved into enum.
(GRUB_COMMAND_FLAG_DYNCMD): Likewise.
(GRUB_COMMAND_FLAG_BLOCKS): Likewise.
(grub_command_flags_t): New enum. All users updated.
2010-09-14 23:06:01 +02:00
Vladimir 'phcoder' Serbinenko
94564f81a8
* include/grub/disk.h (grub_disk): Remove has_partitions.
...
All users updated.
* disk/loopback.c (grub_loopback): Remove has_partitions.
All users updated.
(options): Remove partitions. All users updated.
* util/grub-fstest.c (fstest): Don't pass "-p" to loopback.
* util/i386/pc/grub-setup.c (setup): copy partition table only when
actual partition table is found.
2010-09-13 23:59:22 +02:00
Vladimir 'phcoder' Serbinenko
b2a30ac5e4
Filter devaliases and never open same device twice.
...
* grub-core/disk/ieee1275/ofdisk.c (last_devpath): New variable.
(last_ihandle): Likewise.
(ofdisk_hash_ent): New member shortest.
(ofdisk_hash_add): Add canonical path too.
(scan): New function.
(grub_ofdisk_iterate): Iterate over hashed entries.
(compute_dev_path): Don't add :0.
(grub_ofdisk_open): Don't really open the disk.
(grub_ofdisk_close): Avoid closing unrelated disk.
(grub_ofdisk_read): Implement reopen logic.
* grub-core/kern/ieee1275/openfw.c (grub_ieee1275_canonicalise_devname):
New function.
* include/grub/ieee1275/ieee1275.h (grub_ieee1275_canonicalise_devname):
New proto.
2010-09-13 19:17:29 +02:00
Vladimir 'phcoder' Serbinenko
43de930c20
Change to disk->name being raw name. It makes less hidden issues
2010-09-08 21:22:41 +02:00
Vladimir 'phcoder' Serbinenko
dedb5f9be2
merge mainline into nested
2010-09-08 20:40:27 +02:00
Vladimir 'phcoder' Serbinenko
3fcb410549
Fix a double device name
2010-09-08 20:39:57 +02:00
Vladimir 'phcoder' Serbinenko
db0f7e3d20
Rename CD-ROM to cd on BIOS.
...
* grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_get_drive): Recognise
"cd".
(grub_biosdisk_call_hook): Call with "cd" instead of arbitrary hdX.
2010-09-06 09:35:35 +02:00
Vladimir 'phcoder' Serbinenko
294f324d89
* grub-core/disk/lvm.c (grub_lvm_scan_device) [GRUB_UTIL]: Output more
...
diagnostic info.
2010-09-05 23:20:13 +02:00
Vladimir 'phcoder' Serbinenko
82a8506214
* include/grub/file.h (GRUB_FILE_SIZE_UNKNOWN): New definition.
...
* grub-core/disk/loopback.c (grub_loopback_open): Handle unknown file
size.
2010-09-05 17:01:16 +02:00
Vladimir 'phcoder' Serbinenko
df3df23d5c
Reorganise memory map handling
2010-09-04 17:10:10 +02:00
BVK Chaitanya
e5a73c4247
merge with mainline
2010-09-04 09:05:21 +05:30
Vladimir 'phcoder' Serbinenko
069c9c5fda
merge mainline into intwrap
2010-08-29 23:21:21 +02:00
Vladimir 'phcoder' Serbinenko
671404469c
Handle USB pendrives exposed as floppies.
...
* grub-core/boot/i386/pc/boot.S: Check LBA even on what appears to be
floppy.
* grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_open): Likewise.
Check for partitions on all devices.
2010-08-27 03:44:55 +02:00
BVK Chaitanya
928bad4708
merge with mainline
2010-08-26 09:30:11 +05:30
Vladimir 'phcoder' Serbinenko
afba9f98ec
MErge mainline into intwrap
2010-08-25 23:39:42 +02:00
BVK Chaitanya
d84666e6bb
merge with mainline
2010-08-22 21:00:22 +05:30
BVK Chaitanya
16c7cb32c8
merge with mainline
2010-08-19 16:54:00 +05:30
BVK Chaitanya
297f0c2b6e
merge with mainline
2010-07-13 00:43:28 +05:30
BVK Chaitanya
baea17662b
merge with mainline
2010-06-08 09:36:44 +05:30
BVK Chaitanya
a762e3c335
merge with mainline
2010-06-01 17:52:31 +05:30
BVK Chaitanya
16321bf9ca
pull-in emu-lite branch
2010-05-06 12:55:47 +05:30
BVK Chaitanya
8c41176882
automake commit without merge history
2010-05-06 11:34:04 +05:30