LinuxQuestions.org
Help answer threads with 0 replies.
Go Back   LinuxQuestions.org > Forums > Linux Forums > Linux - Newbie
User Name
Password
Linux - Newbie This Linux forum is for members that are new to Linux.
Just starting out and have a question? If it is not in the man pages or the how-to's this is the place!

Notices


Reply
  Search this Thread
Old 08-20-2005, 08:42 PM   #1
markw8500
Member
 
Registered: Jul 2005
Posts: 104

Rep: Reputation: 15
what is "compliling a kernel"?


I've been trying to install a PCI modem for about 2 weeks now, and I seem to be getting no where, fast... I found some documentation that talked about compiling my kernel... Is this something that I have to do? And, what exactly does that mean?
 
Old 08-20-2005, 09:47 PM   #2
pokemaster
Member
 
Registered: Apr 2005
Location: Massachusetts, USA
Distribution: debian,ubuntu,slackware
Posts: 110

Rep: Reputation: 17
ok, I don't know how well-versed you are in programming (using the "make" tool to compile a program), try to give a little info about what you know (and also what you know about console usage in linux)

Chances are, to install the modem, compiling your kernel is exactly what you need to do, but again, with no info, I can't give you much more to go on.

So, get back, let us all know what you know about
a) programming (namely compiling and console usage)
b) what's not working with your modem (not recognized... no dialing, etc)
c) which linux distro are you using

Most OSs should have found the modem at the time you installed it, and updated its modules accordingly to make it work.


this is some (slightly) technical info about the kernel -- if you feel like delving, go ahead and read, but don't get too scared, it's not quite as complicated as it might seem!


As for what compiling the kernel means... well, if you could strip an operating system down to the most basic element (remove the extra drivers for peripherals like sound cards, video cards, etc.) you would wind up with the kernel. It includes everything your computer needs to run the basics, and you add on from there to make everything else work.

When you compile your own kernel, you can tell the computer which hardware you do and don't have, adding or removing drivers as necessary. Adding proper drivers will make your hardware work, and removing unneeded ones will decrease the size of your kernel (and your computer will run faster and use less RAM).

Two ways to insert drivers are as embedded in the kernel or as modules. Embedded drivers are good for, say, keyboard and mouse, which you want to run immediately at boot and have available, but for hardware like sound cards, which are not vital to computer operation, should be compiled as modules to allow for a smaller kernel, then loaded later as needed. (The concept of modules should become clearer as you get further into kernel configuration, but I won't get into it here.)
 
Old 08-20-2005, 10:35 PM   #3
darin3200
LQ Guru
 
Registered: Dec 2002
Distribution: Gentoo!
Posts: 1,153

Rep: Reputation: 45
Compiling a kernel is to build the core of your operating system.
You first new sources, which can be found at Kernel.org. It will probably be best to download the newest sources which is 2.6.12.5 and make sure to download the full sources which is the "F" link to the right. Move the file to /usr/src. These sources can be decompressed with the command
Code:
tar -xvjpf sources-name-here.tar.bz2
The then link the sources to /usr/src/linux with
Code:
ln -s sources-name linux
Then either run
Code:
make menuconfig
or
Code:
make xconfig
depending on if you want to go through text-based menus in the command line or if you want a GUI config tool.
Then there are menus and you need to go through and find all the features you need and select them. This is why compiling a kernel can be tricky, if you leave out something small you can lose support for a piece of hardware, a mouse, a filesystem, etc... After this you can save the configuration as you exit the config tool and then run
Code:
make && make modules_install
to compile your kernel into a program, the center of your OS, what you CPU is to your computer, your kernel is to your OS. Then you need to copy the kernel into your /boot directory. In the boot directory there should be a file called vmlinuz or bzImage, this is your kernel, you then need to mv that but still have it available just in case.
Code:
mv /boot/bzImage /boot/bzImage_old
Then copy your new kernel in and rename it to match the old name of the other kernel
Code:
cp /usr/src/linux/arch/i386/boot/bzImage /boot/bzImage
Then restart and hope for the best
The are a ton of other threads on this subject on LQ and I also like Gentoo Handbook on kernel compiling Although some of it is Gentoo specific, most of it is universally applicable.
Sorry for the length, but I hope that helps
 
Old 08-21-2005, 08:52 AM   #4
markw8500
Member
 
Registered: Jul 2005
Posts: 104

Original Poster
Rep: Reputation: 15
This sounds like it is going to suck... Why didnt all of this happen when I installed Linux in the first place?

To answer some questions:

"So, get back, let us all know what you know about
a) programming (namely compiling and console usage)
b) what's not working with your modem (not recognized... no dialing, etc)
c) which linux distro are you using"

to answer a) I really dont know much... I did alot of research on commands, and I am comfortable using them...I hope that is what you are asking...
b) my modem is doing nothing... absolutely nothing.
c) I am using Fedora...

I started to do some of what I think was Compiling, but I dont know if it worked... How do I know if it worked or even what I did... Is there any way to tell?
 
Old 08-22-2005, 01:12 PM   #5
sundialsvcs
LQ Guru
 
Registered: Feb 2004
Location: SE Tennessee, USA
Distribution: Gentoo, LFS
Posts: 7,150

Rep: Reputation: 2203Reputation: 2203Reputation: 2203Reputation: 2203Reputation: 2203Reputation: 2203Reputation: 2203Reputation: 2203Reputation: 2203Reputation: 2203Reputation: 2203
"Why didn't all this just happen?" That's a very good question. So let's set-aside the issue of "compiling the kernel" and try to figure out what did happen.

First, go to a command-line and try /sbin/lspci. This will list all of the PCI-bus devices that the system can see. Is the device there, and properly identified?

What type and model-number of device is it?
 
Old 08-22-2005, 05:23 PM   #6
shengchieh
Member
 
Registered: Jul 2004
Location: Palo Alto, CA
Distribution: #! Korora
Posts: 472

Rep: Reputation: 30
Before installing a distribution, it's help to look at their
hardware compatibility list (HCL). If not there, you'll have
to add something the geeky way. Why don't you also
consider other distribution as well?

Hardware Compatibility
http://www.tldp.org/HOWTO/Hardware-HOWTO/ (general)
http://www4.tomshardware.com/howto/20040329/index.html (beginner)
http://www.eskimo.com/~lo/linux/hardwarelinks.html (general)
http://www.linuxhardware.net/ (general)
Mandrake http://www.mandrakelinux.com/en/hardware.php3
Red Hat http://hardware.redhat.com/hcl/?pagename=hcl
Suse http://hardwaredb.suse.de/index.php?LANG=en_UK
Xandros http://support.xandros.com/hcl.php
Debianhttp://www.debian.org/releases/stable/i386/ch-hardware-req.en.html#s-hardware-supported
Slackwarehttp://slackware.com/install/sysreq.php
TurboLinux http://www.turbolinux.com/hcl/
Knoppix http://www.knopper.net/knoppix/index-en.html
YellowDogLinux http://www.yellowdoglinux.com/suppor...down/index.php
Libranet http://www.libranet.com/system_requirements.html
PLDhttp://pld-linux.org/installer-requirements.html
BearOps Linuxhttp://www.bearops.com/support/bearopsusermanual/chapter1.html#System%20Requirements
FreeBSD-5.0-i386http://www.freebsd.org/releases/5.0R/hardware-i386.html
OpenBSD-i386http://openbsd.org/i386.html#hardware
NetBSD-i386http://netbsd.org/Ports/i386/hardware.html
NetBSD-Portshttp://netbsd.org/Ports/

Sheng-Chieh

p.s. Most distributions have their own HCL if not listed above.
 
Old 08-22-2005, 07:14 PM   #7
markw8500
Member
 
Registered: Jul 2005
Posts: 104

Original Poster
Rep: Reputation: 15
Thanks, I will check it out...
 
Old 08-22-2005, 07:38 PM   #8
markw8500
Member
 
Registered: Jul 2005
Posts: 104

Original Poster
Rep: Reputation: 15
Quote:
Originally posted by sundialsvcs
First, go to a command-line and try /sbin/lspci. This will list all of the PCI-bus devices that the system can see. Is the device there, and properly identified?

What type and model-number of device is it? [/B]
This is what I got:

02:09.0 Communication controller: Conexant HSF 56k Data/Fax/Voice/Spkp (w/Handset) Modem (rev 01)

Also, I downloaded a generic HFS chipset driver and installed it... Everything went well, except at the end I got an error... it said ERROR: modem driver not active...

Any advise???
 
Old 08-23-2005, 10:17 AM   #9
pokemaster
Member
 
Registered: Apr 2005
Location: Massachusetts, USA
Distribution: debian,ubuntu,slackware
Posts: 110

Rep: Reputation: 17
hmmm... modem driver not active seems to me to mean you don't have the driver module for the modem loaded.


post the output of
Code:
lsmod
modprobe -la | grep hcf
modprobe -la | grep hsf
If you have the driver on your system, I'm hoping one of these will let us know.
 
Old 08-23-2005, 10:29 PM   #10
markw8500
Member
 
Registered: Jul 2005
Posts: 104

Original Poster
Rep: Reputation: 15
Thanks for all of your help... by the way...

This is what I get...

[root@localhost ~]# lsmod
Module Size Used by
parport_pc 34924 1
lp 17664 0
parport 51212 2 parport_pc,lp
autofs4 35336 2
rfcomm 51248 0
l2cap 35848 5 rfcomm
bluetooth 68420 4 rfcomm,l2cap
sunrpc 201704 1
pcmcia 36432 0
yenta_socket 25352 0
rsrc_nonstatic 15360 1 yenta_socket
pcmcia_core 61452 3 pcmcia,yenta_socket,rsrc_nonstatic
ipt_REJECT 7168 1
ipt_state 3072 1
ip_conntrack 53060 1 ipt_state
iptable_filter 4352 1
ip_tables 23552 3 ipt_REJECT,ipt_state,iptable_filter
video 20232 0
button 8992 0
battery 12040 0
ac 6664 0
md5 5632 1
ipv6 318368 8
ohci1394 45536 0
ieee1394 385208 1 ohci1394
ohci_hcd 30240 0
ehci_hcd 46092 0
hsfsoar 65704 0
i2c_nforce2 9216 0
i2c_core 27904 1 i2c_nforce2
shpchp 104744 0
snd_intel8x0 41856 1
snd_ac97_codec 99268 1 snd_intel8x0
snd_seq_dummy 5252 0
snd_seq_oss 46564 0
snd_seq_midi_event 12416 1 snd_seq_oss
snd_seq 80856 5 snd_seq_dummy,snd_seq_oss,snd_seq_midi_event
snd_seq_device 11792 3 snd_seq_dummy,snd_seq_oss,snd_seq
snd_pcm_oss 63920 0
snd_mixer_oss 21376 1 snd_pcm_oss
snd_pcm 123916 3 snd_intel8x0,snd_ac97_codec,snd_pcm_oss
snd_timer 38920 2 snd_seq,snd_pcm
snd 70656 11 snd_intel8x0,snd_ac97_codec,snd_seq_oss,snd_seq,snd_seq_device,snd_pcm_oss,snd_mixer_oss,snd_pcm,snd _timer
soundcore 14112 1 snd
snd_page_alloc 12808 2 snd_intel8x0,snd_pcm
sk98lin 192104 0
forcedeth 27648 0
floppy 79248 0
dm_snapshot 18408 0
dm_zero 2688 0
dm_mirror 28192 0
ext3 153872 2
jbd 94640 1 ext3
dm_mod 69760 6 dm_snapshot,dm_zero,dm_mirror
sata_nv 11524 0
sata_sil 11140 0
libata 55688 2 sata_nv,sata_sil
sd_mod 22656 0
scsi_mod 178136 2 libata,sd_mod
[root@localhost ~]# modprobe -la | grep hsf
/lib/modules/2.6.11-1.1369_FC4/extra/hsfosspec.ko
/lib/modules/2.6.11-1.1369_FC4/extra/hsfmc97sis.ko
/lib/modules/2.6.11-1.1369_FC4/extra/hsfmc97via.ko
/lib/modules/2.6.11-1.1369_FC4/extra/hsfpcibasic2.ko
/lib/modules/2.6.11-1.1369_FC4/extra/hsfmc97ali.ko
/lib/modules/2.6.11-1.1369_FC4/extra/hsfmc97ich.ko
/lib/modules/2.6.11-1.1369_FC4/extra/hsfusbcd2.ko
/lib/modules/2.6.11-1.1369_FC4/extra/hsfmc97ati.ko
/lib/modules/2.6.11-1.1369_FC4/extra/hsfserial.ko
/lib/modules/2.6.11-1.1369_FC4/extra/hsfsoar.ko
/lib/modules/2.6.11-1.1369_FC4/extra/hsfengine.ko
[root@localhost ~]# modprobe -la | grep hcf
[root@localhost ~]#
 
Old 08-24-2005, 02:31 PM   #11
pokemaster
Member
 
Registered: Apr 2005
Location: Massachusetts, USA
Distribution: debian,ubuntu,slackware
Posts: 110

Rep: Reputation: 17
OK, I have very little experience (none) using data modems in linux. But it seems to me that the hsfpcibasic2 module would be the one you want (though the hsfsoar mod is loaded)


so, try a
Code:
modprobe hsfpcibasic2
modprobe hsfengine
Hopefully one of those modules is the driver that your install said was "not loaded"... give it a shot, anyway...
 
Old 08-24-2005, 04:38 PM   #12
pbeckler
LQ Newbie
 
Registered: Jul 2005
Posts: 20

Rep: Reputation: 0
You could buy a hardware modem. That's how I solved the same problem. I bought an old USR Courier V.Everything cheap...
 
Old 08-24-2005, 07:05 PM   #13
markw8500
Member
 
Registered: Jul 2005
Posts: 104

Original Poster
Rep: Reputation: 15
LOL... But what fun would that be...
 
Old 08-24-2005, 07:30 PM   #14
markw8500
Member
 
Registered: Jul 2005
Posts: 104

Original Poster
Rep: Reputation: 15
Quote:
Originally posted by pokemaster

Hopefully one of those modules is the driver that your install said was "not loaded"... give it a shot, anyway... [/B]
Still no luck... This is what I got...

[root@localhost ~]# modprobe hsfpcibasic2
WARNING: Error inserting hsfosspec (/lib/modules/2.6.11-1.1369_FC4/extra/hsfosspec.ko): Unknown symbol in module, or unknown parameter (see dmesg)
WARNING: Error inserting hsfengine (/lib/modules/2.6.11-1.1369_FC4/extra/hsfengine.ko): Unknown symbol in module, or unknown parameter (see dmesg)
WARNING: Error inserting hsfserial (/lib/modules/2.6.11-1.1369_FC4/extra/hsfserial.ko): Unknown symbol in module, or unknown parameter (see dmesg)
FATAL: Error inserting hsfpcibasic2 (/lib/modules/2.6.11-1.1369_FC4/extra/hsfpcibasic2.ko): Unknown symbol in module, or unknown parameter (see dmesg)
[root@localhost ~]# modprobe hsfengine
WARNING: Error inserting hsfosspec (/lib/modules/2.6.11-1.1369_FC4/extra/hsfosspec.ko): Unknown symbol in module, or unknown parameter (see dmesg)
FATAL: Error inserting hsfengine (/lib/modules/2.6.11-1.1369_FC4/extra/hsfengine.ko): Unknown symbol in module, or unknown parameter (see dmesg)
[root@localhost ~]#

What do you think???
 
Old 08-24-2005, 07:33 PM   #15
danimalz
Member
 
Registered: Jul 2005
Location: West Coast South, USA
Distribution: debian 3.1
Posts: 266

Rep: Reputation: 36
Just to let you know, I am also very new to linux.

I don't know much about programming, scripting, etc., but i have successfuly
compiled maybe a dozen different kernels. I very much recommend that you
go thru the process at some point, you will learn so much about your system, and linux itself.

That said, I also recommend that you go thru at least a few of the documents
at the linux documentation project (tldp) to get familiar with filesystems, and basic
commands before jumping into a kernel compile. Try:

Beginners Bash Guide
System Admin Guide

I use debian, but the process for compiling a custom kernel is pretty much the same;
you'll be able to google up a howto for compiling FC i am sure.

My point is, if you are going to successfully use linux; you cannot be afraid to get
'under the hood', and you may find that you love it.

So, just make sure any important data is secure (backed up), and have at it. If you 'break' anything
in linux, and most people do, it CAN be fixed (unlike MSWin) - and there are many people
here and elsewhere who will happily help you.

Cheers
 
  


Reply


Thread Tools Search this Thread
Search this Thread:

Advanced Search

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is Off
HTML code is Off



Similar Threads
Thread Thread Starter Forum Replies Last Post
what is "sticky bit mode" , "SUID" , "SGID" augustus123 Linux - General 10 08-03-2012 05:40 AM
Telling people to use "Google," to "RTFM," or "Use the search feature" Ausar General 77 03-21-2010 12:26 PM
"Xlib: extension "XFree86-DRI" missing on display ":0.0"." zaps Linux - Games 9 05-14-2007 04:07 PM
What "kernel opts" allow PC to power down with "turning energy off"? kornerr Linux - General 1 03-10-2005 01:07 PM
Configuring kernel: Impact of "Y" or "N" vs. "M" Mark_E_Wallace Linux - Newbie 2 02-22-2004 07:02 PM


All times are GMT -5. The time now is 09:03 PM.

Main Menu
Advertisement
My LQ
Write for LQ
LinuxQuestions.org is looking for people interested in writing Editorials, Articles, Reviews, and more. If you'd like to contribute content, let us know.
Main Menu
Syndicate
RSS1  Latest Threads
RSS1  LQ News
Twitter: @linuxquestions
Facebook: linuxquestions Google+: linuxquestions
Open Source Consulting | Domain Registration