Subject: Problems with grub booting XEN 2 on RaidFrame.
To: NetBSD-current <current-users@NetBSD.org>
From: Marcin Jessa <lists@yazzy.org>
List: current-users
Date: 05/04/2006 14:36:48
Hi guys.
I set up RAID 0 with RaidFrame to run XEN on my=20
CURRENT 3.99.18 system following=20
http://www.netbsd.org/guide/en/chap-rf.html=20
and
http://mail-index.netbsd.org/port-xen/2006/03/01/0010.html
The RaidFrame itself works fine but trying to boot GENERIC XEN0 kernel
with grub I get following error:
kernel(hd0,e)/xen.gz dom0_mem=3D524288
[Multiboot-elf, <0x100000:0x3f080:0x35f80>, shtab=3D0x175078,
entry=3D0x100000] module (hd0,e)/netbsd-XEN0 root=3D/dev/hda1 ro console=3D=
pc
Error 14: Filesystem compatibility error, cannot read whole file
http://www.gnu.org/software/grub/manual/html_node/Stage2-errors.html=20
says :
14 : Filesystem compatibility error, cannot read whole file
Some of the filesystem reading code in GRUB has limits on the length of
the files it can read. This error is returned when the user runs into
such a limit.=20
This explenation itself does not make much sense to me though.=20
Typing in grub shell:
grub> kernel (hd0,e)/=20
and pressining tab lists all the files and directories in the root file
system - /=20
The XEN0 kernel is not compressed and it's size is about 8.5M.
I thought I can try a different, smaller kernel that I had compiled=20
on a different computer that I run XEN on.=20
It's size is about 3Megs (also uncompressed).
And voila! The system booted.
What is wrong with GRUB? What are it's kernel size limitations?
Can it be somehow related to the fast that I use UFS2 instead of 1?
Maybe someone compenent could work on a new bootloader
code as a SoC project to replace GRUB needed for XEN and create
bootloader with config file read at boot being able to load modules ?
Propably something similar to FreeBSD's boot loader.
Cheers,
Marcin.
Additional system info:
NetBSD 3.99.18 on cpu0: "Intel(R) Pentium(R) 4 CPU 3.00GHz"
# disklabel -r raid0
# /dev/rraid0d:
type: unknown
disk: raid
label: fictitious
flags:
bytes/sector: 512
sectors/track: 128
tracks/cylinder: 8
sectors/cylinder: 1024
cylinders: 152638
total sectors: 156301312
rpm: 3600
interleave: 1
trackskew: 0
cylinderskew: 0
headswitch: 0 # microseconds
track-to-track seek: 0 # microseconds
drivedata: 0
16 partitions:
# size offset fstype [fsize bsize cpg/sgs]
a: 409600 0 4.2BSD 1024 8192 40960 # (Cyl. 0
- 399) b: 4096000 409600 swap #
(Cyl. 400 - 4399) c: 156301312 0 unused 0
0 # (Cyl. 0 - 152637) d: 156301312 0
unused 0 0 # (Cyl. 0 - 152637) e: 20480000
4505600 4.2BSD 2048 16384 27560 # (Cyl. 4400 - 24399) f:
1024000 24985600 4.2BSD 1024 8192 46552 # (Cyl. 24400 -
25399) g: 130291712 26009600 4.2BSD 2048 16384 29160 # (Cyl.
25400 - 152637)
# disklabel -r wd0 (same for wd1)
# /dev/rwd0d:
type: unknown
disk: DISK01
label:
flags:
bytes/sector: 512
sectors/track: 63
tracks/cylinder: 16
sectors/cylinder: 1008
cylinders: 155061
total sectors: 156301488
rpm: 3600
interleave: 1
trackskew: 0
cylinderskew: 0
headswitch: 0 # microseconds
track-to-track seek: 0 # microseconds
drivedata: 0
16 partitions:
# size offset fstype [fsize bsize cpg/sgs]
a: 156301425 63 RAID # (Cyl. 0*-
155060) b: 4096000 4096127 swap # (Cyl.
4063*- 8127*) c: 156301425 63 unused 0 0 #
(Cyl. 0*- 155060) d: 156301488 0 unused 0
0 # (Cyl. 0 - 155060) e: 409600 127
4.2BSD 0 0 0 # (Cyl. 0*- 406*) disklabel:
partitions a and b overlap disklabel: partitions a and e overlap
/grub/menu.lst :
# Grub config file for NetBSD/xen.
default=3D0
fallback=3D4
# boot after 10s the default entry if the user didn't hit keyboard
timeout=3D10
# Pretty colours
color cyan/blue white/blue
# Configure serial port to use as console. Ignore if you'll use VGA only
serial --unit=3D0 --speed=3D115200 --word=3D8 --parity=3Dno --stop=3D1
# Let the user select which console to use (serial or VGA), default
# to serial after 10s
terminal --timeout=3D10 serial console
=03#
#
# Xen/NetBSD with 512 MB
title Xen 2.0 / NetBSD - HD1
root(hd0,e)
kernel (hd0,e)/xen.gz dom0_mem=3D524288
module (hd0,e)/netbsd-XEN0 root=3D/dev/hda1 ro console=3Dpc
#
title Xen 2.0 / NetBSD - HD2
root(hd1,e)
kernel (hd1,e)/xen.gz dom0_mem=3D524288
module (hd1,e)/netbsd-XEN0 root=3D/dev/hda1 ro console=3Dpc
#
# Load the NetBSD bootloader, letting it load the NetBSD/i386 kernel.
title NetBSD chain (HDD1:0)
root (hd0,0)
chainloader +1
title NetBSD chain (HDD2:0)
root (hd1,0)
chainloader +1
#
# Regular NetBSD - does not get boot options
title NetBSD - HD1
root (hd0,e)
kernel --type=3Dnetbsd /netbsd-GENERIC
title NetBSD - HD2
root (hd1,e)
kernel --type=3Dnetbsd /netbsd-GENERIC
## end of grub config file.