(OLD) (ARCHIVED) Puppy Linux Discussion Forum Forum Index (OLD) (ARCHIVED) Puppy Linux Discussion Forum
Puppy HOME page : puppylinux.com
"THE" alternative forum : puppylinux.info

This forum can also be accessed as http://oldforum.puppylinux.com
It is now read-only and serves only as archives.

Please register over the NEW forum
https://forum.puppylinux.com
and continue your work there. Thank you.

 
 FAQFAQ   SearchSearch   MemberlistMemberlist   UsergroupsUsergroups    
 ProfileProfile   Log in to check your private messagesLog in to check your private messages   Log inLog in 

The time now is Sun 27 Sep 2020, 01:02
All times are UTC - 4
 Forum index » Advanced Topics » Cutting edge
Enhance boot params, pupsfs, zdrv, fdrv, adrv, ydrv, psave
Moderators: Flash, Ian, JohnMurga
This forum is locked: you cannot post, reply to, or edit topics.   This topic is locked: you cannot edit posts or make replies. View previous topic :: View next topic
Page 2 of 4 [60 Posts]   Goto page: Previous 1, 2, 3, 4 Next
Author Message
gyro

Joined: 28 Oct 2008
Posts: 1799
Location: Brisbane, Australia

PostPosted: Wed 25 May 2016, 00:56    Post subject:  

@jlst,

On a quick review of your code, I think
Code:
 [ "$ONEDRVLAYER" ] && FLAYER="${ONEDRVLAYER}:"
should be
Code:
 [ "$ONEDRVLAYER" ] && FLAYER=":${ONEDRVLAYER}"
Should be like the ZLAYER not the YLAYER.

I now have a current "/woof-CE/woof-code/huge_extras/init" which does include fdrv support.

gyro
Back to top
View user's profile Send private message 
gyro

Joined: 28 Oct 2008
Posts: 1799
Location: Brisbane, Australia

PostPosted: Wed 25 May 2016, 02:14    Post subject:  

@jlist,

There's just one more thing.
To preserve the functionality as per the other drvs
Code:
   if [ "$FDRV" = "" -a "$EXTRAFW" = "yes" ];then
     find_onepupdrv "$FDRVSPEC" "f" "$FDRVDEV"
     [ "$ONEPUPDRV" ] && { FDRV="$ONEPUPDRV"; FDRVSPEC=""; }
     [ "$FDRV" = "" ] && { find_onepupdrv "$FDRVSFS" "f"; FDRV="$ONEPUPDRV"; }
   fi
should be
Code:
   if [ "$EXTRAFW" = "yes" ];then
     find_onepupdrv "$FDRVSPEC" "f" "$FDRVDEV"
     [ "$ONEPUPDRV" ] && { FDRV="$ONEPUPDRV"; FDRVSPEC=""; }
     [ "$FDRV" = "" ] && { find_onepupdrv "$FDRVSFS" "f"; FDRV="$ONEPUPDRV"; }
   fi
A drv specified as a boot parameter should always take precedence over a standard drv.
So, even if "init" has found a standard drv on sdb2, it will still try to use the one specified with a boot parameter on sdb4.
So "find_onepupdrv" is unconditionaly called to look for a boot param drv.

gyro
Back to top
View user's profile Send private message 
Robin2

Joined: 17 Jan 2015
Posts: 180

PostPosted: Wed 25 May 2016, 04:47    Post subject:  

Thank you @gyro.

In the meantime I have discovered that there is a XenialPup and (very frustrating) that it existed before I ever started trying to get my ACER working. I probably could have avoided several days of fruitless experiments.

Anyway - that brings me to a slightly different question. Can I apply your patches to the initrd.gz file for XenialPup and how do I do that?

Update
Actually it now seems to be able to find the save file on mmcblk0p1 so I don't need to patch the initrd.gz.

But I still have not figured how to make it boot from the SSD without needing a USB stick.

Many thanks.

...R
Back to top
View user's profile Send private message 
jlst

Joined: 23 Nov 2012
Posts: 571

PostPosted: Wed 25 May 2016, 09:28    Post subject:  

Ok, I'll wait for the single patch to apply it again

But maybe these changes are worth adding to the init in the main woofce repo:

- copy itself to new_dest/initrd
- remove umntfunc() and replace it with umount

Those are the changes I added to my init file, so the init stays in sync
Back to top
View user's profile Send private message 
gyro

Joined: 28 Oct 2008
Posts: 1799
Location: Brisbane, Australia

PostPosted: Wed 25 May 2016, 21:42    Post subject:  

All download patches have been replaced with ones that include support for fdrv.
These are now based on "woof-CE/woof-code/huge_extras/init" testing branch, as of 25 May 2016.
I have also attached a copy of that init script with all the patches applied. It's called "init.woof2".

jlist, sorry, in the end I didn't produce a single big patch.

Please see the first post for all downloads.

gyro
Back to top
View user's profile Send private message 
gyro

Joined: 28 Oct 2008
Posts: 1799
Location: Brisbane, Australia

PostPosted: Thu 26 May 2016, 00:40    Post subject: Testing  

Probably the easiest way to test this project is, in any Woof-ce based puppy, replace the "init" in "initrd.gz" with the "init.woof2" file atached to the first post, (renamed as "init" of course).
gyro
Back to top
View user's profile Send private message 
gyro

Joined: 28 Oct 2008
Posts: 1799
Location: Brisbane, Australia

PostPosted: Thu 26 May 2016, 06:11    Post subject:  

A patached "initrd.gz" for xenial 7.0.1 has been added to the first post as a download url.
gyro
Back to top
View user's profile Send private message 
Robin2

Joined: 17 Jan 2015
Posts: 180

PostPosted: Thu 26 May 2016, 06:19    Post subject:  

gyro wrote:
A patached "initrd.gz" for xenial 7.0.1 has been added to the first post as a download url.
gyro

That's very good of you. Thanks.

Actually I have discovered that XenialPup will boot direct from my ACER eMMC with the original initrd.gz and this
Code:
append pupsfs=mmcblk0p1:/puppy_xenial_7.0.1.sfs


...R
Back to top
View user's profile Send private message 
gyro

Joined: 28 Oct 2008
Posts: 1799
Location: Brisbane, Australia

PostPosted: Thu 26 May 2016, 06:37    Post subject:  

@Robin2,

I have to confess that I also have my own agenda for making a patched "initrd.gz" for xenial 7.0.1 available for download.
Being a very recent woof-ce puppy, it's "init" script is virtually identical to that in current woof-ce, thus the patched xenial "init" is virtually identical to the patched woof-ce "init".
The one line that is differnet between the two, has no bearing on these patches.
So, testing the patched xenial 7.0.1 "init" is almost as good as directly testing a patched actual woof-ce "init".
(Unlike the Tahr 6.0.5 and Tahr64 6.0.5 versions which do not contain support for an fdrv.)

gyro
Back to top
View user's profile Send private message 
jlst

Joined: 23 Nov 2012
Posts: 571

PostPosted: Sat 28 May 2016, 14:16    Post subject:  

I did some tests, and your changes seem work as expected... I'll take some time perform more tests. I'm using a grub4dos menu and a usb frugall install... usb_label = ZBOOT

This boots ok and finds adrv
Quote:
title Puppy Linux - PRECISE
kernel /PUPPYBOOT/precise/vmlinuz psubdir=PUPPYBOOT/precise pmedia=atahd pfix=fsck,nocopy pupsfs=ZBOOT: zdrv=ZBOOT: ydrv=ZBOOT: adrv=ZBOOT:/test/adrv_precise_5.7.1.sfs
initrd /PUPPYBOOT/precise/initrd.gz


EDIT: I also tested an harddrive with several partitions and it works.
Back to top
View user's profile Send private message 
jlst

Joined: 23 Nov 2012
Posts: 571

PostPosted: Sun 29 May 2016, 22:05    Post subject:  

I tried the init script you provided in your first post... it doesn't work with the initrd.gz i *build* (errors occur), so I stick with the current init script in the initrd_progs repo which is patched with your changes (but that change is not yet committed/pushed)

boot device: sdb1 (usb)

adrv=sda5:/test/....sfs (hard drive)

Sooo... I booted with a usb and pmedia=atahd, it couldn't find the adrive... I always use PSUBDIR, so after looking carefully at the code

this
Quote:

echo "ONEDEV=$ONEDEV ONEFS=$ONEFS ONEDRV=$ONEDRV PSUBDIR=$PSUBDIR" >> /tmp/puppy-file-search.log #101127 for debugging.

if [ -d /mnt/data${PSUBDIR} ];then

if [ "$VMLINUZ" = "" ];then #search for kernel.qky and vmlinuz...


became
Quote:

echo "ONEDEV=$ONEDEV ONEFS=$ONEFS ONEDRV=$ONEDRV PSUBDIR=$PSUBDIR" >> /tmp/puppy-file-search.log #101127 for debugging.

if [ -d /mnt/data ];then

if [ "$VMLINUZ" = "" ];then #search for kernel.qky and vmlinuz...


note that -> if [ -d /mnt/data ];then

after this change i repacked the initrd.gz and then it found the adrv with the Network Wizard which appeared finally with its popups in the desktop.

Overall your changes are solid and I will add them to the initrd_progs repo which is dedicated to experiment with the latest version of all the initrd programs, which includes busybox 1.24.2 with almost all its applets enabled.

Meanwhile you might want open a pull request at the woof ce main repo.

I just want know, what do you think of this particular change I just pointed out?
Back to top
View user's profile Send private message 
gyro

Joined: 28 Oct 2008
Posts: 1799
Location: Brisbane, Australia

PostPosted: Mon 30 May 2016, 01:58    Post subject:  

jlst wrote:
I just want know, what do you think of this particular change I just pointed out?
It doesn't look right.
But then I couldn't pinpoint the actual situation based on the information you provided.
If the filename spec starts with a "/" then PSUBDIR should be ignored for that file. I will do some more testing myself.
Could you please post the output from "/proc/cmdline" for the situation that fails, and a "diff -u" between the version of "init" that failed and your modified "init" that worked.

I will also attempt to patch the "init" script from initrd_progs.

gyro
Back to top
View user's profile Send private message 
gyro

Joined: 28 Oct 2008
Posts: 1799
Location: Brisbane, Australia

PostPosted: Mon 30 May 2016, 03:47    Post subject:  

@jlst,

I found a bug.
I'll get back with a new set of patches and a patched "init" for initrd_progs.
(And I'll update all the "initrd.gz" files.)

gyro
Back to top
View user's profile Send private message 
gyro

Joined: 28 Oct 2008
Posts: 1799
Location: Brisbane, Australia

PostPosted: Mon 30 May 2016, 05:43    Post subject:  

jlst wrote:
boot device: sdb1 (usb)

adrv=sda5:/test/....sfs (hard drive)

Sooo... I booted with a usb and pmedia=atahd, it couldn't find the adrive... I always use PSUBDIR, so after looking carefully at the code

this
Quote:

echo "ONEDEV=$ONEDEV ONEFS=$ONEFS ONEDRV=$ONEDRV PSUBDIR=$PSUBDIR" >> /tmp/puppy-file-search.log #101127 for debugging.

if [ -d /mnt/data${PSUBDIR} ];then

if [ "$VMLINUZ" = "" ];then #search for kernel.qky and vmlinuz...


became
Quote:

echo "ONEDEV=$ONEDEV ONEFS=$ONEFS ONEDRV=$ONEDRV PSUBDIR=$PSUBDIR" >> /tmp/puppy-file-search.log #101127 for debugging.

if [ -d /mnt/data ];then

if [ "$VMLINUZ" = "" ];then #search for kernel.qky and vmlinuz...


note that -> if [ -d /mnt/data ];then

after this change i repacked the initrd.gz and then it found the adrv with the Network Wizard which appeared finally with its popups in the desktop.
I've found the problem. That "if" means the ata drive is not serached at all.
I'm going to try a different solution, moving my code to after the end of that "if".

gyro
Back to top
View user's profile Send private message 
gyro

Joined: 28 Oct 2008
Posts: 1799
Location: Brisbane, Australia

PostPosted: Mon 30 May 2016, 10:25    Post subject: Updated  

I have attached an updated "init" script that fixes problems with finding specified sfs files on ata drive when booting from usb.
It's a patched version of the "init" script from the "initrd_progs" project.

More updated files will follow.

gyro
init.initrd_progs.gz
Description  gunzip to produce "init.initrd_progs" then rename to "init" and merge into "initrd.gz".
gz

 Download 
Filename  init.initrd_progs.gz 
Filesize  28.72 KB 
Downloaded  244 Time(s) 
Back to top
View user's profile Send private message 
Display posts from previous:   Sort by:   
Page 2 of 4 [60 Posts]   Goto page: Previous 1, 2, 3, 4 Next
This forum is locked: you cannot post, reply to, or edit topics.   This topic is locked: you cannot edit posts or make replies. View previous topic :: View next topic
 Forum index » Advanced Topics » Cutting edge
Jump to:  

You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum
You cannot attach files in this forum
You can download files in this forum


Powered by phpBB © 2001, 2005 phpBB Group
[ Time: 0.0942s ][ Queries: 12 (0.0109s) ][ GZIP on ]