1
2008-05-09 Robert Millan <rmh@aybabtu.com>
3
* util/biosdisk.c (linux_find_partition, get_os_disk): Handle Virtio
5
* util/grub-mkdevicemap.c (get_virtio_disk_name)
6
(make_device_map): Likewise.
7
Reported by Aurelien Jarno <aurel32@debian.org>
9
2008-05-07 Ian Campbell <ijc@hellion.org.uk>
11
* util/biosdisk.c (get_os_disk): Recognise xvd type disks.
12
* util/grub-mkdevicemap.c (get_xvd_disk_name): New function.
13
(make_device_map): Output entries for xvd type disks.
15
2008-05-07 Robert Millan <rmh@aybabtu.com>
17
* util/biosdisk.c (linux_find_partition, get_os_disk): Handle CCISS
19
* util/grub-mkdevicemap.c (get_cciss_disk_name)
20
(make_device_map): Likewise.
21
Reported by Roland Dreier <rdreier@cisco.com>
23
2008-05-07 Robert Millan <rmh@aybabtu.com>
25
* disk/lvm.c (grub_lvm_scan_device): Detect errors in an additional
26
grub_strstr() call. Correct a few mistakes in failure path handling.
28
2008-05-06 Robert Millan <rmh@aybabtu.com>
30
* util/update-grub_lib.in (make_system_path_relative_to_its_root):
31
Do not print a trailing slash (therefore, the root directory is an
33
(convert_system_path_to_grub_path): Do not remove trailing slash
34
from make_system_path_relative_to_its_root() output.
36
* util/i386/pc/grub-install.in: Add trailing slash to output from
37
make_system_path_relative_to_its_root().
39
2008-05-06 Robert Millan <rmh@aybabtu.com>
41
* util/grub-fstest.c (grub_refresh): Call `fflush (stdout)'. This
42
ensures that output lines aren't intermangled with those sent to
43
stderr (via grub_util_info()).
44
* util/grub-probe.c (grub_refresh): Likewise.
45
* util/i386/pc/grub-setup.c (grub_refresh): Likewise.
47
2008-05-05 Christian Franke <franke@computer.org>
49
* util/grub-mkdevicemap.c (get_floppy_disk_name) [__CYGWIN__]:
50
Add Cygwin device names.
51
(get_ide_disk_name) [__CYGWIN__]: Likewise.
52
(get_scsi_disk_name) [__CYGWIN__]: Likewise.
53
(check_device): Return error instead of success on empty name.
54
(make_device_map): Move label inside linux specific code to
55
prevent compiler warning.
57
2008-04-30 Robert Millan <rmh@aybabtu.com>
59
Based on patch from Fabian Greffrath <greffrath@leat.rub.de>
60
* util/grub.d/10_linux.in: Add ${GRUB_CMDLINE_LINUX_DEFAULT} to the
62
* util/update-grub.in: Export GRUB_CMDLINE_LINUX_DEFAULT.
64
2008-04-29 Robert Millan <rmh@aybabtu.com>
66
* docs/grub.cfg: New file (example GRUB configuration).
68
2008-04-26 Robert Millan <rmh@aybabtu.com>
70
* DISTLIST: Sort (sort -u < DISTLIST | sponge DISTLIST). Add
71
`loader/i386/ieee1275/linux.c', `loader/i386/ieee1275/linux_normal.c'
72
and `disk/ieee1275/nand.c'.
74
2008-04-25 Bean <bean123ch@gmail.com>
76
* Makefile.in (RMKFILES): Add missing arch i386-ieee1275 and
79
* commands/hexdump.c (grub_cmd_hexdump): Support dumping of device,
80
change the buffer size to 4096 for cdrom device.
82
* conf/i386-ieee1275.rmk (pkglib_MODULES): Add _linux.mod, linux.mod
84
(_linux_mod_SOURCES): New variable.
85
(_linux_mod_CFLAGS): Likewise.
86
(_linux_mod_LDFLAGS): Likewise.
87
(linux_mod_SOURCES): Likewise.
88
(linux_mod_CFLAGS): Likewise.
89
(linux_mod_LDFLAGS): Likewise.
90
(nand_mod_SOURCES): Likewise.
91
(nand_mod_CFLAGS): Likewise.
92
(nand_mod_LDFLAGS): Likewise.
94
* disk/ieee1275/ofdisk.c (grub_ofdisk_open): Return
95
GRUB_ERR_UNKNOWN_DEVICE instead of GRUB_ERR_BAD_DEVICE if no device
96
type property. (nand device in olpc don't have this property)
98
* include/grub/disk.h (grub_disk_dev_id): New macro
99
GRUB_DISK_DEVICE_NAND_ID.
101
* include/grub/i386/ieee1275/loader.h (grub_rescue_cmd_linux): New
103
(grub_rescue_cmd_initrd): Likewise.
105
* include/grub/i386/linux.h (GRUB_LINUX_OFW_SIGNATURE): New macro.
106
(linux_kernel_params): Add new member ofw_signature, ofw_num_items,
107
ofw_cif_handler and ofw_idt, adjust padding number.
109
* include/grub/i386/pc/memory.h (grub_upper_mem): Export it if
110
GRUB_MACHINE_IEEE1275 is defined.
112
* include/grub/ieee1275/ieee1275.h (grub_available_iterate):
113
Use NESTED_FUNC_ATTR attribute on the hook parameter.
115
* kern/powerpc/ieee1275/init.c (grub_claim_heap): Use NESTED_FUNC_ATTR
116
on nested function heap_init.
117
(grub_upper_mem): New variable for i386-ieee1275.
118
(grub_get_extended_memory): New function for i386-ieee1275.
119
(grub_machine_init): Call grub_get_extended_memory for i386-ieee1275.
121
* kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Use
122
NESTED_FUNC_ATTR on the hook parameter. Don't quit if no device type
125
* loader/i386/ieee1275/linux.c: New file.
127
* loader/i386/ieee1275/linux_normal.c: New file.
129
* disk/ieee1275/nand.c: New file.
131
2008-04-18 Thomas Schwinge <tschwinge@gnu.org>
133
* util/i386/pc/grub-mkrescue.in (grub_mkimage): Don't overwrite correct
135
* util/powerpc/ieee1275/grub-mkrescue.in (grub_mkimage): Likewise.
137
2008-04-18 Robert Millan <rmh@aybabtu.com>
139
Restructures early code path on ieee1275 to unify grub_main() as
140
the first C function that is executed in every platform.
142
* include/grub/ieee1275/ieee1275.h (grub_ieee1275_init): New prototype.
143
* kern/i386/ieee1275/startup.S (_start): Jump to grub_main() instead of
145
* kern/powerpc/ieee1275/crt0.S (_start): Likewise.
146
* kern/ieee1275/cmain.c (cmain): Rename to ...
147
* kern/ieee1275/cmain.c (grub_ieee1275_init): ... this.
148
* kern/ieee1275/init.c (grub_machine_init): Call grub_ieee1275_init()
151
2008-04-18 Robert Millan <rmh@aybabtu.com>
153
* util/update-grub.in: Fix syntax error when setting
154
`GRUB_PRELOAD_MODULES'.
155
Reported by Stephane Chazelas <stephane@artesyncp.com>
157
2008-04-17 Lubomir Kundrak <lkundrak@redhat.com>
159
* aclocal.m4 (grub_PROG_OBJCOPY_ABSOLUTE): take only .text
160
section into account, newer toolchains generate unique build ids
161
* configure.ac: remove the test for --build-id=none acceptance,
162
we want build ids to be preserved
163
* genmk.rb: add -R .note.gnu.build-id to objcopy, so build id
164
far from other sections don't cause the raw binary images grow
167
2008-04-15 Robert Millan <rmh@aybabtu.com>
169
* disk/lvm.c: Update copyright year.
170
* kern/misc.c: Likewise.
172
2008-04-14 Vesa Jaaskelainen <chaac@nic.fi>
174
* disk/lvm.c (grub_lvm_scan_device): Add forgotten failure path when
175
there is no memory left for physical volume name.
177
2008-04-14 Vesa Jaaskelainen <chaac@nic.fi>
179
* disk/lvm.c (grub_lvm_scan_device): Fix logical volume's physical
180
volume name mapping to support bigger than 9 character names properly.
182
2008-04-13 Robert Millan <rmh@aybabtu.com>
184
* disk/i386/pc/biosdisk.c (grub_biosdisk_rw): Fix CHS limit check,
185
as per http://www.allensmith.net/Storage/HDDlimit/Int13h.htm
187
2008-04-13 Christian Franke <franke@computer.org>
189
* util/i386/pc/grub-mkrescue.in: Add --emulation=floppy
190
to create a floppy emulation boot CD when non emulation mode
192
Enable Joliet CD filesystem extension.
194
2008-04-13 Robert Millan <rmh@aybabtu.com>
196
* kern/misc.c (grub_strncat): Fix off-by-one error.
197
Reported by Zhang Huan <zhanghuan@nrchpc.ac.cn>
199
* kern/env.c (grub_env_context_close): Clear current context, not
201
Patch from Zhang Huan <zhanghuan@nrchpc.ac.cn>
203
* kern/misc.c (grub_strcat): Minor speed optimization (same code size).
205
2008-04-13 Robert Millan <rmh@aybabtu.com>
207
Improve robustness when handling LVM.
209
* disk/lvm.c (grub_lvm_getvalue): Return 0 when `*p' is NULL
210
(and leave `*p' unmodified).
211
(grub_lvm_iterate): Don't assume `vg->lvs != NULL' when iterating
213
(grub_lvm_memberlist): Don't assume `lv->vg->pvs != NULL' when
214
iterating through it.
215
(grub_lvm_open): Don't assume `vg->lvs != NULL' when iterating
217
(grub_lvm_scan_device): Check the return value (and fail gracefuly
218
when due) on each grub_lvm_getvalue() or grub_strstr() call.
219
Don't assume `vg->pvs != NULL' when iterating through it.
221
2008-04-13 Robert Millan <rmh@aybabtu.com>
223
* gendistlist.sh (EXTRA_DISTFILES): Add `genpartmaplist.sh'.
224
* genmk.rb (partmap): New variable.
225
(CLEANFILES, PARTMAPFILES): Add #{partmap}.
226
(#{partmap}): New target rule.
227
* genpartmaplist.sh: New file.
228
* Makefile.in (pkglib_DATA): Add partmap.lst.
229
(partmap.lst): New target rule.
230
* util/i386/pc/grub-mkrescue.in: Generate grub.cfg that loads needed
231
modules (including all partition maps), instead of preloading them.
233
2007-04-13 Fabian Greffrath <fabian.greffrath@web.de>
235
* util/grub.d/30_os-prober.in: New script. Use `os-prober' and
236
`linux-boot-prober' (if installed) to detect other operating
237
systems which are installed on the computer and add them to
239
* conf/common.rmk: Build and install 30_os-prober.
241
2008-04-12 Robert Millan <rmh@aybabtu.com>
243
* kern/powerpc/ieee1275/init.c: Move from here ...
244
* kern/ieee1275/init.c: ... to here. Update all users.
246
* kern/powerpc/ieee1275/cmain.c: Move from here ...
247
* kern/ieee1275/cmain.c: ... to here. Update all users.
249
* kern/powerpc/ieee1275/openfw.c: Move from here ...
250
* kern/ieee1275/openfw.c: ... to here. Update all users.
252
* loader/powerpc/ieee1275/multiboot2.c: Move from here ...
253
* loader/ieee1275/multiboot2.c: ... to here. Update all users.
255
2008-04-10 Pavel Roskin <proski@gnu.org>
257
* configure.ac: Always use "_cv_" in cache variables for
258
compatibility with Autoconf 2.62.
260
2008-04-07 Robert Millan <rmh@aybabtu.com>
262
Revert grub/machine/init.h addition by Pavel (since it breaks on
263
i386-ieee1275 and others):
264
* util/i386/pc/misc.c: Remove grub/machine/init.h.
265
* util/powerpc/ieee1275/misc.c: Likewise.
267
2008-04-07 Robert Millan <rmh@aybabtu.com>
269
* util/grub-probe.c (probe): Improve error message.
271
2008-04-07 Robert Millan <rmh@aybabtu.com>
273
* util/biosdisk.c (read_device_map): Skip devices that don't exist
274
(this prevents the presence of a bogus entry from ruining the whole
277
2008-04-06 Pavel Roskin <proski@gnu.org>
279
* util/biosdisk.c: Include grub/util/biosdisk.h.
280
* util/grub-fstest.c (execute_command): Make static.
281
* util/grub-mkdevicemap.c (check_device): Likewise.
282
* util/i386/pc/misc.c: Include grub/machine/init.h.
283
* util/powerpc/ieee1275/misc.c: Likewise.
284
* util/lvm.c: Include grub/util/lvm.h.
285
* util/misc.c: Include grub/kernel.h, grub/misc.h and
287
* util/raid.c: Include grub/util/raid.h.
288
(grub_util_getdiskname): Make static.
290
* util/grub-emu.c (main): Remove calls to grub_hostfs_init() and
291
grub_hostfs_fini(), as they are called from grub_init_all() and
292
grub_fini_all() respectively. This fixes an infinite loop in
293
grub-fstest due to double registration of hostfs.
294
Reported by Christian Franke <Christian.Franke@t-online.de>
296
2008-04-05 Pavel Roskin <proski@gnu.org>
298
* bus/pci.c (grub_pci_iterate): For multifunction devices, probe
299
all 8 functions. Otherwise, probe function 0 only.
301
2008-04-04 Pavel Roskin <proski@gnu.org>
303
* commands/lspci.c (grub_lspci_iter): Print the bus number
306
* commands/lspci.c (grub_pci_classes): Fix typos.
307
(grub_lspci_iter): Don't print func twice. Print vendor ID
308
before device ID, as it's normally done.
310
* kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options):
311
Fix signedness warnings.
312
* kern/powerpc/ieee1275/openfw.c (grub_available_iterate):
314
* util/ieee1275/get_disk_name.c: Include config.h so that
315
_GNU_SOURCE is defined and getline() is declared. Mark an
316
unused argument as such. Fix a signedness warning.
318
2008-04-02 Pavel Roskin <proski@gnu.org>
320
* genkernsyms.sh.in: Use more robust assignments for CC and
321
srcdir. Quote srcdir.
322
* gensymlist.sh.in: Likewise. Assert at the compile time that
323
the symbol table is not empty.
325
* disk/raid.c (grub_raid_memberlist): Fix a signedness warning.
326
* fs/cpio.c (grub_cpio_read): Likewise.
328
2008-04-01 Pavel Roskin <proski@gnu.org>
330
* disk/ata.c (grub_ata_open): Don't lose precision in disk->id.
331
* disk/host.c (grub_host_open): Likewise.
332
* disk/loopback.c (grub_loopback_open): Likewise.
333
* disk/memdisk.c (grub_memdisk_open): Use a string pointer for
334
disk->id as in disk/host.c, not a multi-character constant.
336
* util/grub-fstest.c (cmd_cmp): Use fseeko(), not fseek(). The
337
later is obsolete, potentially dangerous and sets a bad example.
338
* util/i386/efi/grub-mkimage.c (make_header): Likewise.
339
* util/misc.c (grub_util_get_image_size): Likewise.
341
* disk/loopback.c (options): Improve help for "--partitions".
343
* normal/arg.c (grub_arg_show_help): Fix spacing of the long
344
options to align them with the short options, e.g. "echo -e".
346
2008-03-31 Bean <bean123ch@gmail.com>
348
* video/reader/png.c (grub_png_data): New member is_16bit and
350
(grub_png_decode_image_header): Detect 16 bit png image.
351
(grub_png_convert_image): New function to convert 16 bit image to 8 bit.
352
(grub_png_decode_png): Call grub_png_convert_image for 16 bit image.
353
(grub_video_reader_png): Release memory occupied by image_data.
355
* fs/ntfs.c (find_attr): Handle non-resident attribute list larger than
357
(grub_nfs_mount): Skip the test for sector per cluster.
359
* include/grub/ntfs.h (MAX_SPC): Removed.
361
2008-03-31 Bean <bean123ch@gmail.com>
363
* conf/common.rmk (pkgdata_MODULES): Add afs.mod.
364
(grub_probe_SOURCES): Add fs/afs.c.
365
(grub_fstest_SOURCES): Likewise.
366
(afs_mod_SOURCES): New variable.
367
(afs_mod_CFLAGS): Likewise.
368
(afs_mod_LDFLAGS): Likewise.
370
* conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/afs.c.
371
(grub_emu_SOURCES): Likewise.
373
* conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
375
* conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
377
* conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
379
* conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
381
* fs/afs.c: New file.
383
2008-03-30 Pavel Roskin <proski@gnu.org>
385
* disk/host.c: Include grub/misc.h to fix a warning.
386
* util/hostfs.c: Use GRUB_MOD_INIT and GRUB_MOD_FINI to fix
387
warnings about implicit declarations.
389
* fs/udf.c (grub_udf_mount): Fix warning about a shadowing a
391
* include/grub/i386/loader.h: Change declaration of
392
grub_linux_boot() to match what grub_loader_set() expects.
393
* util/getroot.c (grub_guess_root_device): Return const char* to
395
* util/grub-probe.c (probe): Fix a warning about uninitialized
396
abstraction_name variable.
397
* util/i386/get_disk_name.c (grub_util_get_disk_name): Mark
398
second argument as unused to fix a warning.
400
* loader/i386/pc/multiboot2.c (grub_mb2_arch_elf64_hook): Add
401
missing grub_error() call.
403
* util/update-grub_lib.in: Define datarootdir, since Autoconf
404
2.60 and newer uses it to define datadir.
406
* commands/sleep.c: Fix warning about implicit declaration.
407
* disk/memdisk.c: Likewise.
408
* loader/aout.c: Likewise.
409
* loader/i386/bsd_normal.c: Likewise.
410
* util/grub-probe.c: Likewise.
412
* commands/i386/cpuid.c (has_longmode): Make static.
413
* disk/i386/pc/biosdisk.c (cd_drive): Likewise.
414
* include/grub/i386/bsd.h (bios_memmap_t): Remove, it's unused.
416
* kern/i386/pc/startup.S (real_to_prot): Use %cs prefix to load
417
GDT. This is more robust, as %ds can change.
418
(grub_biosdisk_rw_int13_extensions): Don't clear %ds before
419
calling real_to_prot().
420
(grub_biosdisk_get_diskinfo_int13_extensions): Likewise.
422
2008-03-28 Pavel Roskin <proski@gnu.org>
424
* kern/i386/pc/startup.S: Assert that uncompressed functions
425
don't spill beyond GRUB_KERNEL_MACHINE_RAW_SIZE.
426
* kern/i386/pc/lzo1x.S: Remove all .align directives in the
427
code, as they push parts of the code (error handlers) beyond
428
GRUB_KERNEL_MACHINE_RAW_SIZE. Speed is not as important in this
429
code as correctness and size.
431
2008-03-28 Pavel Roskin <proski@gnu.org>
433
* kern/i386/pc/startup.S
434
(grub_biosdisk_get_diskinfo_int13_extensions): When converting
435
data block address to the real mode, keep offset minimal. This
436
works around a bug in AWARD BIOS on old Athlon systems, which
437
makes CD detection hang.
439
2008-03-26 Pavel Roskin <proski@gnu.org>
441
* normal/color.c (grub_parse_color_name_pair): Make `name' a
443
* include/grub/normal.h: Add grub_parse_color_name_pair()
446
2008-03-24 Bean <bean123ch@gmail.com>
448
* disk/i386/pc/biosdisk.c (cd_start): Removed.
450
(cd_drive): New variable.
451
(grub_biosdisk_get_drive): Don't check for (cdN) device.
452
(grub_biosdisk_call_hook): Likewise.
453
(grub_biosdisk_iterate): Change cdrom detection method.
454
(grub_biosdisk_open): Replace cd_start with cd_drive.
455
(GRUB_MOD_INIT): Use grub_biosdisk_get_cdinfo_int13_extension to
458
* include/grub/i386/pc/biosdisk.h (GRUB_BIOSDISK_MACHINE_CDROM_START):
460
(GRUB_BIOSDISK_MACHINE_CDROM_END): Removed.
461
(GRUB_BIOSDISK_CDTYPE_NO_EMUL): New macro.
462
(GRUB_BIOSDISK_CDTYPE_1_2_M): Likewise.
463
(GRUB_BIOSDISK_CDTYPE_1_44_M): Likewise.
464
(GRUB_BIOSDISK_CDTYPE_2_88_M): Likewise.
465
(GRUB_BIOSDISK_CDTYPE_HARDDISK): Likewise.
466
(GRUB_BIOSDISK_CDTYPE_MASK): Likewise.
467
(grub_biosdisk_cdrp): New structure.
468
(grub_biosdisk_get_cdinfo_int13_extensions): New function.
470
* include/grub/i386/pc/kernel.h (grub_boot_drive): Export this variable.
472
* kern/i386/pc/init.c (make_install_device): Don't use (cdN) as root
475
* kern/i386/pc/startup.S (grub_biosdisk_get_cdinfo_int13_extensions):
478
2008-03-20 Robert Millan <rmh@aybabtu.com>
480
Remove 2 TiB limit in ata.mod.
481
* disk/ata.c (grub_ata_device): Promote `size' to grub_uint64_t.
482
(grub_ata_dumpinfo): Print sector count with 0x%llx.
483
(grub_ata_identify): Interpret `&info16[100]' as a pointer to
484
grub_uint64_t instead of grub_uint32_t.
486
2008-03-05 Bean <bean123ch@gmail.com>
488
* loader/i386/pc/multiboot.c (grub_multiboot_get_bootdev): New function.
489
(grub_multiboot): Set boot device.
491
* boot/i386/pc/lnxboot.S (real_code_2): Set %dh to 0xFF.
493
2008-03-02 Bean <bean123ch@gmail.com>
495
* fs/reiserfs.c (grub_reiserfs_read_symlink): Add 0 at the end of
498
2008-03-01 Yoshinori K. Okuji <okuji@enbug.org>
500
* DISTLIST: Added docs/fdl.texi, docs/grub.texi, docs/mdate-sh and
503
* docs/grub.texi: New file. Copied from GRUB Legacy, and slightly
506
* docs/fdl.texi: New file.
508
* docs/mdate-sh: New file. Copied from gnulib.
509
* docs/texinfo.tex: Likewise.
511
* config.guess: Updated from gnulib.
512
* install-sh: Likewise.
514
2008-02-28 Robert Millan <rmh@aybabtu.com>
516
* conf/i386-linuxbios.rmk (pkglib_MODULES): Add aout.mod.
517
(aout_mod_SOURCES): New variable.
518
(aout_mod_CFLAGS): Likewise.
519
(aout_mod_LDFLAGS): Likewise.
521
* conf/i386-ieee1275.rmk: Likewise.
523
2008-02-28 Robert Millan <rmh@aybabtu.com>
525
* util/update-grub.in: Reorganise terminal validity check. Accept
526
`ieee1275:console' (OLPC) and `*:gfxterm' as valid too.
527
Based on suggestion by Franklin PIAT.
529
2008-02-28 Fabian Greffrath <greffrath@leat.rub.de>
531
* include/grub/util/getroot.h (grub_util_check_block_device): Export new
533
* util/getroot.c (grub_util_check_block_device): New function that
534
returns the given argument if it is a block device and returns NULL else.
535
* util/grub-probe.c (argument_is_device): New variable.
536
(probe): Promote device_name from a variable to an argument. Receive
537
device_name from grub_util_check_block_device() if path is NULL and from
538
grub_guess_root_device() else. Do not free() device_name anymore.
539
(options): Introduce new parameter '-d, --device'.
540
(main): Add description of the new parameter to the help screen.
541
Rename path variable to argument. Set argument_is_device if the '-d'
542
option is given. Pass argument to probe() depending on
545
2008-02-24 Bean <bean123ch@gmail.com>
547
* fs/iso9660.c (GRUB_ISO9660_VOLDESC_BOOT): New macro.
548
(GRUB_ISO9660_VOLDESC_PRIMARY): Likewise.
549
(GRUB_ISO9660_VOLDESC_SUPP): Likewise.
550
(GRUB_ISO9660_VOLDESC_PART): Likewise.
551
(GRUB_ISO9660_VOLDESC_END): Likewise.
552
(grub_iso9660_primary_voldesc): New member escape.
553
(grub_iso9660_data): New member joliet.
554
(grub_iso9660_convert_string): New function.
555
(grub_iso9660_mount): Detect joliet extension.
556
(grub_iso9660_iterate_dir): Convert filename when joliet is detected.
557
(grub_iso9660_iso9660_label): Likewise.
559
* conf/common.rmk (pkgdata_MODULES): Add udf.mod.
560
(grub_setup_SOURCES): Add fs/udf.c.
561
(grub_fstest_SOURCES): Likewise.
562
(udf_mod_SOURCES): New variable.
563
(udf_mod_CFLAGS): Likewise.
564
(udf_mod_LDFLAGS): Likewise.
566
* conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/udf.c.
567
(grub_emu_SOURCES): Likewise.
569
* conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
571
* conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
573
* conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
575
* conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
577
* fs/udf.c: New file.
579
2008-02-24 Robert Millan <rmh@aybabtu.com>
581
* conf/i386-efi.rmk (normal/function.c_DEPENDENCIES)
582
(normal/lexer.c_DEPENDENCIES): New variables.
583
* conf/i386-ieee1275.rmk (normal/function.c_DEPENDENCIES)
584
(normal/lexer.c_DEPENDENCIES): Likewise.
585
* conf/i386-linuxbios.rmk (normal/function.c_DEPENDENCIES)
586
(normal/lexer.c_DEPENDENCIES): Likewise.
587
* conf/i386-pc.rmk (normal/function.c_DEPENDENCIES)
588
(normal/lexer.c_DEPENDENCIES): Likewise.
589
* conf/powerpc-ieee1275.rmk (normal/function.c_DEPENDENCIES)
590
(normal/lexer.c_DEPENDENCIES): Likewise.
591
* conf/sparc64-ieee1275.rmk (normal/function.c_DEPENDENCIES)
592
(normal/lexer.c_DEPENDENCIES): Likewise.
594
2008-02-23 Robert Millan <rmh@aybabtu.com>
596
* partmap/gpt.c (grub_gpt_magic): Add `0x' qualifier to each member,
597
since they were intended to be in hex. This didn't break previously
598
because of a bug in gpt_partition_map_iterate() (see below).
600
(gpt_partition_map_iterate): Replace `grub_memcmp' with `! grub_memcmp'
601
when checking the validity of GPT header.
602
Remove `partno', since it always provides the same information as `i'.
604
2008-02-21 Yoshinori K. Okuji <okuji@enbug.org>
606
* include/grub/efi/time.h: Fix a wrong comment.
608
2008-02-19 Pavel Roskin <proski@gnu.org>
610
* kern/rescue.c (grub_enter_rescue_mode): Improve initial
613
2008-02-19 Bean <bean123ch@gmail.com>
615
* conf/i386-pc.rmk (pkglib_MODULES): Add aout.mod _bsd.mod and bsd.mod.
616
(aout_mod_SOURCES): New variable.
617
(aout_mod_CFLAGS): Likewise.
618
(aout_mod_LDFLAGS): Likewise.
619
(_bsd_mod_SOURCES): New variable.
620
(_bsd_mod_CFLAGS): Likewise.
621
(_bsd_mod_LDFLAGS): Likewise.
622
(bsd_mod_SOURCES): New variable.
623
(bsd_mod_CFLAGS): Likewise.
624
(bsd_mod_LDFLAGS): Likewise.
626
* include/grub/aout.h: New file.
628
* include/grub/i386/loader.h (grub_unix_real_boot): New function.
630
* include/grub/i386/bsd.h: New file.
632
* include/grub/i386/pc/init.h (grub_get_mmap_entry): Use EXPORT_FUNC
635
* kern/elf.c (grub_elf32_load): Get the physical address after the hook
636
function is called, so that it's possible to change it inside the hook.
637
(grub_elf64_load): Likewise.
638
(grub_elf_file): Don't close the file if elf header is not found.
639
(grub_elf_close): Close the file if grub_elf_file fails (The new
640
grub_elf_file won't close it).
641
(grub_elf32_size): Use NESTED_FUNC_ATTR for nested function calcsize.
642
(grub_elf64_size): Likewise.
644
* kern/i386/loader.S (grub_unix_real_boot): New function.
646
* loader/aout.c: New file.
648
* loader/i386/bsd.c: New file.
650
* loader/i386/bsd_normal.c: New file.
652
* loader/i386/pc/multiboot.c (grub_multiboot): Handle a.out format.
654
* loader/multiboot2.c (grub_multiboot2): Reset grub_errno so that it
655
can test othe formats.
657
2008-02-19 Robert Millan <rmh@aybabtu.com>
659
* partmap/gpt.c: Include `<grub/gpt_partition.h>'.
660
(grub_gpt_partition_type_empty): Redefine with macro from
661
`<grub/gpt_partition.h>'.
662
(gpt_partition_map_iterate): Adjust partition type comparison.
664
Export `entry' as partmap-specific `part.data' struct.
665
(grub_gpt_header, grub_gpt_partentry): Move from here ...
667
* include/grub/gpt_partition.h (grub_gpt_header)
668
(grub_gpt_partentry): ... to here (new file).
670
* util/i386/pc/grub-setup.c: Include `<grub/gpt_partition.h>'.
672
(grub_gpt_partition_type_bios_boot): New const variable, defined
673
with macro from `<grub/gpt_partition.h>'.
675
(setup): Replace `first_start' with `embed_region', which keeps
676
track of the embed region (and is partmap-agnostic).
678
Replace find_first_partition_start() with find_usable_region(),
679
which finds a usable region for embedding using partmap-specific
680
knowledge (supports PC/MSDOS and GPT).
682
Fix all assumptions that the embed region start at sector 1, using
683
`embed_region.start' from now on. Similarly, use `embed_region.end'
684
rather than `first_start' to calculate available size.
686
In grub_util_info() message, replace "into after the MBR" with an
687
indication of the specific sector our embed region starts at.
689
2008-02-19 Robert Millan <rmh@aybabtu.com>
691
* DISTLIST: Replace `commands/ieee1275/halt.c' and
692
`commands/ieee1275/reboot.c' with `commands/halt.c' and
694
* conf/powerpc-ieee1275.rmk (grub_emu_SOURCES, reboot_mod_SOURCES)
695
(halt_mod_SOURCES): Likewise.
696
* conf/sparc64-ieee1275.rmk (grub_emu_SOURCES, reboot_mod_SOURCES)
697
(halt_mod_SOURCES): Likewise.
699
2008-02-17 Christian Franke <franke@computer.org>
701
* commands/cat.c (grub_cmd_cat): Add break on GRUB_TERM_ESC key.
703
2008-02-17 Robert Millan <rmh@aybabtu.com>
705
* util/i386/pc/grub-setup.c (setup): In find_first_partition_start(),
706
set `first_start' to 0 for non-PC/MSDOS partition maps.
708
2008-02-16 Robert Millan <rmh@aybabtu.com>
710
* util/i386/pc/grub-setup.c (setup): In find_first_partition_start(),
711
do not assume partition map is PC/MSDOS before performing checks that
712
are specific to that layout.
714
2008-02-13 Robert Millan <rmh@aybabtu.com>
716
* conf/i386-linuxbios.rmk (grub_emu_SOURCES): Remove
717
`commands/i386/pc/halt.c' and `commands/i386/pc/reboot.c'.
718
* kern/i386/linuxbios/init.c (grub_halt, grub_reboot): Remove stubs.
720
2008-02-13 Yoshinori K. Okuji <okuji@enbug.org>
722
* configure.ac: Only a cosmetic change on the handling of
723
-fno-stack-protector.
725
2008-02-12 Alexandre Boeglin <alex@boeglin.org>
727
* conf/i386-efi.rmk (grub_emu_SOURCES): Replace
728
commands/i386/pc/halt.c and reboot.c by commands/halt.c and
730
(grub_install_SOURCES): Add halt.mod and reboot.mod.
731
(halt_mod_SOURCES): New variable.
732
(halt_mod_CFLAGS): Likewise.
733
(halt_mod_LDFLAGS): Likewise.
734
(reboot_mod_SOURCES): Likewise.
735
(reboot_mod_CFLAGS): Likewise.
736
(reboot_mod_LDFLAGS): Likewise.
738
* conf/i386-ieee1275.rmk (grub_emu_SOURCES): Replace
739
commands/ieee1275/halt.c and reboot.c by commands/halt.c and
741
(halt_mod_SOURCES): Likewise.
742
(reboot_mod_SOURCES): Likewise.
744
* conf/i386-pc.rmk (grub_emu_SOURCES): Replace
745
commands/i386/pc/reboot.c by commands/reboot.c.
746
(reboot_mod_SOURCES): Likewise.
748
* commands/i386/pc/reboot.c: merge this file ...
750
* commands/ieee1275/reboot.c: ... and this file ...
752
* commands/reboot.c: ... to this file.
753
Add some precompiler directive to include the correct header for
756
* commands/ieee1275/halt.c: move this file ...
758
* commands/halt.c: ... to here.
759
Add some precompiler directive to include the correct header for
762
* include/grub/efi/efi.h (grub_reboot): New function declaration.
763
(grub_halt): Likewise.
765
* kern/efi/efi.c (grub_reboot): New function.
766
(grub_halt): Likewise.
768
2008-02-12 Robert Millan <rmh@aybabtu.com>
770
* util/getroot.c (grub_guess_root_device): Inspect /dev/evms before
771
/dev (like it is done for /dev/mapper). This doesn't provide support
772
for EVMS, but at least it is now easy to identify the problem when it
775
2008-02-11 Robert Millan <rmh@aybabtu.com>
777
* util/biosdisk.c (grub_util_biosdisk_open, linux_find_partition)
778
(grub_util_biosdisk_get_grub_dev): Check open() exit status by
779
comparing it with -1, not 0.
781
2008-02-10 Robert Millan <rmh@aybabtu.com>
783
* conf/i386-efi.rmk (grub_emu_SOURCES): Add `disk/raid.c' and
785
* conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
786
* conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
788
* conf/i386-ieee1275.rmk (grub_emu_SOURCES): Move `disk/raid.c' and
789
`disk/lvm.c' to the end of the list.
790
* conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
791
* conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
793
2008-02-10 Robert Millan <rmh@aybabtu.com>
795
* kern/main.c (grub_load_normal_mode): Do not reset `grub_errno'. Call
796
grub_print_error() instead. This will let user know why we're entering
798
Based on suggestions from Sam Morris.
800
2008-02-10 Alexandre Boeglin <alex@boeglin.org>
802
* normal/arg.c (grub_arg_parse): If one of the args is "--", call add_arg()
803
on remaining N args, instead of "--" arg N times.
805
2008-02-09 Vesa Jaaskelainen <chaac@nic.fi>
807
* font/manager.c (unknown_glyph): Added variable for unknown glyph.
808
(fill_with_default_glyph): Changed to use unknown_glyph for fill
809
pattern for unknown glyphs.
811
2008-02-09 Robert Millan <rmh@aybabtu.com>
813
* configure.ac: Probe for `help2man'.
814
* Makefile.in (builddir): New variable.
815
(HELP2MAN): Likewise. Set to `true' when @HELP2MAN@ doesn't provide it,
816
or otherwise add a few flags/options to it.
817
(install-local): For every executable utility or script that is
818
installed, invoke $(HELP2MAN) to install a manpage based on --help
821
* util/i386/pc/grub-install.in: Move down `update-grub_lib' sourcing, so
822
that it doesn't prevent --help from working in build tree.
824
* util/i386/pc/grub-mkrescue.in (usage): Replace `grub-devel@gnu.org'
825
with `bug-grub@gnu.org'.
826
* util/powerpc/ieee1275/grub-mkrescue.in (usage): Likewise.
827
* util/update-grub.in (usage): New function.
828
Implement proper argument check, with support for --help and --version
829
(as well as existing -y).
831
2008-02-09 Christian Franke <franke@computer.org>
833
* commands/cat.c (grub_cmd_cat): Print '\r' as hex to
834
avoid overwriting previous output.
835
* kern/rescue.c (grub_rescue_cmd_cat): Likewise.
837
2008-02-09 Robert Millan <rmh@aybabtu.com>
839
* normal/menu.c (run_menu): If timeout is set to zero, don't bother
842
2008-02-09 Robert Millan <rmh@aybabtu.com>
844
* commands/sleep.c: New file.
845
* conf/common.rmk (pkglib_MODULES): Add `commands/sleep.c'.
846
(sleep_mod_SOURCES): New variable.
847
(sleep_mod_CFLAGS): Likewise.
848
(sleep_mod_LDFLAGS): Likewise.
850
2008-02-09 Robert Millan <rmh@aybabtu.com>
852
* disk/raid.c (grub_raid_scan_device): Add a pair of sanity checks for
853
situations in which we can deduce the RAID size and the superblock
856
2008-02-09 Robert Millan <rmh@aybabtu.com>
858
* disk/lvm.c [GRUB_UTIL] (grub_lvm_memberlist): New function. Construct
859
and return a grub_diskmemberlist_t composed of LVM physical volumes.
860
[GRUB_UTIL] (grub_lvm_dev): Add `memberlist' member.
862
* disk/raid.c [GRUB_UTIL] (grub_raid_memberlist): New function. Construct
863
and return a grub_diskmemberlist_t composed of physical array members.
864
[GRUB_UTIL] (grub_raid_dev): Add `memberlist' member.
866
* include/grub/disk.h [GRUB_UTIL] (grub_disk_memberlist): New struct
868
[GRUB_UTIL] (struct grub_disk_dev): Add `memberlist' function pointer.
869
[GRUB_UTIL] (struct grub_disk_memberlist): New struct declaration.
870
[GRUB_UTIL] (grub_disk_memberlist_t): New typedef.
872
* util/grub-probe.c (probe): Move partmap probing code from here ...
873
(probe_partmap): ... to here.
874
(probe): Use probe_partmap() once for the disk we're probing, and
875
additionally, when such disk contains a memberlist() struct member,
876
once for each disk that is contained in the structure returned by
879
2008-02-09 Robert Millan <rmh@aybabtu.com>
881
* util/grub-probe.c (main): When `verbosity > 1', set `debug'
882
environment variable to 'all' in order to obtain debug output from
884
* util/i386/pc/grub-setup.c (main): Likewise.
886
2008-02-08 Robert Millan <rmh@aybabtu.com>
888
* disk/raid.c (grub_raid_scan_device): Check for
889
`array->device[sb.this_disk.number]' rather than for
890
`array->device[sb.this_disk.number]->name', since the latter is not
891
garanteed to be accessible.
893
2008-02-08 Robert Millan <rmh@aybabtu.com>
895
* disk/raid.c: Update copyright.
896
* fs/cpio.c: Likewise.
897
* include/grub/raid.h: Likewise.
898
* loader/i386/pc/multiboot.c: Likewise.
899
* util/hostfs.c: Likewise.
901
2008-02-08 Robert Millan <rmh@aybabtu.com>
903
* include/grub/raid.h (struct grub_raid_array): Change type of `device'
904
to a grub_disk_t array.
905
* disk/raid.c (grub_raid_read): Replace `device[x].disk' accesses with
907
(grub_raid_scan_device): Replace `device[x].name' accesses with
908
`device[x]->name'. Simplify initialization of `array->device[x]'.
910
2008-02-08 Robert Millan <rmh@aybabtu.com>
912
* disk/raid.c (grub_raid_open, grub_raid_scan_device): Add a few
913
grub_dprintf() calls.
914
* kern/disk.c (grub_disk_read): Include grub_errmsg in out of range
917
2008-02-07 Christian Franke <franke@computer.org>
919
* util/hostfs.c (grub_hostfs_open): Use fseeko and ftello
920
instead of fseek and ftell to support large files.
921
(grub_hostfs_read): Likewise.
923
2008-02-07 Robert Millan <rmh@aybabtu.com>
925
Patch from Jeroen Dekkers.
926
* disk/raid.c (grub_raid_scan_device): Reset `grub_errno' on disk
927
failure, since succesfuly reading all array members might not be
930
2008-02-06 Robert Millan <rmh@aybabtu.com>
932
* util/grub-probe.c (probe): Simplify partmap probing (with the
933
assumption that the first word up to the underscore equals to
936
2008-02-06 Christian Franke <franke@computer.org>
938
* fs/cpio.c (grub_cpio_find_file): Return GRUB_ERR_NONE
939
(and set *ofs = 0) instead of GRUB_ERR_FILE_NOT_FOUND on
940
last block of a cpio or tar stream.
941
Check for "TRAILER!!!" instead of any empty data
942
block to detect last block of a cpio stream.
943
(grub_cpio_dir): Fix constness of variable np.
944
(grub_cpio_open): Return GRUB_ERR_FILE_NOT_FOUND if
945
cpio or tar trailer is detected. This fixes a crash
946
on open of a non existing file.
948
2008-02-05 Bean <bean123ch@gmail.com>
950
* loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Get physical
952
(grub_multiboot_load_elf64): Likewise.
953
(grub_multiboot): Initialize mbi structure.
955
* util/grub-fstest.c: Don't include unused header file script.h.
957
* conf/common.rmk (grub-fstest.c_DEPENDENCIES): Move to the begginning
959
(grub_fstest_SOURCES): Likewise.
961
2008-02-05 Robert Millan <rmh@aybabtu.com>
963
* include/grub/term.h (GRUB_TERM_LEFT, GRUB_TERM_RIGHT)
964
(GRUB_TERM_UP, GRUB_TERM_DOWN, GRUB_TERM_HOME, GRUB_TERM_END)
965
(GRUB_TERM_DC, GRUB_TERM_PPAGE, GRUB_TERM_NPAGE, GRUB_TERM_ESC)
966
(GRUB_TERM_TAB, GRUB_TERM_BACKSPACE): New macros.
968
* kern/i386/pc/startup.S: Include `<grub/term.h>'.
969
(translation_table): Replace hardcoded values with macros
970
provided by `<grub/term.h>'.
972
* term/i386/pc/at_keyboard.c: Include `<grub/term.h>'.
973
(keyboard_map): Correct/add a few values, with macros provided
975
(keyboard_map_shift): Zero values that don't differ from their
976
`keyboard_map' equivalents.
977
(grub_console_checkkey): Optimize KEYBOARD_STATUS_CAPS_LOCK toggling.
978
Discard the second scan code that is always sent by Caps lock.
979
Only use `keyboard_map_shift' when it provides a non-zero value,
980
otherwise fallback to `keyboard_map'.
982
2008-02-04 Bean <bean123ch@gmail.com>
984
* Makefile.in (enable_grub_fstest): New variable.
986
* conf/common.rmk (grub_fstest_init.lst): New rule.
987
(grub_fstest_init.h): Likewise.
988
(grub_fstest_init.c): Likewise.
989
(util/grub-fstest.c_DEPENDENCIES): New variable.
990
(grub_fstest_SOURCES): Likewise.
992
* configure.ac (enable_grub_fstest): Check for --enable-grub-fstest.
994
* util/grub-fstest.c: New file.
996
2008-02-03 Yoshinori K. Okuji <okuji@enbug.org>
998
Make grub-setup handle a separate root device.
1000
* util/i386/pc/grub-setup.c (setup): Always open the root device,
1001
so that the root device can be compared with the destination
1003
When embedding the core image, if the root and destination devices
1004
are different, set ROOT_DRIVE to ROOT_DEV->DISK->ID. Otherwise, to
1006
When not embedding, set ROOT_DRIVE to 0xFF.
1008
2008-02-03 Yoshinori K. Okuji <okuji@enbug.org>
1010
Add support for having a grub directory in a different drive. This
1011
is still only the data handling part.
1013
* kern/i386/pc/startup.S (multiboot_trampoline): Set %dh to 0xFF.
1014
(codestart): Save %dh in GRUB_ROOT_DRIVE.
1015
(grub_root_drive): New variable.
1017
* kern/i386/pc/init.c (make_install_device): Use GRUB_ROOT_DRIVE
1018
instead of GRUB_BOOT_DRIVE to construct a device name. Set
1019
GRUB_ROOT_DRIVE to GRUB_BOOT_DRIVE if it is 0xFF, otherwise use it
1022
* include/grub/i386/pc/kernel.h (grub_root_drive): New prototype.
1024
* include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_ROOT_DRIVE): New
1026
(GRUB_BOOT_MACHINE_DRIVE_CHECK): Set to 0x4f.
1028
* boot/i386/pc/pxeboot.S (_start): Set %dh to 0xFF. For now, this
1029
is bogus, because PXE booting does not specify any drive
1032
* boot/i386/pc/lnxboot.S (reg_edx): Set the second byte to 0xFF. I
1033
am not sure if this is really correct.
1035
* boot/i386/pc/cdboot.S: Set %dh to 0xFF, because the root drive
1036
is always identical to the boot drive when booting from a CD.
1038
* boot/i386/pc/boot.S (MOV_MEM_TO_AL): Removed. Not needed any
1040
(root_drive): New variable.
1041
(real_start): Unconditionally set %dh to ROOT_DRIVE.
1042
(setup_sectors): Push %dx right after popping it, because %dh will
1044
(copy_buffer): Restore %dx.
1
1046
2008-02-03 Robert Millan <rmh@aybabtu.com>
3
1048
* util/i386/pc/grub-mkrescue.in: Rewrite most of image generation to