I have a build process (which worked at release 7.3) that makes a
bootable ISO using a ramdisk image as the boot volume. At release 8
it panics right after reporting the real memory size with:
kernel trap 12 with interrupts disabled
Fatal trap 12: page fault while in kernel mode
...
[thread pid 0 tid 0 ]
Stopped at pmap_enter+0x19a: moveq (%rcx),%r14
(I have the text frozen on another screen if more data is needed, I've
literally spent weeks trying to get this panic to appear on the screen
so it's not going anywhere.)
I build the world with this system without cross compiling.
# uname -mrs
FreeBSD 8.3-RC1 amd64
The system that paniced is very similar: a 64-bit amd4 system.
What am I doing wrong, if anything? How can I do a successful large
ramdisk boot? My process is to copy the entire OS to a ramdisk and boot
off of that. I use the following ideas for this:
/boot/loader.conf:
mfsroot_type="mfs_root"
mfsroot_name="/mfsboot"
vfs.root.mountfrom="ufs:md0"
vfs.root.mountfrom.options="rw"
## Tunables
kern.ipc.nmbclusters=32768
net.inet.tcp.tcbhashsize=16384
vm.pmap.pg_ps_enabled=1
accf_http_load="YES"
net.inet.tcp.syncache.hashsize=1024
net.inet.tcp.syncache.bucketlimit=100
The size of mfsboot is 600M.
The diff between GENERIC and my kernel config, comments left in
so people can see what I was doing 7.3ish:
28.43d26
< ### FBCD64 SPECIFIC
< #options MD_ROOT_SIZE="524288"
< options GEOM_UZIP
< #options INCLUDE_CONFIG_FILE
< #options ZERO_COPY_SOCKETS
< #options HZ=1000
< #options DEVICE_POLLING
< #options NKPT=600 # not set up on amd64
< #
< # Debugging
< options KDB
< options DDB
< options BREAK_TO_DEBUGGER
< options ALT_BREAK_TO_DEBUGGER
Thanks in advance for any assistance!
--
Dave Hayes - Consultant - Altadena CA, USA - dave@jetcafe.org
>>> The opinions expressed above are entirely my own <<<
One of the most common defenses against really learning
something is to believe that one knows it already.