The time now is Tue 18 Jun 2013, 18:24
All times are UTC - 4 |
| Author |
Message |
rhadon

Joined: 27 Mar 2008 Posts: 1228 Location: Germany
|
Posted: Fri 24 Jun 2011, 05:58 Post_subject:
|
|
Thanks Mick,
got it. Nice to see you here.
Rolf
_________________ Ich verwende "frugal", und das ist gut so.
Raspberry Pi without Puppy? No, thanks.
|
|
Back to top
|
|
 |
Bruce B

Joined: 18 May 2005 Posts: 10823 Location: The Peoples Republic of California
|
Posted: Fri 24 Jun 2011, 08:00 Post_subject:
|
|
| rhadon wrote: | | If I can't solve this for me, is it OK to post such questions here (maybe initrd isn't so interesting for others here) or should I post in a separate thread, maybe in Users ( For the regulars )? |
Rhadon,
This is why I think couldn't follow. I did what you apparently want to do, and I used a different approach.
I you want to work on this together, please specify exactly what you want and we'll give it a try. But patience, it could take a few days between breaks and all.
Bruce
~
_________________ New! Puppy Linux Links Page
|
|
Back to top
|
|
 |
rhadon

Joined: 27 Mar 2008 Posts: 1228 Location: Germany
|
Posted: Fri 24 Jun 2011, 12:31 Post_subject:
|
|
Ok Bruce,
here is what I have:
| Code: | #!/bin/sh
PSUBDIR="/lupu-525" #given by init script
ONEPART="sda2" #given by init script
ls /mnt/home/$PSUBDIR/boot-savefile>/dev/null
if [ "$?" = "0" ]
then
TST1=`grep "time=" /mnt/home/$PSUBDIR/boot-savefile | cut -f 2 -d '='`
TST2=`grep "default=" /mnt/home/$PSUBDIR/boot-savefile | cut -f 2 -d '='`
echo "Savefile #" $TST2 "will start automatically in " $TST1 "seconds." # in init script >/dev/console must be added
read -t $TST1 NUMSAVE
[ -z "$NUMSAVE" ] && NUMSAVE=$TST2
else
read NUMSAVE # this is the original place during boot where to select the savefile, ~ line#782 in init script
fi
echo "NUMSAVE="$NUMSAVE # for testing |
This works fine as a stand alone script. It fails in init script.. OK, it is clear, that /mnt/home/ doesn't work.
My first thought, if initrd is loading, I have access to PSUBDIR and everything is fine. Nice dream.
At this point of the init script it seems to me that nothing is mounted.
#mount gives nothing back. With #ls I can see that I'm in the init-tree.
My idea was/is to mount $ONEPART (here sda2), searching for boot-savefile in $PSUBDIR and to umount it later.
The way I know, #mount /dev/$ONEPART /mnt/$ONEPART doesn't work.
In the README.txt I find:
| Code: | /initrd/pup_rw
This is the writable folder. Usually it is tmpfs (temporary filesystem) in ram.
However, a personal storage file (named "pup_save.2fs" or similar) or partition
could be mounted directly on here (in which case it won't be on /initrd/pup_ro1). |
So this seems to be the right place to mount sda2 temporarily. But how? All commands in ini about mounting are looking so complicated, I don't understand.
At ~line 176 there's a function called mntfunc(). I assume, most mounting will be done with this function. It seems to check for different file systems. Maybe a better solution than trying myself?
For now I think I must at least specify more, like file system (here ext3) .
What do you think? Is it a workable way?
Opinions from others are also appreciated.
Rolf
_________________ Ich verwende "frugal", und das ist gut so.
Raspberry Pi without Puppy? No, thanks.
|
|
Back to top
|
|
 |
rhadon

Joined: 27 Mar 2008 Posts: 1228 Location: Germany
|
Posted: Sat 25 Jun 2011, 04:43 Post_subject:
|
|
Hi,
IT WORKS
| Code: | TST3=`echo $PUPSFS | cut -d , -f 2`
mntfunc $TST3 /dev/$PDEV1 /mnt/dev_ro2
ls /mnt/dev_ro2$PSUBDIR/boot-savefile >/dev/null
if [ "$?" = "0" ]
then
TST1=$(grep "time=" /mnt/dev_ro2$PSUBDIR/boot-savefile | cut -f 2 -d '=')
TST2=$(grep "default=" /mnt/dev_ro2$PSUBDIR/boot-savefile | cut -f 2 -d '=')
echo "If no input +[ENTER], savefile #" $TST2 "will start automatically in " $TST1 "seconds." >dev/console
umntfunc /mnt/dev_ro2
read -t $TST1 NUMSAVE
[ -z "$NUMSAVE" ] && NUMSAVE=$TST2
else
umntfunc /mnt/dev_ro2
echo "To start automatically you can use a textfile named boot-savefile" >/dev/console
echo "with time=n and default=n in PSUBDIR" >/dev/console
read NUMSAVE
fi
|
If you replace the original line read NUMSAVE in the init script (in Lupu-525 it's line #782) with the complete code above, you should be able to use a textfile named boot-save to boot automatically one of your savefiles or pfix=ram.
boot-savefile (in PSUBDIR) contains only
Replace n with your desired values.
It works for frugal installs on HD and with PSUBDIR.
I don't think it works from CD or without using a subdirectory (now).
I like to hear, what I could do better.
Rolf
Edit:
Just tested a little bit more, it seems to work also fine with Icepuppy-013 and Spup-120.50 but not (now) with Puppy 4.31 or Puppy 4.20. The boot-savefile will not be detected.
_________________ Ich verwende "frugal", und das ist gut so.
Raspberry Pi without Puppy? No, thanks.
Edited_time_total
|
|
Back to top
|
|
 |
DaveS

Joined: 09 Oct 2008 Posts: 3695 Location: UK
|
Posted: Sat 25 Jun 2011, 11:42 Post_subject:
|
|
Replace read NUMSAVE with read boot-save?
_________________ Spup Frugal HD and USB
Root forever!
|
|
Back to top
|
|
 |
Bruce B

Joined: 18 May 2005 Posts: 10823 Location: The Peoples Republic of California
|
Posted: Sat 25 Jun 2011, 12:03 Post_subject:
|
|
Rolf,
I guess you have it fixed. Nice feeling of satisfaction huh?
Init is a file Barry has been working on and improving for years. I find it fascinating because it reveals how Puppy is so versatile.
Congratulations
Bruce
~
_________________ New! Puppy Linux Links Page
|
|
Back to top
|
|
 |
rhadon

Joined: 27 Mar 2008 Posts: 1228 Location: Germany
|
Posted: Sat 25 Jun 2011, 13:27 Post_subject:
|
|
| DaveS wrote: | | Replace read NUMSAVE with read boot-save? | Sorry for being not clear. I've edited my post.
You need to replace read NUMSAVE with the complete code above. It's looking for the boot-savefile and if it's not available, you can select as usual.
Just tested a little bit more, it seems to work also fine with Icepuppy-013 and Spup-120.50 but not (now) with Puppy 4.31 or Puppy 4.20. The boot-savefile will not be detected.
Another bug:
I've had Puppy 4.31 on sda2 and sda10 (the same name of psubdir). Booting from sda10 with Grub, initrd finds only the pupsave files from sda2 and boot from there.
Edit: Seems to be bug in the initscript of 4.31 itself and has nothing to do with my changes.
@Bruce,
Thanks again. Yes it's a great feeling , but high and low is very close It's a big step for me but far away from being sophisticated.
Rolf
_________________ Ich verwende "frugal", und das ist gut so.
Raspberry Pi without Puppy? No, thanks.
|
|
Back to top
|
|
 |
Bruce B

Joined: 18 May 2005 Posts: 10823 Location: The Peoples Republic of California
|
Posted: Sun 26 Jun 2011, 09:17 Post_subject:
|
|
Rolf
Something like this, but this init is from Lupu 5.20
| Quote: | | PCPARTSALL="`probepart_init -k`" |
Run probepart_init -k to see how it formats
Then for the value is the output for /sda10
In other words, you no longer run probepart for that install. Init thinks there is only one partition to search
~
_________________ New! Puppy Linux Links Page
|
|
Back to top
|
|
 |
rhadon

Joined: 27 Mar 2008 Posts: 1228 Location: Germany
|
Posted: Mon 27 Jun 2011, 16:53 Post_subject:
|
|
Thanks Bruce,
I appreciate your help.
Maybe it will take some days till I test, because I was running in serious problems and for now I have only 2 partitions.
I tried to get Lupu-525 running on sda6 with raiserfs. It worked. So I tried to get a savefile.rfs running.
Then I made some faults, I really should have known better.
Well, I have back my 2 main partitions, sda1 and sda2. All what I now really miss is one file (~7GB) which was on sda9. Maybe I must create new Partitions and restore this file with an old one, but if I do so, I have no more chance to restore the actual one. Will try it with testdisk again.
Rolf
_________________ Ich verwende "frugal", und das ist gut so.
Raspberry Pi without Puppy? No, thanks.
|
|
Back to top
|
|
 |
Aitch

Joined: 04 Apr 2007 Posts: 6825 Location: Chatham, Kent, UK
|
Posted: Wed 29 Jun 2011, 14:41 Post_subject:
|
|
long thread, ....so these may have been posted already....
http://www.pixelbeat.org/cmdline.html#monitor
http://www.pixelbeat.org/docs/linux_commands.html
http://linuxcommand.org/index.php
http://www.linuxguide.it/linux_commands_line_en.htm
and, of course
http://puppylinux.org/wikka/BASH
Aitch
|
|
Back to top
|
|
 |
rhadon

Joined: 27 Mar 2008 Posts: 1228 Location: Germany
|
Posted: Tue 05 Jul 2011, 13:11 Post_subject:
|
|
@ Bruce
Thanks again mate.
After playing with probepart_init, I found an older explanation from you here.
So I tested "PDEF1=sda8" in my menu.lst (that's my actual 2nd partition with PSUBDIR=lupu-525) and it works fine.
Rolf
_________________ Ich verwende "frugal", und das ist gut so.
Raspberry Pi without Puppy? No, thanks.
|
|
Back to top
|
|
 |
Bruce B

Joined: 18 May 2005 Posts: 10823 Location: The Peoples Republic of California
|
Posted: Fri 08 Jul 2011, 01:28 Post_subject:
|
|
| rhadon wrote: | | So I tested "PDEF1=sda8" |
May I accept PDEF1=sda8 as a typo meaning to say PDEV1=sda8 ?
~
_________________ New! Puppy Linux Links Page
|
|
Back to top
|
|
 |
rhadon

Joined: 27 Mar 2008 Posts: 1228 Location: Germany
|
Posted: Fri 08 Jul 2011, 03:54 Post_subject:
|
|
| Bruce B wrote: | | May I accept PDEF1=sda8 as a typo meaning to say PDEV1=sda8 ? | Yes.
Rolf
_________________ Ich verwende "frugal", und das ist gut so.
Raspberry Pi without Puppy? No, thanks.
|
|
Back to top
|
|
 |
Shep
Joined: 08 Nov 2008 Posts: 840 Location: GIRT-BY-SEA
|
Posted: Sat 08 Oct 2011, 01:38 Post_subject:
|
|
Very quiet in here ....
I'm trying to store a newline character in a shell variable, e.g.,
C=$(printf "a\nb")
printf "$C" | od -c
Works as expected, and stores the 3 characters.
But if I delete the b, to store just 2 characters, it also drops the \n and stores just one character. Why is this?
How to make it store a trailing newline? (EDIT: solved: C=$(printf "a\\\nb")
I know about
C='
'
but I'd like to make the printf method work.
|
|
Back to top
|
|
 |
grump
Joined: 10 Oct 2011 Posts: 67 Location: Melbourne, Oz
|
Posted: Sun 23 Oct 2011, 20:05 Post_subject:
|
|
All this makes my head hurt. I think you (meaning the main contributors to this thread) vastly over-estimate the abilities of a 'beginner', unless you think of a 'beginner' as a person who is already an experienced coder in other languages.
For example the 1st bit of code in this thread:
| Code: | | # for i in `ls *.deb`; do undeb $i; shift; done |
has at least 3 programming concepts that would be meaningless to the average true 'beginner'.
However, the thread contains lots of good stuff for experienced ppl!
|
|
Back to top
|
|
 |
|
|
|
Rules_post_cannot Rules_reply_cannot Rules_edit_cannot Rules_delete_cannot Rules_vote_cannot You cannot attach files in this forum You can download files in this forum
|
Powered by phpBB © 2001, 2005 phpBB Group
|