Wakepup2 Aug 2008 - floppy image for booting from USB

Using applications, configuring, problems
Message
Author
otropogo

#101 Post by otropogo »

Jesse wrote:...
I had a look at the Puppy Linux boot hints (more /initrd/sbin/init) and the Puppy Linux boot hint 'pfix' has this option for booting, relevant to pcmcia:

usbcard) USBCARD="yes";; #boot from pcmcia drive.

So all you really need to do is use a text editor and add "pfix=usbcard" into your kernel boot parameters.

I know that it says 'usb', but your card might have usb internally and just not advertise that fact.
Well, there are USB controllers, but USB support fails, thanks to the brain-dead BIOS provided by the arrogant twits at Panasonic (or as Aitch says, the "Good Folks at Matsushita Industries"), which fails to assign an IRQ.

So I'm afraid your project is a lost cause on my CF-25 Toughbook. But I'm willing to give it a shot.
Ok, so, how to setup your kernel boot parameters?

If you've got a file called syslinux.cfg in the root directory.
I can't see one.
...
If you're using GRUB, open up the (HD)/boot/grub/menu.lst file:
Grub won't work on my frugal install.

I'm using a batch file with a script provided by Crash to boot Puppy 3.01 Retro from DOS:

Code: Select all

LINLD.COM image=vmlinuz initrd=initrd.gz "cl=root=/dev/ram0 PMEDIA=idehd acpi=on"
The basic idea is to find the boot config file and the kernel load line and add in pfix=usbcard. Its usually a small file, less than 1000 bytes or so. The kernel file is usually called 'vmlinuz' with Puppy Linux.

Okies, best of luck in getting it going.

Regards
Jesse
looks like this needs a bit more handholding...

User avatar
erikson
Posts: 735
Joined: Wed 27 Feb 2008, 09:22
Location: Ghent, Belgium
Contact:

#102 Post by erikson »

Jesse wrote:
otropogo wrote:(...) I would note, however, that the Puppy 3.01 Retro, which generated my probe results, runs with Linux Kernel 2.6.18, whereras the modules you cite above are for Kernel 2.6.25.
Ok, actually that makes things a bit simpler. I have Puppy (2.13) as my main system, which is using a 2.6.18.1 Kernel. The driver names and dependancies havn't changed for yenta_socket and rsrc_nonstatic.
I had a look at the Puppy Linux boot hints (more /initrd/sbin/init) and the Puppy Linux boot hint 'pfix' has this option for booting, relevant to pcmcia:

usbcard) USBCARD="yes";; #boot from pcmcia drive.

So all you really need to do is use a text editor and add "pfix=usbcard" into your kernel boot parameters.
I'm following the discussion with interest.

Regarding versions 3.01 and 3.01 retro (I checked both): the usbcard boot hint is *not* supported. The drivers yenta_socket and rsrc_nonstatic are present in initrd.gz but are *not* modprobed in init. Thus for these versions it won't be possible to boot off pcmcia. You'll end up with pup_301.sfs not found.
[size=84][i]If it ain't broke, don't fix it.[/i] --- erikson
hp/compaq nx9030 (1.6GHz/480MB/37.2GB), ADSL, Linksys wireless router
[url]http://www.desonville.net/[/url]
Puppy page: [url]http://www.desonville.net/en/joere.puppy.htm[/url][/size]

Jesse
Posts: 466
Joined: Sun 08 May 2005, 16:07
Location: Auckland, NZ

#103 Post by Jesse »

otropogo wrote:I'm using a batch file with a script provided by Crash to boot Puppy 3.01 Retro from DOS:

Code: Select all

LINLD.COM image=vmlinuz initrd=initrd.gz "cl=root=/dev/ram0 PMEDIA=idehd acpi=on"
Ok, looks like the kernel boot commands are in that quoted string, add in pfix like so:

LINLD.COM image=vmlinuz initrd=initrd.gz "cl=root=/dev/ram0 PMEDIA=idehd acpi=on pfix=usbcard"

erikson says that the modules are not modprobed, which is quite true, the hint pfix=usbcard gets the drivers loaded regardless because it uses the "zcat ... | insmod - " method, which is probably used for some technical reason that currently eludes me.
So give it a go :)

Jesse

otropogo

#104 Post by otropogo »

Jesse wrote:...

Code: Select all

LINLD.COM image=vmlinuz initrd=initrd.gz "cl=root=/dev/ram0 PMEDIA=idehd acpi=on"
Ok, looks like the kernel boot commands are in that quoted string, add in pfix like so:

Code: Select all

LINLD.COM image=vmlinuz initrd=initrd.gz "cl=root=/dev/ram0 PMEDIA=idehd acpi=on pfix=usbcard
No, that just loaded the 3.01sfs file from the hard drive, gave a bunch of cardmanager errors, and Pmount and MUT can't see the CF card in the pcmcia slot.

However, when I enter

Code: Select all

gpccard
in the console, it reports :
Socket 0

empty

Socket 1

ATA/IDE Fixed Disk
Just to be sure my card was inserted properly and working, I then booted into Win98SE, and it's all there as drive D, with all of the Puppy 4.0 files plus the USBflash marker file.

User avatar
erikson
Posts: 735
Joined: Wed 27 Feb 2008, 09:22
Location: Ghent, Belgium
Contact:

#105 Post by erikson »

Jesse wrote:erikson says that the modules are not modprobed, which is quite true, the hint pfix=usbcard gets the drivers loaded regardless because it uses the "zcat ... | insmod - " method, which is probably used for some technical reason that currently eludes me.
I don't know about the zcat insmod method, could you clarify?

I experimented some more, to verify that yenta, even though available in initrd.gz, is not activated, not even with the pfix hint. It may be for some versions, but not for 3.01 as I verified.

First I booted 3.01 normally. Console command lsmod | grep yenta returns yenta_socket and rsrc_nonstatic as should be the case.

I find that these drivers are loaded by /etc/rc.d/rc.modules that is called from /etc/rc.d/rc.sysinit.

My next move is to comment out rc.modules from rc.sysinit and reboot. Command lsmod | yenta returns nothing, as expected.

Then I add the boot hint pfix=usbcard on the kernel line in my grub menu, and reboot again. Command lsmod | yenta still returns nothing.

In other words, the yenta driver is loaded not earlier than from rc.modules, that is contained in pup_xxx.sfs (not in initrd.gz). Hence the chicken-and-egg problem: the driver that would be needed to load pup_xxx.sfs from pcmcia only gets activated after pup_xxx.sfs has been loaded.

I still think it can't work - unless yenta is activated explicitly from init in initrd.gz.

--- Edit: addition

Insofar I understand, the 'pfix' boot hint technique is specific to Puppy, and the pfix parameters are analysed and acted upon in Puppy's init script (in initrd.gz) and nowhere else (i.e. also not in the vmlinuz kernel). In other words, a pfix parameter that is not recognized in init has no effect whatsoever. If someone knows better, pls correct me.
[size=84][i]If it ain't broke, don't fix it.[/i] --- erikson
hp/compaq nx9030 (1.6GHz/480MB/37.2GB), ADSL, Linksys wireless router
[url]http://www.desonville.net/[/url]
Puppy page: [url]http://www.desonville.net/en/joere.puppy.htm[/url][/size]

Jesse
Posts: 466
Joined: Sun 08 May 2005, 16:07
Location: Auckland, NZ

#106 Post by Jesse »

erikson wrote:I don't know about the zcat insmod method, could you clarify?
Heres the exact lines that I was referring to:

Code: Select all

 zcat /lib/modules/${KERNVER}/pcmcia/rsrc_nonstatic.ko.gz | insmod -
 zcat /lib/modules/${KERNVER}/pcmcia/yenta_socket.ko.gz | insmod -
I think these are used as the modprobe call may not know how to unzip before loading.

I think you're right on all your points in your message.

I hadn't come across the gpccard program before, that seems to be an awfully handy tool to be able to determine if pcmcia disk boot drivers would be needed during the init script.

Does any of the more recent Puppy editions boot via the pcmcia? like 4.1rc1? If it does maybe we can copy the bits out of that initrd.gz and put them into your 3.01 initrd.gz. I know how to do that sort of thing, but figuring it all out from scratch would be very tricky as I don't have a computer with pcmcia.

Regards
Jesse

User avatar
erikson
Posts: 735
Joined: Wed 27 Feb 2008, 09:22
Location: Ghent, Belgium
Contact:

#107 Post by erikson »

Jesse wrote:I think these (zcat | insmod) are used as the modprobe call may not know how to unzip before loading.
Ah, okay. Actually, in 3.01, the compressed modules from initrd.gz are decompressed in rc.modules (i.e. too "late" for booting off pcmcia).
Does any of the more recent Puppy editions boot via the pcmcia? like 4.1rc1?
I don't know.
If it does maybe we can copy the bits out of that initrd.gz and put them into your 3.01 initrd.gz. I know how to do that sort of thing, but figuring it all out from scratch would be very tricky as I don't have a computer with pcmcia.
I'm thinking along the same lines.

My laptop does have pcmcia but I'm not inclined to invest in pcmcia SD or CF cards myself; I'm running Puppy off my usb hdd and/or my usb pendrive. I might experiment if ever someone sends me some pcmcia stuff to play with ;-)

---

BTW are you the jesse credited for elspci in rc.modules? Barry has included this usb support code also in initrd.gz such that Puppy perfectly boots off my usb devices :-)
[size=84][i]If it ain't broke, don't fix it.[/i] --- erikson
hp/compaq nx9030 (1.6GHz/480MB/37.2GB), ADSL, Linksys wireless router
[url]http://www.desonville.net/[/url]
Puppy page: [url]http://www.desonville.net/en/joere.puppy.htm[/url][/size]

Jesse
Posts: 466
Joined: Sun 08 May 2005, 16:07
Location: Auckland, NZ

#108 Post by Jesse »

erikson wrote:BTW are you the jesse credited for elspci in rc.modules? Barry has included this usb support code also in initrd.gz such that Puppy perfectly boots off my usb devices :-)
Yeah I wrote that ages ago, a fun little util. The original lspci didn't (easilly) print out the subclass field, which is how to easilly distinguish between which usb host controller driver to load. I'm glad that its working out well :)
Regards
Jesse

User avatar
erikson
Posts: 735
Joined: Wed 27 Feb 2008, 09:22
Location: Ghent, Belgium
Contact:

#109 Post by erikson »

GREAT NEWS

In the latest version of the init script (4.1-rc-409-k2.6.25.16), I find following code snippet:

Code: Select all

#v403 pcmcia drive support. i think this may need extra delay though...
[ "`elspci -l | grep '060700'`" != "" ] && modprobe yenta_socket
#...may have to add on a couple of seconds, need to test with a pcmcia drive.
So, otropogo et al, help Barry with alpha/beta testing. Please try booting frugal Puppy off pcmcia card with a Puppy version 4.03 or later, and report.

The bad news, for me, is that my external usb hdd doesn't boot with this version (the dreaded pup_409.sfs not found). I'm checking why.
[size=84][i]If it ain't broke, don't fix it.[/i] --- erikson
hp/compaq nx9030 (1.6GHz/480MB/37.2GB), ADSL, Linksys wireless router
[url]http://www.desonville.net/[/url]
Puppy page: [url]http://www.desonville.net/en/joere.puppy.htm[/url][/size]

otropogo

#110 Post by otropogo »

erikson wrote:..
So, otropogo et al, help Barry with alpha/beta testing. Please try booting frugal Puppy off pcmcia card with a Puppy version 4.03 or later, and report....
I'd like to, but I'm not sure exactly how to boot it.

I guess I can download the ISO, open it up with Isomaster (although I've never tried this before), and copy the files to a flash card to insert in the laptop. But then what?

Right now, my only means of booting Puppy is via the dos script I mentioned previously. Can you tell me how to modify that to boot from the pcmcia slot, or is Wakepup2 now able to do that?

User avatar
Crash
Posts: 453
Joined: Fri 09 Dec 2005, 06:34
Location: Melbourne, FL

#111 Post by Crash »

Otropogo-

I have recently had success booting both Puppy 4.1 Beta and 4.1 Release Candidate using a CF card in a PCMCIA adapter on my laptop computer test bed. These two successes are the first ever for me.

I used the following procedure: On my desktop computer, I downloaded the Puppy .iso file and burned it to a CD. Then I copied the contents of the CD (actually, just pup_409.sfs, initrd.gz, and vmlinuz) to the CF card. Then I transferred the CF card to the laptop computer and did a boot via floppy. The CF card is formatted FAT16 but FAT32 probably will work too.

For out-of-the-box PCMCIA support, I recommend either Puppy version 4.1 Beta or 4.1 RC. Hopefully the final release will also be as successful.

otropogo

#112 Post by otropogo »

Crash wrote:... I downloaded the Puppy .iso file and burned it to a CD. Then I copied the contents of the CD (actually, just pup_409.sfs, initrd.gz, and vmlinuz) to the CF card. Then I transferred the CF card to the laptop computer and did a boot via floppy. The CF card is formatted FAT16 but FAT32 probably will work too.

For out-of-the-box PCMCIA support, I recommend either Puppy version 4.1 Beta or 4.1 RC. Hopefully the final release will also be as successful.
Thanks Crash. Will try it. But have lost track of your latest version of Wakepup2 (I assume that's the boot floppy you're citing). Where is it?

Also. Don't you need the USBFlash marker file on the CF card?

John Doe
Posts: 1681
Joined: Mon 01 Aug 2005, 04:46
Location: Michigan, US

#113 Post by John Doe »

...latest version of Wakepup2...
perhaps here?

http://www.murga-linux.com/puppy/viewtopic.php?t=33551

looks like some really cool small nuances attended to in there.

User avatar
erikson
Posts: 735
Joined: Wed 27 Feb 2008, 09:22
Location: Ghent, Belgium
Contact:

#114 Post by erikson »

erikson wrote:The bad news, for me, is that my external usb hdd doesn't boot with this version (the dreaded pup_409.sfs not found). I'm checking why.
The reason is the change of drive designations: my internal ide hdd resp. external usb hdd are named 'hda' resp. 'sda' on Puppy 301, and 'sda' resp. 'sdb' on Puppy 409-k2.6.25.16.

So I just had to adapt the pdev1=sda6 boot hint to pdev1=sdb6 in my grub menu. Boots fine now.

I understand from crash that also booting from pcmcia indeed works with Barry's addition to init since 403.
[size=84][i]If it ain't broke, don't fix it.[/i] --- erikson
hp/compaq nx9030 (1.6GHz/480MB/37.2GB), ADSL, Linksys wireless router
[url]http://www.desonville.net/[/url]
Puppy page: [url]http://www.desonville.net/en/joere.puppy.htm[/url][/size]

otropogo

#115 Post by otropogo »

Crash wrote:Otropogo-

I have recently had success booting both Puppy 4.1 Beta and 4.1 Release Candidate using a CF card in a PCMCIA adapter on my laptop computer test bed.
Just tried to load Pup4.1-rc4 from CF card in my 16-bit pcmcia slot, using your Sept. 27 Wakepup2.img.

There was no sign that the CF card was ever recognized. Certainly the Puppy files were not.

Maybe I'm using the wrong procedure with Wakepup2? Can you run me through the options you used in each menu?

Perhaps I should mention that I didn't bother burning a CD. I just opened the ISO in Isomaster after checking the md5sum, then extracted it to my CF card. I checked the md5sum for the floppy image before writing it too.

otropogo

Wakepup2 of Sept. 27, 08 defective

#116 Post by otropogo »

@Crash

After my failed attempt to boot Pup4.1-rc4 from a CF card in my pcmcia slot using the latest (9/27/08_) Wakepup2 from

http://www.murga-linux.com/puppy/viewtopic.php?t=33551

I thought I'd better check it for pcmcia_scsi support.

And I found that, unlike previous Wakepup versions, it no longer recognizes the pcmcia_scsi host adapter and attached drive, even in Freedos.


We discussed this problem here:

http://www.murga-linux.com/puppy/viewto ... 8&start=60

in mid-September, when I ran various successful test for you, and you revised Wakepup2 and posted it in the thread I cited first above on Sept. 16.

I don't recall whether I ever tried the Sept. 16 version, but the recommended version of Sept. 27 fails every one of the tests we ran successfully in mid-September....

Have now tried your Wakepup2 of Sept. 16, and it fails too. I then found the archive of the Sept. 8 version, and it also fails.

So that means the one working copy I tested so extensively on Sept 14 was created sometime after September 8. Unfortunately, I don't have a copy. I may have copied your Sept. 27 version over it.

I hope you kept copies of your transitional versions between Sept. 8 and Sept. 16, and some notes on what you changed...

User avatar
Crash
Posts: 453
Joined: Fri 09 Dec 2005, 06:34
Location: Melbourne, FL

#117 Post by Crash »

Otropogo-

OK, we can still backtrack, but I have another method I've been playing with.

This only works for pup_409.sfs:

Make copies of all three disks. Start with disk 1 and follow the instructions. It loads the Kernel entirely from floppy - takes maybe three minutes, but eliminates a lot of unknowns. The only problem with this three-disk set is that it needs to be changed every time there is a Puppy version change.

cb9b1ce24c68d55abe68df1b032e110f disk1.img
f681c2bef18e37d1670922d9744ce6f8 disk2.img
151d15e87feddd17f3e3d27419bb528e disk3.img

otropogo

#118 Post by otropogo »

Crash wrote:Otropogo-

OK, we can still backtrack,
I sure hope so.

but I have another method I've been playing with.

This only works for pup_409.sfs:
Ok. First, your floppy images don't work quite right on my system.

It took me four reboots before I had my first opportunity to insert Disk2.

The first two times, the screen showed "pause", but the program just kept going through both pauses without my touching the keyboard..

On the third try, it passed by disk two and paused to let me insert disk 3. As you can imagine, that didn't work either....

Secondly, there's something about "F8" that flashes by too fast for me to even hit the key before it's gone.

So it took a lot longer than expected to test this three disk set.

When I finally got the whole thing loaded, I had my scsi_pcmcia adapter in slot 1, hosting the CDROM drive with the Puppy 4.0 LiveCD, and the CF card with the specified Puppy 409 files in slot 0.

The system presented a choice of my two 301R save files on "sda1" and "sda2" (which I assume are my hard drive partitions), or "none" and when I chose "none", it reported:
pup_409.sfs not found
[...etc]

So apparently it was able to detect the 4.1-rc4 files on the CF card.

Which leaves us at the same stage we were at with Wakepup2 more than a month ago, trying to load Puppy from pcmcia_scsi and PPzip, only now we're using three boot disks instead of one, and can no longer detect pcmcia_scsi, idehd (or pp ZIP, I'm guessing).

How is that progress?

User avatar
Crash
Posts: 453
Joined: Fri 09 Dec 2005, 06:34
Location: Melbourne, FL

#119 Post by Crash »

otropogo wrote:It took me four reboots before I had my first opportunity to insert Disk2.
Sounds like a nervous keyboard. If you want to make the program more stutter-proof, you can replace the tt.bat file on disk 1 with:

Code: Select all

@echo off
copy a:vmlinuzb r:
:disk2
echo Put in disk 2 (contains vmlinuza):
pause
if exist a:vmlinuza goto ok2
goto disk2
:ok2
copy a:vmlinuza r:
:disk3
echo Put in disk 3 (contains initrd.gz):
pause
if exist a:initrd.gz goto ok3
goto disk3
:ok3
copy a:initrd.gz r:
copy /b r:vmlinuza+r:vmlinuzb r:vmlinuz
LINLD.COM image=r:vmlinuz initrd=r:initrd.gz "cl=root=/dev/ram0"
Note: At any of the "pause"s, you can exit to the DOS prompt by hitting control-C, then "Y". You can look at things, hack autoexec.bat or tt.bat with the editor, etc., then reboot.
otropogo wrote:The system presented a choice of my two 301R save files on "sda1" and "sda2" (which I assume are my hard drive partitions), or "none" and when I chose "none"...
DEFINITELY choose "none" at this point to avoid getting into trouble.
otropogo wrote: So apparently it was able to detect the 4.1-rc4 files on the CF card.
No, I don't think it saw your CF card at all unfortunately. Can you put the CF card in slot 1 instead of slot 0?

It sees your hard drive, but doesn't see pup_409.sfs on it, which is exactly what should happen. You could copy pup_409.sfs to the hard drive, preferably to a subdirectory like "\pup41rc", and the Kernel WILL find it and boot to it. But there are a lot of other ways to accomplish the same thing, like making up another dos2pup script, but that is another exercise.

Well, it was certainly a step forward for my laptop computer, but apparently not for yours...

It may also be worthwhile to see if you can boot a live CD of Puppy 4.1 RC in your SCSI CD drive using this three-disk set. It worked for me OK on a USB CD drive.

///

Otropogo-

Getting back to Wakepup2, if you take the LATEST Wakepup2 disk, the one dated SEPTEMBER 27, 2008:

Save the original PCMCIA.BAT file on the floppy. Then replace PCMCIA.BAT with the following:

Code: Select all

rem pcmcia.bat test program - Oct 4, 2008 take 3
rem @echo off

driver\cardsoft\adapter
devload /q driver\cardsoft\ss365sl.exe

devload /q driver\cardsoft\cs.exe /POLL:1

devload /h /q driver\cardsoft\csalloc.exe driver\cardsoft\csalloc.ini
devload /q driver\cardsoft\atadrv.exe /S:2
devload /q driver\cardsoft\cardid.exe driver\cardsoft\cardid.ini
lh driver\cardsoft\cs_apm.exe

shsurdrv 1440k,r:
unzip driver\aspi.zip aspi2dos.sys -d r:
devload /q r:aspi2dos.sys
devload /q driver\aspicd.sys /d:USB-CD

autoexec
Does this code work with the PCMCIA SCSI CD?

otropogo

#120 Post by otropogo »

[
quote="Crash"]...
otropogo wrote: So apparently it was able to detect the 4.1-rc4 files on the CF card.
No, I don't think it saw your CF card at all unfortunately
Yes, I see that removing the CF card gives the same result. Your three disk boot set must be giving the system the name of the 409.sfs file.
Can you put the CF card in slot 1 instead of slot 0?
Done. Makes no difference.
You could copy pup_409.sfs to the hard drive, preferably to a subdirectory like "\pup41rc", and the Kernel WILL find it and boot to it...
It may also be worthwhile to see if you can boot a live CD of Puppy 4.1 RC in your SCSI CD drive using this three-disk set.


will try this later...
Getting back to Wakepup2, if you take the LATEST Wakepup2 disk, the one dated SEPTEMBER 27, 2008:

Save the original PCMCIA.BAT file on the floppy. Then replace PCMCIA.BAT with the following:
...

Does this code work with the PCMCIA SCSI CD?
I tried it with the Puppy 4.0 LiveCD only, and it does show the adapter information again, and takes matters up to the:
pup_400.sfs not found
message.

And since I don't see any reference to pup_400.sfs in your bat file, I assume that Freedos has actually read the filename from the LiveCD in this instance.

Post Reply