LinuxQuestions.org
Help answer threads with 0 replies.
Home Forums Tutorials Articles Register
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 04-17-2005, 04:42 AM   #16
Francis
Member
 
Registered: Nov 2004
Location: New Zealand
Distribution: Slackware 10.0
Posts: 37

Original Poster
Rep: Reputation: 15

Okey Pokey, so I did a bit more reasearch and now understand how patches work, they're just a file that lists all the differences between some standard source code and a modified version, the patch command line utility is able to decipher the diff file and modify the various source files for you. I also found out about how patches are designed for a specific version of code and so you need to find the appropriate patch for your specific code (what an educational process!). To make a long story short, I decided it was a much better idea to download the source for the latest stable kernel (2.6.11.7). I ran xconfig, scrolled to the IDE/ATAPI options and found support for the sis5513 chipset was listed, so now I'm able to make an sis5513 compatable kernel (and a nice up to date one at that) - much easier than faffing around looking for the appropriate patch, why didn't I think of it earlier. As long as I can work out how to make a bootdisk out of it, everything should be sweet.

Thanks for the help guys
 
Old 04-22-2005, 01:01 AM   #17
Francis
Member
 
Registered: Nov 2004
Location: New Zealand
Distribution: Slackware 10.0
Posts: 37

Original Poster
Rep: Reputation: 15
Ok, so I made a custom kernel from the 2.6.11.7 kernel source and copied it over to the bootdisk. When booting, It loads the kernel just fine, then starts scrolling all that jibberish past the screen, but stops with an error...

NET: Registered protocol family 17
VFS: Cannot open root device "<NULL>" or unknown-block(3,4)
Please append a correct "root=" boot option
Kernel panic - not syncing: VFS: Unable to mount root fs on unknown-block(3,4)
<7>spurious 8259A interrupt: IRQ7.

I'm not sure what this is, but I get the feeling that it's something to do with the Ramdisk not setting up properly? I tried telling it...

ramdisk root=/dev/fd0

when the bootdisk first asks for parameters to pass to the kernel, but I get a similar error to above...

NET: Registered protocol family 17
VFS: Cannot open root device "fd0u1440" or unknown-block(0,0)
Please append a correct "root=" boot option
Kernel panic - not syncing: VFS: Unable to mount root fs on unknown-block(0,0)
<7>spurious 8259A interrupt: IRQ7.

I also looked at the "config" file on the bootdisk and found that the bootdisk's kernel already has support for the sis5513 ide controller enables, which make's me wonder why the stock bootdisk was panicing?

Is anyone able to help me? Thanks in advance,

Francis

PS: Stupid old PCs not being able to boot from CDs
 
Old 04-22-2005, 06:29 AM   #18
DaHammer
Member
 
Registered: Oct 2003
Location: Planet Earth
Distribution: Slackware, LFS
Posts: 561

Rep: Reputation: 30
Ok, I drug the old Premio out from under the bed and gave it a whirl using the Slackware 10.1 bare.i bootdisks. With that disk, without any changes except I changed it to output to a serial console so I could copy/paste the below, as expected, I got the below kernel panic:
Code:
Uniform Multi-Platform E-IDE driver Revision: 7.00beta4-2.4
ide: Assuming 33MHz system bus speed for PIO modes; override with idebus=xx
SIS5513: IDE controller at PCI slot 00:01.1
SIS5513: chipset revision 9
SIS5513: not 100% native mode: will probe irqs later
SIS5513: SiS551x ATA 16 controller
    ide0: BM-DMA at 0x4000-0x4007, BIOS settings: hda:pio, hdb:pio
SIS5513: simplex device: DMA disabled
ide1: SIS5513 Bus-Master DMA disabled (BIOS)
hda: WDC AC2850F, ATA DISK drive
hdc: ST3491A-XR, ATA DISK drive
hdd: CD-ROM CDU77E, ATAPI CD/DVD-ROM drive
Unable to handle kernel NULL pointer dereference at virtual address 00000000
 printing eip:
00000000
*pde = 00000000
Oops: 0000
CPU:    0
EIP:    0010:[<00000000>]    Not tainted
EFLAGS: 00010282
eax: 0000000b   ebx: 00000003   ecx: 80000944   edx: 00000003
esi: 00000003   edi: c03ad7f4   ebp: c03ad8a4   esp: c1051f38
ds: 0018   es: 0018   ss: 0018
Process swapper (pid: 1, stackpage=c1051000)
Stack: c0200128 c03ad8a4 00b400f0 00000001 0b3ad9e0 00000003 00000003 c03ad8a4
       0004e000 c01fc940 c03ad8a4 0000000b c03ad8a4 00000001 c03ad7f4 c0209ba8
       c03ad8a4 000000ff c03ad7f4 c03afa94 00000001 c020a7b6 c03ad7f4 00000001
Call Trace:    [<c0200128>] [<c01fc940>] [<c0209ba8>] [<c020a7b6>] [<c0105000>]
  [<c0105000>] [<c0105067>] [<c01072a3>] [<c0105060>]

Code:  Bad EIP value.
 <0>Kernel panic: Attempted to kill init!
So, I recompiled the bare.i kernel disabling the compiled in SIS5513 driver, ie I changed it to load as a module. Here's how I built the kernel using the config from the bare.i bootdisk.
Code:
tar jxvf linux-2.4.29.tar.bz2
cd linux-2.4.29
make mrproper
mount /mnt/floppy
cp /mnt/floppy/config .config
make menuconfig
As stated above, all I changed was this and exited the kernel configuration:
Code:
ATA/IDE/MFM/RLL support  --->
  IDE, ATA and ATAPI Block devices  --->
    <M>     SiS5513 chipset support
Then I built the kernel:
Code:
make dep
make bzImage
cp arch/i386/boot/bzImage /mnt/floppy/vmlinuz
cp System.map /mnt/floppy/
cp .config /mnt/floppy/config
umount /mnt/floppy
That should get you past the bug. The problem is the inclusion of the sis5513 in the kernel, not the exclusion of. Also with the bootdisk, if you type anything at the boot: prompt, then you'll need to re-add the root=x option and some others, because the syslinux.cfg file on it is setup in such a way that those options don't get passed if you speficify others. This is likely the reason for your problem in your last post. In other words, if you want to change or add boot options, then pas the entire line modified as needed, like so:
Code:
vmlinuz ramdisk_size=7000 root=/dev/fd0u1440 vga=normal rw SLACK_KERNEL=bare.i
Else you can use "ramdisk" instead of "vmlinux" and all the above will be automatically appended.

Now, that should get you booted to this prompt:
Code:
VFS: Insert root floppy and press ENTER
Here it is requesting the install.1 disk. But, always a but. :) If you want to use the SIS5513 driver during the install, you'll need to add it to that image as well. It may work without it. It worked fine accessing my hard disks (one at primary master, the other at secondary master) but wouldn't work with the CDROM. But neither would the sis5513 driver, so the drive may be shot, don't recall. But anyway, it's no big deal to add it if you want. To do that, first build the modules, from the kernel source tree run:
Code:
make modules
Now we need to install them, but we don't want to trample on any 2.4.29 kernel we already have installed, so install them like this:
Code:
make INSTALL_MOD_PATH=/lib/modules/custom modules_install
That will install the modules as well as setup them up, in /lib/modules/custom. You can package that up in a tarball and use it instead of the Slackware modules package if you want. The SIS5513 module is NOT in Slackware's default package, so you'll either need to package these and install them or rebuild your kernel once you're up and running. You could also probably just grab the /lib/modules/custom/lib/modules/2.4.29/kernel/drivers/ide/pci/sis5513.o module, add it to the modules Slackware installs, and rerun depmod after your up and running. That's only if you're using a Slackware 10.1 system to build these on though. Simpliest way is probably to rebuild the kernel once up and going. Anyway, I'll show you how to add it to the disk.

Grab the install.1 file, decompress and mount it:
Code:
gunzip -S .1 install.1
mkdir /mnt/loop
mount -o loop install /mnt/loop
Now copy the module and module.dep to it:
Code:
mkdir -p /mnt/loop/lib/modules/2.4.29/kernel/drivers/ide/pci
cp /lib/modules/custom/lib/modules/2.4.29/kernel/drivers/ide/pci/sis5513.o > /mnt/loop/lib/modules/2.4.29/kernel/drivers/ide/pci/
cp /lib/modules/custom/lib/modules/2.4.29/modules.dep /mnt/loop/lib/modules/2.4.29/
umount /mnt/loop
gzip -S .1 install
Now write the new image to a disk, as well as install.2:
Code:
cat install.1 > /dev/fd0
--- Insert a 3rd disk ---
cat install.2 > /dev/fd0
If you want to use that module during the install, then just do a "modprobe sis5513" before entering "setup". Anyway, as I said above using the sis5513 driver as a module instead of compiled into the kernel eliminated the kernel panic. I still wasn't able to access the CDROM though, but it has always been troublesome and may have finally keeled over. I don't use the sis5513 driver at all, module or otherwise, and haven't had any problems except for the CDROM. Anyway, goodluck.

Last edited by DaHammer; 04-22-2005 at 09:02 AM.
 
Old 04-29-2005, 07:49 PM   #19
Francis
Member
 
Registered: Nov 2004
Location: New Zealand
Distribution: Slackware 10.0
Posts: 37

Original Poster
Rep: Reputation: 15
Ok, so I copied the config file to my linux directory and made a new kernel with the SIS5513 support compiled as a module and I copied it to my floppy, but when I try to copy the System.map file, I get this error..

root@SlackBox:/usr/src/linux# cp System.map /mnt/floppy/
cp: cannot create regular file `/mnt/floppy/System.map': No such file or directory

or

root@SlackBox:/usr/src/linux# cp System.map /mnt/floppy/system.map
cp: cannot create regular file `/mnt/floppy/system.map': No such file or directory

..which I can't really understand since the old system.map file IS on my floppy and it should just write over it, but anyway, I use the -f flag to force it to overwrite the existing file..

root@SlackBox:/usr/src/linux# cp -f System.map /mnt/floppy/system.map
cp: writing `/mnt/floppy/system.map': No space left on device

..but it seems that the file is too big

So what do I do? I noticed on the original boot floppy that there is a system.map file aswell as a system~1.gz file which seems to be the same kind of thing as system.map, but compressed, but what would be the point in having both compressed and uncompressed versions of the same file?

Also I've noticed that in my /usr/src/linux directory there is a System.map file, but the version on the floppy is named system.map i.e. with a lower case "s", is this right?

Last edited by Francis; 04-29-2005 at 07:53 PM.
 
  


Reply



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
installing rh or slackware from bootdisk israel Linux - Software 3 09-17-2003 08:58 PM
Slackware Bootdisk Fishermon Slackware 3 02-12-2003 11:05 PM
Slackware bootdisk Ahh! tarballedtux Slackware 3 10-05-2002 02:29 AM
Slackware 8.0 Bootdisk magis Linux - Newbie 2 03-29-2002 12:43 PM
Slackware bootdisk/LILO problem bleach Linux - Software 6 12-03-2001 08:48 AM

LinuxQuestions.org > Forums > Linux Forums > Linux - Newbie

All times are GMT -5. The time now is 11:25 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
Open Source Consulting | Domain Registration