List Info

Thread: Re: Createing/working with disk images




Re: Createing/working with disk images
user name
2007-03-27 19:52:39

It's referenced in the quickstart

http://fedoraproject.org/wiki/FedoraXenQuickstartFC6


On Tue, 2007-03-27 at 17:27 -0600, Lamont Peterson wrote:
On Tuesday 27 March 2007 03:58pm, Andrew Cathrow wrote:
> Run kpartx to create the devices - will be created in /dev/mapper

Hmm.  I'd run into something that mentioned the use of kpartx (I think is was 
in some openSUSE 10.2 Xen documentation), but looking at it's man page, it 
didn't look like the right tool to create the devices.


> kpartx -a /dev/loop0

So, I'm supposed to:

1.  Create the image file.
2.  Run "losetup /dev/loop0 /whatever/path/to/the/imagefile"
3.  Run "fdisk /dev/loop0" to create the partitions.
4.  Run "kpartx -a /dev/loop0" which will create /dev/mapper/* devices for the 
partitions on /dev/loop0.

Have I got that right?


> On Tue, 2007-03-27 at 15:32 -0600, Lamont Peterson wrote:
> > All,
> >
> > I need to create some images that pygrub can boot (on FC6 & RHEL5). 
> > IIUC, that means that the image file must be a disk image complete with
> > partition table.
> >
> > The trouble I'm running into is figuring out how to access the
> > "partition" within the disk image file as a block device.  This is
> > necessary in order to format or mount the filesystems and run mkswap for
> > the disk image's swap partition.
> >
> > Here's what I have so far.
> >
> > 1.  Create the disk image file, ala "dd if=/dev/zero
> > of=/var/lib/xen/images/someVM/sda bs=1k seek=4608k count=1"
> >
> > 2.  Create partitions with fdisk (this requires setting the number of
> > cylinders, but that's easy).
> >
> > 3.  losetup /dev/loop0 /var/lib/xen/images/someVM/sda

> >
> > At this point, I can run "fdisk -l /dev/loop0" and get:
> >
> > Disk /dev/loop0: 4831 MB, 4831839232 bytes
> > 255 heads, 63 sectors/track, 587 cylinders
> > Units = cylinders of 16065 * 512 = 8225280 bytes
> >
> >       Device Boot      Start         End      Blocks   Id  System
> > /dev/loop0p1               1         523     4200966   83  Linux
> > /dev/loop0p2             524         588      522112+  82  Linux swap /
> > Solaris
> >
> > However, there is no /dev/loop0p1 or /dev/loop0p2 devices and I'm not
> > sure what to do to make those accessible.  I need to be able
> > to "mke2fs -j /dev/loop0p1" and "mkswap /dev/loop0p2" or equivalent. 
> > Then I need to mount /dev/loop0p1 to copy files to it.
> >
> > How can I access partitions inside a disk image as block devices?  Should
> > I be using something other than losetup here?
> > --
> > Fedora-xen mailing list
> >  Fedora-xenredhat.com">Fedora-xenredhat.com
> > https://www.redhat.com/mailman/listinfo/fedora-xen

--
Fedora-xen mailing list
 Fedora-xenredhat.com">Fedora-xenredhat.com
https://www.redhat.com/mailman/listinfo/fedora-xen

Andrew Cathrow
Red Hat, Inc.

(678) 733 0452 - Mobile
(404) 437 6178 - Home Office

acathrowredhat.com">acathrowredhat.com
Re: Createing/working with disk images
country flaguser name
United States
2007-03-30 13:50:48
On Tuesday 27 March 2007 06:52pm, Andrew Cathrow wrote:
> Yep,
>
> It's referenced in the quickstart
>
> 
http://fedoraproject.org/wiki/FedoraXenQuickstartFC6

Doh, I read through that part and didn't register the
section that combined 
losetup & kpartx.

At this point, the RHEL5 guests (I'm working on that distro
first) won't boot.  
Here's what I'm getting:

-----
Going to boot Red Hat Enterprise Linux Server
(2.6.18-8.el5xen)
  kernel: /boot/vmlinuz-2.6.18-8.el5xen
  initrd: /boot/initrd-2.6.18-8.el5xen.img
Started domain guru1
rtc: IRQ 8 is not free.
rtc: IRQ 8 is not free.
i8042.c: No controller found.
Red Hat nash version 5.1.19.6 starting
mount: could not find filesystem '/dev/root'
setuproot: moving /dev failed: No such file or directory
setuproot: error mounting /proc: No such file or directory
setuproot: error mounting /sys: No such file or directory
switchroot: mount failed: No such file or directory
Kernel panic - not syncing: Attempted to kill init!
-----
BTW, the GRUB config was edited to specify /dev/xvda1 as the
root partition on 
the kernel command line.

After modifying the initrd image in the guest to not load
some drivers, to 
load the xenblk.ko driver, add the xenblk.ko driver and
change the device ID 
in the resume mkrootdev command, I get this:
-----
Going to boot Red Hat Enterprise Linux Server
(2.6.18-8.el5xen)
  kernel: /boot/vmlinuz-2.6.18-8.el5xen
  initrd: /boot/initrd-2.6.18-8.el5xen.img
Started domain guru1
rtc: IRQ 8 is not free.
rtc: IRQ 8 is not free.
i8042.c: No controller found.
Kernel panic - not syncing: VFS: Unable to mount root fs on
unknown-block(0,0)
-----
Here is (part of) what the "init" nash script in
the initrd looks like after 
my edits:
-----
echo Setting up hotplug.
hotplug
echo Creating block device nodes.
mkblkdevs
echo "Loading uhci-hcd.ko module"
insmod /lib/uhci-hcd.ko
echo "Loading ohci-hcd.ko module"
insmod /lib/ohci-hcd.ko
echo "Loading ehci-hcd.ko module"
insmod /lib/ehci-hcd.ko
mount -t usbfs /proc/bus/usb /proc/bus/usb
echo "Loading jbd.ko module"
insmod /lib/jbd.ko
echo "Loading ext3.ko module"
insmod /lib/ext3.ko
echo "Loading xenblk.ko module"
insmod /lib/xenblk.ko
mkblkdevs
resume /dev/xvda2
echo Creating root device.
mkrootdev -t ext3 -o defaults,ro xvda1
echo Mounting root filesystem.
mount /sysroot
echo Setting up other filesystems.
setuproot
-----
What do I need to do to create (or edit) a working initrd
for the guest?
-- 
Lamont Peterson <lamontgurulabs.com>
Senior Instructor
Guru Labs, L.C. [ http://www.GuruLabs.com/
]

NOTE:  All messages from this email address should be
digitally signed with my
       0xDC0DD409 GPG key. It is available on the
pgp.mit.edu keyserver as
       well as other keyservers that sync with MIT's.

--
Fedora-xen mailing list
Fedora-xenredhat.com
ht
tps://www.redhat.com/mailman/listinfo/fedora-xen

[1-2]

about | contact  Other archives ( Real Estate discussion Medical topics )