PuppyThis forum is for the discussion of Puppy Linux.
Notices
Welcome to LinuxQuestions.org, a friendly and active Linux Community.
You are currently viewing LQ as a guest. By joining our community you will have the ability to post topics, receive our newsletter, use the advanced search, subscribe to threads and access many other special features. Registration is quick, simple and absolutely free. Join our community today!
Note that registered members see fewer ads, and ContentLink is completely disabled once you log in.
If you have any problems with the registration process or your account login, please contact us. If you need to reset your password, click here.
Having a problem logging in? Please visit this page to clear all LQ-related cookies.
Get a virtual cloud desktop with the Linux distro that you want in less than five minutes with Shells! With over 10 pre-installed distros to choose from, the worry-free installation life is here! Whether you are a digital nomad or just looking for flexibility, Shells can put your Linux machine on the device that you want to use.
Exclusive for LQ members, get up to 45% off per month. Click here for more info.
I just burned a CD of the "retro" version of Precise Puppy 5.7.1. It works, but I need it to load a particular module to run the old ISA SCSI card that my flatbed scanner needs. There is a tool to set up the module for the ISA NIC, but I can't see how to auto-load the module for the SCSI card.
IITC, there was a change in the early 2000s (Kernel 3.0?) where the 16 bit ISA bus was no longer supported, interrupts were assigned automatically and /etc/interrupts wasn't needed. Memory (Ram) could be organised without the restrictions of the original myopic PC design.
If you're on a retro version with a 2.x kernel, or an old enough kernel to support ISA,you set up /etc/interrupts with pnpdump and isapnp. I forget what isapnp does, but there's a man page. Pnpdump read the bus and spat out the IO & interrupts used on the ISA bus. You can't have more than a Pentium 2 in that thing. I could use it as a tool, and keeping offline. Is there some reason you can't get a scanner or a PCI based SCSI card? I confess to using a retro system myself in M$DOS as an EPROM programmer, but no drivers for network stuff were loaded, just command.com. I junked that in 2006.
Actually, the network card has been working fine. I've been surfing the web with SeaMonkey.
When I try to modprobe the required module, it says that that module doesn't exist. But, if I do a zcat /proc/config.gz > .config and run make oldconfig and then make menuconfig, it seems to indicate that the kernel was compiled with that module.
Is there a PET file or an SFS that has the other kernel modules that I can just download?
There's a plethora of useful ways to hack any distro that old. Your only hope online is that exploits are being made for newer systems :-/. If you don't mind having it hacked, then fine.
I'm using kernel 3.2.48 - the one that comes with the "retro" Precise Puppy 5.7.1.
I have successfully recompiled the kernel, changing literally only one config item: Allow forced loading of modules.
I then unpacked the contents of the original ISO image and replaced the vmlinuz in there with the bzImage that I compiled. Created a new ISO and burned it to disc.
It seems like it's going to work at first, but when it gets to "Setting up layered filesystem" it starts giving errors and ultimately results in a kernel panic. Now, it's literally the exact same kernel, save for that one minor setting change, so I feel like it should just work, but I noticed that there is also an initrd.gz in the ISO for the CD as well. So, I'm thinking there is some correction I would need to make in there to get the new kernel to "Sync."
I've unpacked the initrd.gz and had a look around, but I have no clue what I would need to change in order to get my new kernel to fit in.
The initrd only needs to be small. The exact boot order is
Bios loads kernel and starts at sector 0(or whatever) of chosen boot method (Bios has to be capable of this)
Loaded kernel boots, sets up motherboard hardware chipset, video, root filesystem, etc. Anything needed for this has to be compiled into the kernel or in an initrd.
Once the kernel has the root filesystem, it can read /lib/modules and get it's own modules, to set up the rest of the crap (networks, usb, widgets, etc). They can all be modules.
ISA has a disadvantage in that it's designed in the myopic 1980s. The kernel can't interrogate it because the ISA card doesn't usually answer. They tried PnP (Plug & Play) ISA cards in the 1990s, but they were iffy at best. You needed to know the IO address & interrupt, and tell it. Have a look at the ISAPNP MAN PAGE which tells you about isapnp.conf and you can return to the bad old days. To fit the age, you should run this thing, whatever it is, from a steam powered generator of course .
Bottom line: Write isapnp.conf, call isapnp on boot up pointing it at isapnp.conf, and it should load. I knew isapnp was good for something. . .
Okay, I've figured out how to tell it to load the module. That's in the little Boot Manager utility on the menu. But that isn't the problem. The problem is that the module that I need isn't in the set of modules that comes with the distro. That's why I recompiled the kernel to allow forced loading of modules. I compiled the module but it wouldn't load because of some kind of version mismatch which "Allow forced loading of modules" would correct. So, I need to know how to get the new kernel I compiled to work with the rest of the stuff on the CD.
Version mismatch - you need to be telling us versions here!
My guess is that something has updated into the current millenium when support for ISA was dropped.
Along with dropping ISA, a number of huge changes were made, only possible without ISA support. I thought kernel version 3.0 was the point.
My advice is:
Go with the original kernel. Use pnpdump and isapnp, not some clever utility that 'takes the work' out of it, because they're too modern. Stay firmly in the last millenium if you must have this, and don't let it online. As soon as updates get going, they will junk all the crap you actually need. Think of it as a scanning tool, not a pc.
Don't post again without version numbers - lots of them.
Well, the kernel that comes with Precise Puppy is 3.2.48, and that's exactly the kernel source code that I downloaded to compile the module (and also the one that I used to recompile the whole kernel). There is no tail after the kernel version (such as -default or -SMP-20141216 or anything like that). It's just 3.2.48, so my make kernelversion and uname -r were identical.
The ISA thing isn't an issue. The ISA network card works just fine. And I've already compiled the SCSI module and installed it. It just won't load. If the default kernel had "Forced loading of modules" enabled (which I can't believe it doesn't), the module would load and I would have marked this thread solved. I used the config from the default kernel to compile the new one, having changed only that one setting. It starts to load, but then does the "kernel panic" thing when it gets to the "Setting up layered filesystem" step. That tells me that the kernel works, it just needs something corrected in the initrd to make it "Sync" with the rest of the setup. if I could find that out, everything would be great.
[QUOTE# SUSESailor]That tells me that the kernel works, it just needs something corrected in the initrd to make it "Sync" with the rest of the setup. if I could find that out, everything would be great.[/QUOTE]
Get the forced loading out. Half the crap in the initrd usually isn't needed - just the ones before it loads the kernel rw. No isa stuff anyhow.
In Puppy's case, the initrd.gz is the 'virtual' ram-disk that Puppy sets-up in RAM prior to loading the main Puppy SFS file. This 'layers' the file-system, together with the contents of your save-file/folder, all together to produce what appears to the user to be one homogenous whole.
Having done that, control is passed to the kernel, which kick-starts the whole kit'n'caboodle into life.
With the newer Puppies, starting with, I believe, Tahrpup 6.0 CE back in November 2014, the kernel modules were allocated to a separate SFS file, known as the 'zdrv'. It was the beginning of Puppy's 'modularization' (along with the adoption of the then new Woof-CE build-system, which took over from the previous T2 version). This has resulted in an explosion of 're-masters' in recent years, due to customization becoming ever easier (with the extra inclusion of the 'adrv', 'ydrv', and 'fdrv' SFS files).
I'll be bluntly honest; even by Linux standards, Puppy is considered 'weird'! Seasoned Linux veterans, with many years of 'service' under their belts, can be reduced to the status of raw noobs when coming to Puppy (if they don't keep their wits about them.....)
In my own case, I had less than a year's familiarization with the 'mainstream' distros when I moved across to Puppy.....thereby not having had sufficient time to become 'set in my ways'. And being inquisitive and flexible, I soon came to grips with Puppy's unique way of doing things.....
Mike.
Last edited by Mike_Walsh; 07-21-2018 at 08:00 PM.
LinuxQuestions.org is looking for people interested in writing
Editorials, Articles, Reviews, and more. If you'd like to contribute
content, let us know.