loader(8) readin failed on 7.2R and later including 8.0R
Hiroki Sato
hrs at FreeBSD.org
Thu Dec 3 21:22:01 UTC 2009
John Baldwin <jhb at freebsd.org> wrote
in <200912030803.29797.jhb at freebsd.org>:
jh> On Thursday 03 December 2009 5:29:13 am Hiroki Sato wrote:
jh> > John Baldwin <jhb at freebsd.org> wrote
jh> > in <200912020948.05698.jhb at freebsd.org>:
jh> >
jh> > jh> On Tuesday 01 December 2009 12:13:39 pm Hiroki Sato wrote:
jh> > jh> > While the "load" command seemed to finish, the box got stuck just
jh> > jh> > after entering "boot" command.
jh> > jh> >
jh> > jh> > Curious to say, I have got this symptom only on a specific box in
jh> > jh> > more than ten different boxes I upgraded so far; it is based on an
jh> > jh> > old motherboard Supermicro P4DPE[*].
jh> > jh> >
jh> > jh> > [*]
jh> http://www.supermicro.com/products/motherboard/Xeon/E7500/P4DPE.cfm
jh> > jh> >
jh> > jh> > Any workaround? Booting from release CDROMs (7.2R and 8.0R) also
jh> > jh> > fail. On the box "7.1R" or "7.1R's loader + 7.2R kernel" worked
jh> > jh> > fine. It is possible something in changes of loader(8) between 7.1R
jh> > jh> > and 7.2R is the cause, but I am still not sure what it is...
jh> > jh>
jh> > jh> It may be related to the loader switching to using memory > 1MB for its
jh> > jh> malloc(). Maybe try building the loader with
jh> 'LOADER_NO_GPT_SUPPORT=yes' in
jh> > jh> /etc/src.conf?
jh> >
jh> > Thanks, a recompiled loader with LOADER_NO_GPT_SUPPORT=yes' displayed
jh> > "elf32_loadimage: could not read symbols - skipped!" for 8.0R kernel.
jh> > This is the same as 7.1R's loader + 8.0R kernel case.
jh>
jh> Can you get the output of 'smap' from the loader? Is the 8.0 kernel bigger
jh> than the 7.x kernel? If so, can you try trimming the 8.0 kernel a bit to see
jh> if that changes things?
Sure. Output of smap on an 8.0R loader with LOADER_NO_GPT_SUPPORT=yes
was:
| OK smap
| SMAP type=01 base=0000000000000000 len=000000000009f400
| SMAP type=02 base=000000000009f400 len=0000000000000c00
| SMAP type=02 base=00000000000dc000 len=0000000000024000
| SMAP type=01 base=0000000000100000 len=0000000000e00000
| SMAP type=02 base=0000000000f00000 len=0000000000100000
| SMAP type=01 base=0000000001000000 len=00000000beef0000
| SMAP type=03 base=00000000bfef0000 len=000000000000c000
| SMAP type=04 base=00000000bfefc000 len=0000000000004000
| SMAP type=01 base=00000000bff00000 len=0000000000080000
| SMAP type=02 base=00000000bff80000 len=0000000000080000
| SMAP type=02 base=00000000fec00000 len=0000000000010000
| SMAP type=02 base=00000000fee00000 len=0000000000001000
| SMAP type=02 base=00000000ff800000 len=0000000000400000
| SMAP type=02 base=00000000fff00000 len=0000000000100000
| OK
Size difference between the two kernels was:
| -r-xr-xr-x 1 root wheel 9708240 Dec 1 16:22 kernel.7/kernel
| -r-xr-xr-x 1 root wheel 11492703 Nov 21 15:48 kernel.8/kernel
Then I rebuilt a smaller 8.0 kernel by removing some entries from the
kernel configuration file. The size is now smaller than 7.1R kernel:
| -r-xr-xr-x 1 root wheel 7710491 Dec 3 21:10 /boot/kernel.8X/kernel
Loading the new kernel seemed to work fine with the recompiled 8.0R
loader, but it got stuck just after entering "boot":
| OK load /boot/kernel.8X/kernel
| /boot/kernel.8X/kernel text=0x5a7664 data=0x88d74+0x82f04 syms=[0x4+0x6d290+0x4+0x987e3]
| OK boot
| /
Loading 7.1R kernel by using the recompiled 8.0R loader had no
problem.
-- Hiroki
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 195 bytes
Desc: not available
Url : http://lists.freebsd.org/pipermail/freebsd-stable/attachments/20091203/2145d050/attachment.pgp
More information about the freebsd-stable
mailing list