Error: "Out of Memory" after first compile in Mandrake 6.0 + need help with kernal

Error: "Out of Memory" after first compile in Mandrake 6.0 + need help with kernal

Post by Jonathan Wilso » Sun, 31 Dec 1899 09:00:00



Hi All

I already have this in linux.dev.kernal and alt.os.linux.mandrake, but
I've decided it wont get answered in either one. So here's a repeat:

This all got started with me wanting to use my 3c900 NIC. I put a post
up on comp.os..linux.networking asking where I could get the driver for
it   (forgive me, please, I'm just starting) so I could recompile my
kernal (I cam to the conclusion that this was what was nessecery after
reading the ETHERNET HOWTO, and not finding eth0 mantioned in dmesg).
Someone (Michael) told me that I didn't need to download a driver, and
tried to help me recompile my kernal. this all ended with me geting the
message OUT OF MEMORY almost instantly when I tried to boot the new
kernal (due to adding the old kernal as option "old" in lilo, I'm still
writing this from Linux).
Below is an edited =version of our posts (please bear with me, [count to

8]):

1.
When I installed Mandrake 6.0 on my computer, I skipped the installation

of
my network card. Now I want to install it. Windows tells me that it is a

"3Com EtherLink XL COMBO 10Mb Ethernet NIC (3C900-COMBO)". After reading

the
ethernet HOWTO, it seems like I have to recompile my kernel, and add the

NIC
(as a module?). But I noticed that there is not an ethernet module in
the
/lib directory called 3C900, or 3C905. Where can I download this driver
from? I tried the place listed in the HOWTO, but I got a permission
denied
error. Is the 900 the same as the 905?

Thanks in advance,
 JW

2.
No need to download a driver (I don't use Mandrake, but that shouldn't
matter). As root goto /usr/src/linux and 'make menuconfig'. Under
'Networking options' select (at least) 'TCP/IP networking'. Under
'Network device support' select 'Ethernet (10 or 100Mbit)', then '3COM
cards' and finally '3c590/3c900 series'. Finish menuconfig.

Read /usr/src/linux/README.

'make dep', 'make zImage', copy /usr/src/linux/System.map and
/usr/src/linux/arch/<probably i386>/boot/zImage to /boot, edit
/etc/lilo.conf, run lilo, reboot and be happy :-)

Michael

3.
Well, I did what you said, except that  the 3Com 590-905 series was
already
checked with  "M", so I maked it "*" instead, to include it in the
kernal. When
I got to the end of zImage it gave a message similar to the following:

Root device is (22, 1)
Boot sector 512 bytes
Setup is 3544 bytes
System is 582 kB
System is too big. Try using bzImage or modules.
make[1]: *** [zImage] Error 1
make[1]: Leaving directory '/usr/src/linux-2.2.9/arch/i386/boot'
make:  *** [zImage] Error 2

So I went through the motions again, maked the 3C series with "M", un*ed

a few
things I knew I didn't need, and  recived the above message. This is
very bad,
since I now have LESS marked than origanally. What do I do know? I have
to
reboot this computer to get in to Windows (haven't found a free
replacement for
Adobe PageMaker yet), but I'm scared to reboot now. I'm not going to do
anything
else 'til someone posts back to this.

BTW, what's this bzImage thing? How am I going to get the "system size"
down?

Thanks for the help, keep trying :-)

    JW

4.

Quote:> Michael (or anyone else),

I just saw a post on another group (comp.os.linux.setup), saying that
with the
2.2 kernal, You have to use bzImage, because otherwise it really is too
big.
Should I try it?

        JW

5.
Michael,

O.K. I used bzImage and it went through with out errors. Now I need a
better
explination of "edit /ect/lilo.conf". Here's what my lilo.conf says
right now
(before editing):

boot = /dev/hda
timeout = 80
prompt
    vga = normal
    read-only
map=/boot/map
install=/boot/boot.b
image = /boot/vmlinuz-2.2.9-19mdk
    label = linux
    root = /dev/hdc1
other = /dev/hda1
    label = windows
    table=/dev/hda

Exactly what do I need to edit?

Thanks in advace,
        JW

6.
Jonathon,

so you copied bzImage to /boot. For now I'll assume you gave it the
name "vmlinuz-2.2.12" (doesn't really matter, just substitute whatever
you called it. I'll also assume that you want your new kernel to boot
by default - if not, you should put the changes to /etc/lilo.conf
farther back (see below) in the file. My suggestions will be marked by
a leading "-->", you will of course _not_ copy that :-)

boot = /dev/hda
timeout = 80
-->I'd suggest a value of 300 (30 seconds). But then again maybe you
-->are much faster then I am.
prompt
    vga = normal
    read-only
map=/boot/map
install=/boot/boot.b
-->image = /boot/vmlinuz-2.2.12
-->label = my_new_kernel
-->root = /dev/hdc1
image = /boot/vmlinuz-2.2.9-19mdk
    label = linux
    root = /dev/hdc1
-->put the lines "image", "label", "root" _here_ if you want to boot
-->your old kernel by default.
other = /dev/hda1
    label = windows
    table=/dev/hda

After editing /etc/lilo/conf remember that you must run lilo to make
the changes effective. lilo should produce the following output:

Added my_new_kernel *
Added linux
Added windows

Reboot and hopefully all will be well. If not, enter "linux" at the
"LILO:" - prompt to boot your old kernel and try again.

HTH - mike

7.
Thanks so much. I made the new kernal "linux", and the old kernal "old".

when the new kernal started to boot, alosmt imediately it said  OUT of
MEMORY. So I rebooted  with "old". I'm glad I didn't lose everything,
but
I want to be able to use a new kernal. What do I do now? It appears,
possibly, that I did not need to make a new kernal, but could have used
insmod. Is that true (i got this idea from the kernal howto)? If so,
should I throw my new kernal away, put everyting back, and try insmod?

What's "too big" about my kernal?

Thanks for all your help,
        JW

8.


>Thanks so much. I made the new kernal "linux", and the old kernal
"old".
>when the new kernal started to boot, alosmt imediately it said  OUT of
>MEMORY.

Oops. Never even heard of that one, but I guess (as you do) that the
kernel is too big.

Quote:>SO I rebooted  with "old". I'm glad I didn't lose everything,

All praise to LILO :-)

Quote:>but
>I want to be able to use a new kernal. What do I do now? It appears,
>possibly, that I did not need to make a new kernal, but could have used
>insmod. Is that true (i got this idea from the kernal howto)? If so,
>should I throw my new kernal away, put everyting back, and try insmod?

No need to "put everything back", just use the old kernel until you
get a bootable new one. I suggest you go through "make menuconfig"
with a fine comb, i.e. throw everything out you don't need (you can
begin adding things later). Configure as module whatever possible
(EXCEPT ext2 filesystem!!!) and under "Loadable module support" enable
"Enable loadable module support" and "Kernel module loader", that
should result in the kernel loading necessary modules automatically.

My current kernel (2.2.12) has a size of 421399 bytes and I didn't
even 'make bzImage', so I guess there is some room for optimizing on
your system.

- mike

To All: thanks for reading this far.  What have I done wrong? I'm afraid

to try insmod now, and I'm still runing of the old kernal out of a
folder called "jwbackups". When I did make dep, didn't it change a bunch

of other files around? What about those other files in the /boot folder?

At this piont I want to either delet my "new" kernal, and put the old
one back, or, preferably make another new kernal the "right" way ( I'll
worry about the NIC later). I'm scared to just try a new one with a
"minimal" amount of stuff, becuase there's things in there I've never
heard of before. Also, after reading  the kernal readme and howto, I'm
not sure whether
I should  make modules and make modules_install bofore or after booting
the new kernal. Would someone who's actualy compiled a new kernal in
Mandrake or RH 6 please volunteer to help me?

Thanks so much, in advance,
    JW

posted on linux.dev.kernal and  alt.os.linux.mandrake

 
 
 

Error: "Out of Memory" after first compile in Mandrake 6.0 + need help with kernal

Post by Artur Swietanowsk » Sun, 31 Dec 1899 09:00:00



> This all got started with me wanting to use my 3c900 NIC.

You need a module 3c59x.o In my RedHat it's
  /lib/modules/<kernel-version>/net/3c59x.o

If you have it (you should), you need the following line in
/etc/conf.modules:

  alias eth0 3c59x

As for kernel compilation, a guide is given on my web page
http://swietano.spedia.net in the personal Linux FAQ section.
Strictly speaking, I'll upload this particular addition in a few
minutes.

HTH,
---------------------------------------------------------------------
Artur Swietanowski                         http://swietano.spedia.net
Institut fr Statistik,  Operations Research  und  Computerverfahren,
Universit?t Wien,     Universit?tsstr. 5,    A-1010 Wien,     Austria
tel. +43 (1) 427 738 620                     fax  +43 (1) 427 738 629
---------------------------------------------------------------------

 
 
 

Error: "Out of Memory" after first compile in Mandrake 6.0 + need help with kernal

Post by A Guy Called Tyket » Sun, 31 Dec 1899 09:00:00


-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

        You also may want to see if your swap partition is on, or if it
exists. If you are not using one, and you're on a low memory machine
( < 64M ) You will get the above message.

                                                        BL.
- --


WebMaster, NewsMaster.. Smeghead! :)    |   http://www.omnilinx.net/~tyketto
    PGP: 1024/E9DF4D85 67 6B 33 D0 B9 95 F4 37  4B D1 CE BD 48 B0 06 93

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.0.0 (GNU/Linux)
Comment: For info see http://www.gnupg.org

iD8DBQE34Ok4yBkZmuMZ8L8RAlkdAJ0dF6DxDzWQ0n1l5lWy2en16YL5ugCgz7D8
qQ+8ZxgqJ3GoP1brTkI1mDk=
=T7z9
-----END PGP SIGNATURE-----