LinuxQuestions.org
LinuxAnswers - the LQ Linux tutorial section.
Go Back   LinuxQuestions.org > Forums > Linux Forums > Linux - Software
User Name
Password
Linux - Software This forum is for Software issues.
Having a problem installing a new program? Want to know which application is best for the job? Post your question in this forum.

Notices

Reply
 
Search this Thread
Old 02-09-2004, 06:11 AM   #1
lukebeales
Member
 
Registered: Oct 2003
Location: Australia
Distribution: Slackware/LFS/Ubuntu
Posts: 89

Rep: Reputation: 15
sysvinit refusing to run on older hardware


Howdy all.
My situation is slightly complex so i'll describe it as best i can. I have created a bootable 2.88mb floppy image, which has the kernel and busybox on it and a few other things, and its sole purpose is to mount a compressed image, then switch the root point over to that image, and then run init. This is all squeezed on to a cd.

Here's the tricky part. I have tried it on many machines - which it doesn't work on the older machines for some unknown reason. Here's the results I have gotten, ordered by machine speed:

pentium4 3ghz, 512mb ram - works perfectly.
celeron 1.7ghz, 256mb ram - works perfectly.
pentium3 650mhz, 256mb ram - works perfectly.
celeron 366mhz, 96mb ram - works perfectly.
pentium 250mhz (yes overclocked), 64-192mb ram - works up until init.
pentium 200mhz, 64mb ram - won't boot the cd (uses some weird bios).
pentium 166mhz, 64mb ram - works up until init.

Initially i thought it may be running out of ram, but i tested that theory and it's not the case. So then i decided that maybe it's all compiled for the wrong processor. But even with it all compiled for a 486, same problems. The last lines that the bootfloppy image runs are:

------------------------------------------
/mnt/initrd/bin/echo "*** executing init!"
exec /mnt/initrd/sbin/chroot . /sbin/init </dev/console >/dev/console 2>&1

echo "*** you shouldn't see this line!"
------------------------------------------

...which i never see the last line, so it is obviously running something just it doesn't give me anything to say why it just sits there. when that is run on the older machines all i get is:

--------------------------------------------
*** executing init!
--------------------------------------------

and that's where the machine just sits for all eternity. So i have no idea if init is actually being run on these old machines or not. I'm just looking for any suggestions on how to fix this as i have covered everything i can think of so far. Anyone else found this problem?
 
Old 02-09-2004, 06:17 AM   #2
snacky
Member
 
Registered: Feb 2004
Distribution: Debian
Posts: 286

Rep: Reputation: 30
This is just an unsupportable hunch, but I bet the relevant difference is all in the BIOS.

How about a set of root/boot disks on 1.44mb floppies - do they work?
 
Old 02-09-2004, 07:55 AM   #3
lukebeales
Member
 
Registered: Oct 2003
Location: Australia
Distribution: Slackware/LFS/Ubuntu
Posts: 89

Original Poster
Rep: Reputation: 15
I believe both of the old machines that don't work are AMI bios. I can't test 2 separate 1.44mb disks as the kernel is bigger than a single floppy alone. It probably could be done but would take days of re-configuring everything just for that test which I don't have the patience for .

I'm not sure that it is with the bootdisk itself. I have tried burning it on re-writables, single writes, burning at slow and fast speeds, on different drives in different machines, using 2 different burning programs, and even turning off the floppy emulation in nero! but after all of that, it doesn't seem to be the cd itself or how i have burned it. The only thing i can narrow it down to is either pivot_root (which works perfectly on other faster machines), or init itself (which also works perfectly on other machines). So really i have no idea where to go from here.

Actually for added info, I had managed to get the cd booting on the p200 machine using smart bootmanager but it also stops at the same place. it's definitely something to do with original pentiums but no idea why.
 
Old 02-10-2004, 12:09 PM   #4
lukebeales
Member
 
Registered: Oct 2003
Location: Australia
Distribution: Slackware/LFS/Ubuntu
Posts: 89

Original Poster
Rep: Reputation: 15
i'm slowly narrowing this down. i have changed the compressed image to just a normal loopback image formatted to ext2. the same problem occurs so it is nothing to do with the cloop modules.

so i tried running a shell and typing the command manually. i don't have 'ls' installed on the bootdisk as it doesn't need it, but with whatever things i have on there, i can tell that the cd image has been mounted, and the folders are there, but no files (i think). yet on a pentium2 or newer, everything works fine still.

i have checked out busybox and it's compiled for 386. everything on the cd image is compiled for 486. the only thing left that i can think of is that busybox is statically linked with uclibc, so uclibc may be compiled for 686. so i will dig around for the files to re-compile that but as always i'm still open to suggestions!

edit: ok scrap that...uclibc is also 386. i guess it's time to try another kernel

Last edited by lukebeales; 02-10-2004 at 12:15 PM.
 
Old 02-13-2004, 10:02 AM   #5
lukebeales
Member
 
Registered: Oct 2003
Location: Australia
Distribution: Slackware/LFS/Ubuntu
Posts: 89

Original Poster
Rep: Reputation: 15
a small update as the problem is still there, but i have pinpointed exactly what it is.

first of all, i have compiled an entirely new 2.6.2 kernel which didn't fix it, and recompiled busybox to remove uclibc which also didn't fix it. the problem lies somewhere in busybox as far as i can tell. it manages to issue the pivot_root command perfectly, but then when it runs the chroot command, it spews back "illegal instruction". infact, even before pivot_root is run, it has that same error when you try to run any program from the root image from within the bootdisk.

so i'm guessing something isn't compiled for the right processor somewhere. absolutely everything is compiled for 586, including the kernel, busybox, every package, glibc, everything! so i have no idea which bit isn't working. anyway if anyone else has come across this and has a solution then please post your suggestion!

this is all being compiled on a p3-650 by the way, with the -march flag (and many others) set for everything.
 
  


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 a good version of Slackware for older hardware? PeteRossi Slackware 15 09-21-2005 07:22 PM
GNOME or KDE for older hardware? e1000 Linux - General 1 11-06-2004 02:24 AM
Good distro for older hardware? Luke727 Linux - Hardware 1 04-29-2004 05:40 PM
Counter strike server on older hardware? Mortamer *BSD 5 02-15-2004 08:53 PM
Looking for a fast distro for older hardware? frontier1 Linux - Distributions 2 12-18-2003 05:53 AM


All times are GMT -5. The time now is 04:07 PM.

Main Menu
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
identi.ca: @linuxquestions
Facebook: linuxquestions Google+: linuxquestions
Open Source Consulting | Domain Registration