Re: RESENT :: Boot Disk (IDE RAID(0) + Reiserfs) == :(
On Thu Jun 15, 2000 at 04:49:21PM -0400, winmutt@nerds2go.com wrote:
> Hi new to the list. Trying to get the Linux-2.4.0-test1-ac18 + Reiserfs 3.6.9 (patched) kernel rescue disk to work, but get a "Unable to find swap-space signature" and "Sorry, your computer does not have enough memory." after the root disk is loaded. Anyone know a fix?
>
> -Rolf
>
> IDE RAID(0) + Reiserfs == :(
The short answer is that the boot floppies do not work with the 2.4.x kernels.
The long answer is that this is a known problem with Linux-2.4.0-test1* vs
BusyBox. During the 2.4 kernel series, the powers that be redefined the
'sysinfo' syscall so that instead of returning bytes, it now returns units of
PAGE_SIZE (4k on x86). I have debated Alan Cox on this, and explained why
breaking binary compatability is a Bad Thing(tm). The fundamental problem (and
the reason sysinfo was changed) is that sysinfo returns memory values that can
overflow a 32bit unsigned long when people enable HIGH_MEMORY support and
install many GiBs of ram, mount multiple 2GiB swap files, etc. This is also a
problem in the 2.2.x kernel series, but nobody seems worried about it there...
I suggested the correct solution is to cap the return values from sysinfo to
ULONG_MAX, and then create a new 'sysinfo64' syscall -- thereby maintaing
binary compatability. I even offered to code this up. Alan has ignored me
thus far, so I am planning on appealing this to Linus when he gets back from
vacationing.
It is possable for me to hack up the boot floppies busybox/init.c so that it
works across both sets of kernels -- this requires manually copying both the
old and the new sysinfo structs into the busybox code and then calling uname(2)
to find out which struct to use. Ugly but workable....
-Erik
--
Erik B. Andersen Web: http://www.xmission.com/~andersen/
email: andersee@debian.org
--This message was written using 73% post-consumer electrons--
Reply to: