~darkmuggle-deactivatedaccount/ubuntu/quantal/grub2/fix-872244

« back to all changes in this revision

Viewing changes to disk/i386/pc/biosdisk.c

  • Committer: Bazaar Package Importer
  • Author(s): Colin Watson
  • Date: 2010-01-11 11:12:55 UTC
  • mfrom: (17.3.7 squeeze)
  • Revision ID: james.westby@ubuntu.com-20100111111255-lr8ebkqw5x41gq6j
Tags: 1.98~20100101-1ubuntu1
* Resynchronise with Debian. Remaining changes:
  - Adjust for default Ubuntu boot options ("quiet splash").
  - Default to hiding the menu; holding down Shift at boot will show it.
  - Set a monochromatic theme for Ubuntu.
  - Apply Ubuntu GRUB Legacy changes to legacy update-grub script: title,
    recovery mode, quiet option, tweak how memtest86+ is displayed, and
    use UUIDs where appropriate.
  - Conflict with grub (<< 0.97-54) as well as grub-legacy.
  - Fix backslash-escaping in merge_debconf_into_conf.
  - Remove "GNU/Linux" from default distributor string.
  - Add crashkernel= options if kdump and makedumpfile are available.
  - If other operating systems are installed, then automatically unhide
    the menu. Otherwise, if GRUB_HIDDEN_TIMEOUT is 0, then use keystatus
    if available to check whether Shift is pressed. If it is, show the
    menu, otherwise boot immediately. If keystatus is not available, then
    fall back to a short delay interruptible with Escape.
  - Allow Shift to interrupt 'sleep --interruptible'.
  - Don't display introductory message about line editing unless we're
    actually offering a shell prompt. Don't clear the screen just before
    booting if we never drew the menu in the first place.
  - Remove some verbose messages printed before reading the configuration
    file.
  - If the environment variable "quiet" is set to something other than 0,
    suppress progress messages as the kernel and initrd load. Set this for
    non-recovery kernel menu entries.
  - Add GRUB_DEFAULT=saved, as well as grub-set-default and grub-reboot
    utilities. Provides functionality essentially equivalent to GRUB
    Legacy's savedefault.
  - Keep the loopback file open so that subsequent changes to the "root"
    environment variable don't affect it.
  - Change prepare_grub_to_access_device to handle filesystems
    loop-mounted on file images.
  - Ignore devices loop-mounted from files in 10_linux.
  - Show the boot menu if the previous boot failed, that is if it failed
    to get to the end of one of the normal runlevels.
  - Handle RAID devices containing virtio components.
* Update savedefault patch from current Bazaar branch, fixing grub-reboot
  to have distinct behaviour from grub-set-default (LP: #497326).
* Fix grub-mkisofs compilation error with FORTIFY_SOURCE.
* Convert recordfail boilerplate in each menu entry to use a function.

Show diffs side-by-side

added added

removed removed

Lines of Context:
169
169
          else
170
170
            {
171
171
              grub_free (data);
172
 
              return grub_error (GRUB_ERR_BAD_DEVICE, "cannot get C/H/S values");
 
172
              return grub_error (GRUB_ERR_BAD_DEVICE, "%s cannot get C/H/S values", disk->name);
173
173
            }
174
174
        }
175
175
 
252
252
          1024 /* cylinders */ *
253
253
          256 /* heads */ *
254
254
          63 /* spt */)
255
 
        return grub_error (GRUB_ERR_OUT_OF_RANGE, "out of disk");
 
255
        return grub_error (GRUB_ERR_OUT_OF_RANGE, "%s out of disk", disk->name);
256
256
 
257
257
      soff = ((grub_uint32_t) sector) % data->sectors + 1;
258
258
      head = ((grub_uint32_t) sector) / data->sectors;
260
260
      coff = head / data->heads;
261
261
 
262
262
      if (coff >= data->cylinders)
263
 
        return grub_error (GRUB_ERR_OUT_OF_RANGE, "out of disk");
 
263
        return grub_error (GRUB_ERR_OUT_OF_RANGE, "%s out of disk", disk->name);
264
264
 
265
265
      if (grub_biosdisk_rw_standard (cmd + 0x02, data->drive,
266
266
                                     coff, hoff, soff, size, segment))
268
268
          switch (cmd)
269
269
            {
270
270
            case GRUB_BIOSDISK_READ:
271
 
              return grub_error (GRUB_ERR_READ_ERROR, "biosdisk read error");
 
271
              return grub_error (GRUB_ERR_READ_ERROR, "%s read error", disk->name);
272
272
            case GRUB_BIOSDISK_WRITE:
273
 
              return grub_error (GRUB_ERR_WRITE_ERROR, "biosdisk write error");
 
273
              return grub_error (GRUB_ERR_WRITE_ERROR, "%s write error", disk->name);
274
274
            }
275
275
        }
276
276
    }