bug-grub
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Trying to use grub on an HD-image


From: Harmon S. Nine
Subject: Trying to use grub on an HD-image
Date: Thu, 29 Nov 2001 14:16:59 -0500
User-agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:0.9.6) Gecko/20011124

Hi. I'm trying to install grub on a hard-drive image that is in my /tmp directory in Debian Linux. I construct the image by first giving it 64 blocks (of 512 bytes each), which are meant to act as the
MBR and a blank area where e2fs_stage1_5 can be installed.

In the "MBR", I place a bunch of zeroes in the first 446 bytes, then a phony 64B partition table, and then
the aa55 signature.

The phony partition table consists of all zeroes, except for the first entry. The first entry states that the first "partition" starts at block 64 (i.e. after the 64 blocks described above), is of type "linux" (i.e. 0x83), and contains however many blocks are needed by the filesystem that the partition will contain for this particular hard-drive image. Importantly, since the hard-drive image has no "geometry" to speak of, I fill in the start and end head-sector-cylinder entries with zeroes. Thus, the first partition-table entry in the hard-drive image looks like this (bytes are labeled -- BT = bootable, SH = Start Head, etc.):

BT:00 SH:00 SS:00 SC:00 PT:83 EH:00 ES:00 EC:00 SB:40 00 00 00 NB:79 44 00 00


I then add however many blocks the partition is stated to have (here 0x00004479) to the hard-drive image, and place a filesystem and the needed files in these blocks (a loopback device is used to do this).

I then run "/sbin/grub", with results shown below. Up to the "install" command, grub is quite happy with the image, and e2fs_stage1_5 is embedded at the proper location. Unfortunately, stage1 doesn't
want to install (I also tried --force-lba).

What can I do about this?

TIA

-- Harmon S. Nine

-------------------- OUTPUT ----------------
   GRUB  version 0.90  (640K lower / 3072K upper memory)

[ Minimal BASH-like line editing is supported.  For the first word, TAB
  lists possible command completions.  Anywhere else TAB lists the possible
  completions of a device/filename. ]

grub> device (hd0) /tmp/HDIMAGE-ktGUc2

grub> root (hd0,0)
Filesystem type is ext2fs, partition type 0x83

grub> setup (hd0)
Checking if "/boot/grub/stage1" exists... yes
Checking if "/boot/grub/stage2" exists... yes
Checking if "/boot/grub/e2fs_stage1_5" exists... yes
Running "embed /boot/grub/e2fs_stage1_5 (hd0)"... 16 sectors are embedded. succeeded Running "install /boot/grub/stage1 d (hd0) (hd0)1+16 p (hd0,0)/boot/grub/stage2 /boot/grub/menu.lst"... failed

Error 22: No such partition

grub>
---------------------END OUTPUT-------------------






reply via email to

[Prev in Thread] Current Thread [Next in Thread]