Console puppy

Booting, installing, newbie
Post Reply
Message
Author
ggb112
Posts: 4
Joined: Sat 02 Jul 2005, 22:34
Location: Canberra, Australia

Console puppy

#1 Post by ggb112 »

Hi All

I am trying to make a console version of puppy to run linux2.4.22. After loading vmlinuz and image.gz, there are several problems and then there is a kernel panic:

Warning unable to access an initial console.
attempt to access beyond end of device
EXT2-fs error (device ramdisk(1,0)): ext2_read_inode:unable to read inode block inode=7681,block=32773

... (many errors like this EXT2-fs error)

...
Kernel panic: No init found. Try passing init=option to kernel.

I am using the procedure described in the readme.txt to build a console puppy for
linux-2.4.22 . Basically I execute the script on a linux-2.4.22 based system.

./createpupp0

and use only the files in sources0. I built this on an old pentium 166Mhz with 80 M ram
running RH8 (I know RH8 is not Mandrake9.2 as suggested and maybe this is an issue?) and with the linux-2.4.22 kernel installed. This created image.gz successfully though compiling syslinux did fail.

Since I already had vmlinuz (the kernel) produced on the PC166 hosts system, it apears as though I have everything (I think):

image.gz, vmlinuz (from the host system), syslinux.cfg and ldlinux.sys (from syslinux)

My syslinux.cfg is:
default vmlinuz root=/dev/ram0 initrd=image.gz
append console=tty0, console=ttyS0, 9600n8r
append PSLEEP=25

Any ideas would be appreciated?

gerard

Guest

#2 Post by Guest »

The ramdisk size of image.gz is great than the compiled in size of the ramdisk


You need to know the umcompressed size of the image.gz

Say image.gz uncompressed is 168384K (ie 16MB)

add ramdisk_size=16384 to the kernel command line and all should be good.


What is happening is that a ramdisk is being loaded that is a greater size than the kernel is aware of......btw using a 2.4.22 kernel is going to give you all sorts of trouble if you haven't added the modules from that kernel (2.4.22)...

ggb112
Posts: 4
Joined: Sat 02 Jul 2005, 22:34
Location: Canberra, Australia

console puppy

#3 Post by ggb112 »

Thanks for the response.

I think that adding the ramdisk_size paraneter should work however boot up blocks in anycase with "unable to locate initial console" most of the time (depending on syslinux.cfg)

I am now following up on the suggestion about the modules. The script createpuppy0 mentions updatemodules.sh. However It does not appear to need it as there is the line

echo "Copy to Puppy filesystem $DESTDIR/lib/modules/2.4..."
cp -a $PUPPYDIR/modules/2.4/* $DESTDIR/lib/modules/2.4/

which appears to do the job, although only for the 2.4 modules? Also the only updatemodules.sh script I can find on the web is for hairynose puppy?

At the moment I am building the 2.4.22 kernel with the squashfs patch applied for
the config file config-25jun04.

After this, it is not clear what I need to do to include these modules on the flash drive?

Do I run createpuppy0 first for example? Do the modules remain in compressed form in
rootfs-complete/lib/modules/ and is the correct directory 2.4.22 or 2.4 simply?

Thanks

Gerard

ggb112
Posts: 4
Joined: Sat 02 Jul 2005, 22:34
Location: Canberra, Australia

Puppy console module problem

#4 Post by ggb112 »

Hi

I have now figured out the reason for the inability to open an initial console. I needed to add /dev/console and /dev/null to rootfs-complete/dev.

It now seems that puppy is running because I put a ping command into rc.local and ping producs an error message to do with the network being unreachable. This is a sign of life!

However I would like to obtain more information on how to deal with modules. Boot up still crashes on modules. These are just the modules from puppy.tar.gz all compressed. According to the createpuppy0 script, these are copied into rootfs-complete /lib/modules
but they are still the same and in .gz format.

What do I have to do? Do I need to gunzip them myself? You did say in your last email that it was clear there was a module problem. What did you notice?

Cheers, Any help would be appreciated.

Gerard

Guest

#5 Post by Guest »

First off the modules HAVE to match the kernel....




What I suggest is to run, if you can, with a stock kernel and work from there, if you need a custom 2.4.27 kernel or modules to go with drop me a line and I'll be glad to help out or any gerneal advise....

Just wondering why a 2.4.22 kernel ?

User avatar
BarryK
Puppy Master
Posts: 9392
Joined: Mon 09 May 2005, 09:23
Location: Perth, Western Australia
Contact:

#6 Post by BarryK »

ggb112,
That sources0 and sources1 code that you are using is very old.

We are now all using Puppy Unleashed -- it is not compiling from
source though, Unleashed is all binary packages.
You just choose the packages you want and create a custom Puppy.

ggb112
Posts: 4
Joined: Sat 02 Jul 2005, 22:34
Location: Canberra, Australia

console puppy

#7 Post by ggb112 »

Hi

I am using the following file set from ibiblio.org

puppy.tar.gz sources0.tar.gz sources1.tar.gz

to create a console only puppy distribution.

I am using the the 2.4.22 kernel because that is the one that is extracted when i do

tar -xvzf puppy.tar.gz

So I built a 2.4.22 kernel on RedHat 8 and then ran createpuppy0. If createpuppy0 is only used with sources0 then one is supposed to produce a console puppy.

I went away from using puppy_unleashed because I need (a) a minimal console distribution and (b) because I want to include my own kernel modules developed from source.

Using the above (old) method all I have to is place my modules in /lib/modules.

Is there a better way of doing this?

Gerard

Guest

Re: console puppy

#8 Post by Guest »

ggb112 wrote:I went away from using puppy_unleashed because I need (a) a minimal console distribution and (b) because I want to include my own kernel modules developed from source.
There's nothing to stop you from doing that with Unleashed.

Post Reply