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

Re: [Sheflug] LONGER - SuSE 7.2 kernel source



Prescript: I read that I shouldn't use gcc 2.95.3 to compile the kernel, 
but rather gcc 2.91.66.  As it happens I have a working binary of gcc 
2.91.66 but does it depend on different libraries than those distributed 
with gcc 2.95.3 ?  You probably get the idea of how little I know about 
this sort of thing.  I'll try it anyway but if things compile without 
error there may be other problems down the line I won't spot.

Barrie Bremner wrote:

> Everyone else - I'm probably going to stick my foot in it a couple of
> times - I'd be interested to see what you've got to say on the kernel
> options - maybe even I could loose a few options.

Baz (and anyone else who cares to read a beginner's ramblings),

thanks for the long and careful reply!  Currently what I've done now 
I've discovered how to create a config file for the old, working kernel 
minus kernel source is to tweak the one I've got rather than start from 
scratch, but that isn't satisfactory because there are literally dozens 
of modules created which I will never use.  Also I don't understand yet 
what is actually there that made the old system work, and that is 
frustrating.


>>>>>> "matt" == matt fairtlough <matt [at] fairtlough.net> writes: 
>     matt> Does the following look half-way sensible?
> 
> Which kernel version are you looking at? I'm assuming 2.2 with the
> ipchains line further down.

Ah.  No, because of the better support in 2.4 for my HPT disk 
controller, I've used 2.4 for 6 months or so now.  No problems apart 
from...ipchains now the need for a firewall has become overwhelming.


> First up, IIRC I didn't get a perfectly working kernel until I'd built
> a few - they (mostly) booted, but sound, or network, or some other
> minor detail didn't quite work.

YDRC! It feels like trying to carry too many things at once and dropping 
several for every one picked up.  Focus on getting one thing to work and 
then others break.  Must have tried at least 6 or 7 by now.


> Make sure that you keep an old kernel image available to LILO, and try
> your custom rolled one - at least you've got something to fallback on.

yes, very good tip.  I've got about 7 lilo boot options now. I've also 
realised that I need a backup of the .config file and also the 
/lib/modules/2.4.... directory.  Maybe there is more I should back up 
(apart from well, everything, just in case).


> The other thing - I tend to build nearly everything in. Other people
> like to leave as much as possible as modules.

modules is my preferred way.  For burning cds with ide-scsi some things 
_must_ be compiled as modules I think, while I need others to be built 
in.  Wierd.  What I'd like to do is just build every single 
modularisable thing as a module and then try adding things in to the 
kernel, reasoning that compiling a module shouldn't hurt even if
a) it is also in the kernel and
b) there is no corresponding hardware.
This would mean that I'd only need to "make modules; make 
modules_install" the ONCE for a given kernel version and could then 
experiment cheaply with adding stuff to the kernel.

But I guess it just doesn't work that way: the presence of some modules 
seems to be able to break others.  Tell me I'm wrong and I'll be very happy.


> Either way - make sure you get the basics built in - filesystem
> support (Ext2, reiserfs if you use it), PCI, IDE, /proc, video and so
> on.

Trouble is, the basics are so...extended!  My main problems are:

1. IDE hard disk support for UDMA 100/ HPT370 controller.  This seems to 
work as long as I have kernel 2.4 + PCI + IDE + couple of things needed 
for the HPT370, but I've had major problems before.
2. Sound.  Currently module support for just about every sound card 
imaginable, and haven't found a way to cut this down.  Need to read 
HOWTO I suppose. But HOWTOs are getting out of date.
3. Networking.  Haven't got iptables to work yet with original chunky 
kernel, and certainly not with a lean one.  Even if iptables _do_ work 
with kernel 2.4, it may be that SuSE have borked them; at least the 
documentation on SuSEfirewall suggests it. Luckily for me Richard has 
offered to help set up a firewall box so I will probably take him up on 
this!
4. Cdrecording for backups.  I've just got to have this now I've had a 
lucky escape with my hard disk--found out in the restore process just 
how much data/time I could have lost.
5. Zip drive.  ATAPI vs SCSI problems; it works fine without ide-scsi, 
but my new kernel now thinks it is a scsi drive but can't mount it.
6. initrd.  things seem to work ok without an initrd but I don't 
understand the issue properly. Still don't know why initrd can't be 
selected in xconfig--presumably because some other option is or is not 
selected, but I don't know which.

More on my problems with 3, 4 and 5 below.

>     matt> Summary of what I've chosen for the kernel so far:
> 
>     matt> Loadable module support -> Kernel module loader (replaces
>     matt> kerneld I'm told...hmm.)
> 
> I tend to build in everything in there - just for good measure.
> 
>     matt> None of the options in Processor type and features except
>     matt> High memory support enabled.
> 
> What processor are you running? If you're using a Pentium Pro/II/III
> you might want to read the help for a few more options (MTRRs for
> example) and decide if you want to build them in.

Now this is a good point.  Original kernel built for 586s but I've got 
an Athlon which is 686 I think.  I'll try it with Athlon.


>     matt> I've an Abit KA7 board, which is apparently PCI as well as
>     matt> UDMA so General setup -> PCI support is Y (required for
>     matt> config of some IDE devices) Also EISE support is Y
> 
> EISA does not equal ISA. Loose it. Build in PCI - that's the most
> common bus these days, I doubt if you have an MCA or EISA bus based
> machine.

My problem is that as these things are not always either/or (e.g. I 
thought, wrongly, that as I had udma I didn't have pci) and I also have 
an ISA slot that I might have EISA _&_ PCI.  Enabling EISA doesn't 
_seem_ to break anything though.


>     matt> No support for binary emulation of other systems.  No MTD
>     matt> support.  Parallel port support / PC-style hardware; nothing
>     matt> else in this category, not even IEEE 1284 transfer modes.

now I think I'll keep 1284 if it doesn't seem to cause problems.


> Binary emulation? That is a *BSD thing - what is available for Linux
> is merely support for different types of binaries, IIRC.

I suspect this is a new SuSE add-on.  Whole new section of config, with 
no documentation at all.  Sounds scary, kept it off.  Heaven knows what 
will be in SuSE 7.3...

Binary support seems ok and I don't have the feeling that having it 
would break much.

 
>     matt> Block devices -> Normal PC floppy disk but no XT or paride
>     matt> support.  Loopback device support and RAM disk support as a
>     matt> module (is this a good idea?  thought it might help in an
>     matt> emergency) why is support for an initial RAM disk greyed
>     matt> out?  Certainly I've had problems with initrd and currently
>     matt> disable it...
> 
> I use loopback support for mounting CD images before burning them to
> disk, and it can also be used for encrypted loopback devices
> (encrypted filesystem-in-a-file, basically).

Ok, well, it's there and doesn't seem to cause problems. Thanks for the 
reminder about what it's for.


>     matt> Networking options (oh dear!)  This is more-or-less
>     matt> guesswork on my part, apart from choosing the suggested
>     matt> defaults where I can.  I want to use ipchains so I disabled
>     matt> network packet filtering.  No socket filtering but unix
>     matt> domain sockets and TCP/IP networking.  Nothing else (besides
>     matt> Appletalk support as a module as I've a mac and want to link
>     matt> it up).
> 
> IPChains? You'll need packet filtering - that's what ipchains (and
> iptables for 2.4) is.

oh, I think I get it.  ipchains is out in 2.4, iptables is in. so to a 
first approximation, iptables _replaces_ ipchains.  If that is right, it 
explains a lot that has had me stumped.  Well, iptables still doesn't 
work (could be why SuSEfirewall doesn't work with 2.4):

root@linux:/usr/local/src/linux > iptables -L
/lib/modules/2.4.4-4GB/kernel/net/ipv4/netfilter/ip_tables.o: init_module: Device or resource busy
Hint: insmod errors can be caused by incorrect module parameters, including invalid IO or IRQ parameters
/lib/modules/2.4.4-4GB/kernel/net/ipv4/netfilter/ip_tables.o: insmod 

/lib/modules/2.4.4-4GB/kernel/net/ipv4/netfilter/ip_tables.o failed
/lib/modules/2.4.4-4GB/kernel/net/ipv4/netfilter/ip_tables.o: insmod ip_tables failed
iptables v1.2.1a: can't initialize iptables table `filter': iptables who? (do you need to insmod?)
Perhaps iptables or your kernel needs to be upgraded.

There is no specific mention of iptables in the config documentation that I've found, but maybe I've missed it.
Probably should get iptables1.2.3 <sigh>


>     matt> IDE/ATAPI floppy support because I've a zip drive.
> 
> Internal IDE Zip? If so, that's fine. If it's a parallel port one,
> you'll need SCSI emulation (which you say you've selected) and the
> correct Zip drive module from under SCSI devices.

It is internal IDE.  Worked fine.  Until I enabled ide-scsi emulation. 
Now it thinks it's a SCSI device, and can no longer be mounted for some 
reason.  I'm trying the same tricks I tried with cdrecording but what is 
to stop some other device (e.g. hard disk) suddenly thinking it is scsi 
too?  This worries me.


>     matt> I've enabled SCSI CD-ROM support because I want to do SCSI
>     matt> emulation on the CR-RW.  Is this right?  SCSI generic
>     matt> support as a module (?)
> 
> That'll do. See my note at the top about modules - it's a personal thing.
> You will need SCSI emulation, SCSI generic support and SCSI CDROM
> support for IDE CDRW drives.

Yep, got those.  But I still need to "modprobe ide-scsi" to get CD 
burning working. Also still haven't found out where to bung this (or 
anything else for that matter) in the run levels.


>     matt> no oSS sound modules, just support for SBlive and via 82
>     matt> audio codec.
> 
> Suck it and see. If it works, you've got it right.

No, I didn't without compiling in lots of modules.  But which ones are 
needed?  no idea at all, and the problem with experimenting to find out 
is that it is exponential in the number of available modules, a large 
number.  Puzzling.


> Hope that helps.

Helps a great deal, Baz.  It feels rather a long, lonely and tiresome 
business messing with kernels and it is brilliant to have someone to 
discuss the details with.

There are still many things (of course) that puzzle me.  One of the 
oddest is that the kernel distributed with SuSE 7.2 seems to have been 
built with an earlier configuration version (i.e. xconfig/Make etc) than 
the one shipped with 7.2 kernel sources. This probably accounts for the 
problems I had with configuration (which should at least _work_, even if 
the corresponding kernel is useless).

Finally, what is shmfs?  Could that be getting in the way?
df | grep shmfs gives

shmfs  1042836         0   1042836   0% /dev/shm


thanks again for your unstinting help,

Matt.




___________________________________________________________________

Sheffield Linux User's Group - http://www.sheflug.co.uk . 
To unsubscribe from this list send mail to 
shef-lug-request@list.sheflug.org.uk with the word
"unsubscribe" in the body of the message. 

  GNU the choice of a complete generation.