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
Console puppy
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)...
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)...
console puppy
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
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
Puppy console module problem
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
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
console puppy
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
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
Re: console puppy
There's nothing to stop you from doing that with Unleashed.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.