Hi!

Using the ramdisk kernel feature results in a kernel problem when I use
the disklabel command on the ramdisk.

This is what I do :
Use 3.9 (tried sys.tgz from mirror as well as updated sources from cvs)
in /usr/src/sys/arch/i386/conf

cp GENERIC  Test
echo pseudo-device   rd      1               # ramdisk>>Test
config Test
cd ../compile/Test
make clean && make depend && make
cp bsd /bsd.1
reboot

At the boot prompt I give "boot bsd.1" to boot the newly created kernel.
I log in as root and enter
"rdconfig /dev/rd0c 4500 &"
rdconfig does not return, so this seems to work OK. I now have to
disklabel that partition:

disklabel -E rd0

which makes the kernel go into debug mode. Always. Message is:

Kernel: integer divide fault trap, code=0
Stopped at rdstrategy +0x49; divl 0x28(%ecx),%eax

I do not need a miniroot environment or such, I just need a RAMDISK, so
I did not add the RAMDISK_HOOKS or the MINIROOTSIZE.

Am I doing something wrong or is that a bug somewhere? I had this
working with 3.5 the way I did it now, but maybe I need to add something
else to the kernel config?

Regards,
T.

Reply via email to