[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: cd boot fails: kernel can't find root fs



On Tue, Dec 03, 2002 at 12:36:16AM -0500, Marc Horowitz wrote:
> I have an ss10 with a cdrom drive and no floppy.  I used jigdo to
> download and burn a 3.0 cdrom image, which worked without a hitch.
> When I put the media in and boot it, SILO loads, and I hit enter to
> load the default kernel image.  the kernel boots, then things stop
> working so perfectly:

I had time to look into this, and I noticed a telltale error at the
beginning of the boot sequence:

    Uncompressing image...
    Loading initial ramdisk....
    PROMLIB: obio_ranges 5
    Booting Linux...
    PROMLIB: Sun Boot Prom Version 3 Revision 2
    Linux version 2.2.20 (root@auric) (gcc version 2.95.2 20000220 (Debian GNU/Linux)) #1 Fri Nov 16 15:48:02 EST 2001
    ARCH: SUN4M
    TYPE: Sun4m SparcStation10/20
    Ethernet address: 8:0:20:73:46:22
    Boot time fixup v1.6. 4/Mar/98 Jakub Jelinek (jj@ultra.linux.cz). Patching kernel for srmmu[TI Viking]/iommu
    initrd extends beyond end of memory (0xf811adbd > 0xf8000000)
    disabling initrd
    [0]: v[f0000000,f1000000](1000000) p[00000000]
    [1]: v[f1000000,f2000000](1000000) p[02000000]
    [2]: v[f2000000,f3000000](1000000) p[08000000]
    [3]: v[f3000000,f4000000](1000000) p[0a000000]
    [4]: v[f4000000,f5000000](1000000) p[0c000000]
    [5]: v[f5000000,f6000000](1000000) p[0e000000]
    [6]: v[f6000000,f7000000](1000000) p[14000000]
    [7]: v[f7000000,f7f4f000](f4f000) p[16000000]

It appears the end of memory (in virtual address terms) is at
0xf8000000.  The "initrd extends beyond end of memory" error indicates
that my initrd image ends at 0xf811adbd.  This looks like a random
number, but 0x11adbd == 1158589, which is the size of the root image:

-r--r--r--    3 root     root      1158589 May 18  2002 dists/stable/main/disks-sparc/current/images-1.44/root.bin

So, the kernel is apparently looking for the root image right at the
end of memory.  The boot loader seems to load the ramdisk (at least,
it spends some time doing something between the second and third lines
above).  So, either silo is writing the root image into nowhere, or
silo isn't passing the address of the root image into the kernel
peoperly.

I took some look at the silo code, but I don't know nearly enough
about the sparc to know what to do to fix this.

                Marc



Reply to: