mmc drive available at bootup

Jemimah reported recently a problem with mmc cards needing a bit more time at bootup to become available:

Also, there is a Puppy Forum thread where someone is trying to save the session to a mmc card, booting off a CD. That thread proposes a solution involving a boot parameter "pdev", however, there is no such parameter and "pdev=..." will make no difference. More likely, it works because the person has a USB drive plugged in.

I have now taken into account the extra time needed by a mmc drive. In other words, it should now be fixed.

Woof commit:

Posted on 30 Mar 2012, 12:02


Posted on 30 Mar 2012, 17:53 by Taavetti

is there any sense in the idea to order the DISTRO_PKGS_SPECS -file in groups for example so that in first group of files are those necessary to get the system running, in the second group the "basic" programs and files for common use, in the next group more spesific programs and files and in the last group the distro specific files and programs?

Posted on 30 Mar 2012, 17:56 by BarryK
wait4usb script
A further note. The above commit is not right, I found a typo in wait4usb script. Fixed, will commit Woof soon.

Note, I think in the Forum thread they were talking about modifying the 'pmedia' boot parameter. This defines the type of media being booted from. "pmedia=cd" is correct when booting off an optical drive. If you were booting off a USB Flash drive, then "pmedia=usbflash" would be correct.

You do not put the name of a partition as the argument to pmedia!

pmedia is the type of device that you are booting off, it has nothing to do with the savefile.

Recognised values for pmedia:

usbflash usbhd usbcd ataflash atahd atacd atazip scsihd scsicd cd

Note that if there is no 'pmedia' boot param that is ok, Puppy can usually figure out what it is booting off. The 'pmedia' parameter is just a helper that sometimes makes it easier for the 'init' script.

Posted on 30 Mar 2012, 19:43 by darkcity
Thanks for the update, I have corrected the following wiki pages-

I guess the pdev1 wasn't really necessary, when these examples were tested.

Posted on 31 Mar 2012, 12:31 by technosaurus
Drives & init
Now that you have busybox blkid with "type=" builtin it would be worth consideration to eventually use uuid to pick the drive by default ... Just add it to the menu.lst at install along with a parameter indicating whether it is removable (my example code in sit detects removable already ... all removable disks get a usb icon) AFAIK it picks up all drives, disks and partitions regardless of how many there are... which _is_ annoying with a lot of drives, but I use a separate tray to get trayicons (I like the important stuff to stay more visible and I even made a notify-like wrapper that uses sit to display important localizable messages using svg or my text2xpm script for the terse message and tooltip for the full message)

This could save a lot of time wasted "looking for puppy files"

I also came up with a method to do init chunks in parallel that I don't recall seeing used, but could speedup drive related & other chunks... Basically:

Command &
...irrelevant commands...
wait $ThisPID
#works with functions too, so we can split it into blocks

(I started to rewrite the whole init like this, but ended up writing a C version that only does the minimum to get to X and shifted the rest to a jwm startupcommand running in rxvt before I made a lot of progress... didn't figure I'd be able to beat a ~1 sec boot no matter how well it was coded in shell... Albeit depending on kdrives instead of xorg, but my card works better with xvesa/xvfb anyways)