Puppy Linux Discussion Forum Forum Index Puppy Linux Discussion Forum
Puppy HOME page : puppylinux.com
"THE" alternative forum : puppylinux.info
 
 FAQFAQ   SearchSearch   MemberlistMemberlist   UsergroupsUsergroups   RegisterRegister 
 ProfileProfile   Log in to check your private messagesLog in to check your private messages   Log inLog in 

The time now is Wed 16 Apr 2014, 21:28
All times are UTC - 4
 Forum index » Advanced Topics » Puppy Projects
UnderDog Remaster
Moderators: Flash, JohnMurga
Post new topic   Reply to topic View previous topic :: View next topic
Page 1 of 1 [8 Posts]  
Author Message
Ted Dog


Joined: 13 Sep 2005
Posts: 2051
Location: Heart of Texas

PostPosted: Sat 30 Mar 2013, 11:37    Post subject:  UnderDog Remaster
Subject description: Minimal download spinoffs
 

As a person with slow-speed rural internet, I dislike the multiple distro-data pulls. Delta files are being produced less and less, almost universally unseen in puppy spinoffs. And multipart files in official puppies have vanished. Crying or Very sad

But as a Distro Junky I always download the other guys main distros and the puppy version spin-offs.

What if a miniVbox64Puppy existed that could boot the LiveCD/DVD and remaster a puppyversion without a spare harddrive/or internet

Idea is instead of pulling same data via internet, the parts and pieces would be gathered from the other distros liveCD/DVD.

Using the UnderDog method we can play with the creation before repackaging.

Any other ideas, help?
Back to top
View user's profile Send private message 
Ted Dog


Joined: 13 Sep 2005
Posts: 2051
Location: Heart of Texas

PostPosted: Sat 30 Mar 2013, 13:21    Post subject:  

If we can get load_sfs to underdog load the other distros squash files we could be in business easy. Any maintainers of load_sys tool interested?

Did I ever share my near brush with the creator of the Underdog cartoon character? Well we both taught at a San Antonio summer day camp program. Saw the boys holding drawings that looked like underdog, asked the camp director and just missed him leaving. To those kids he was just another older adult teacher, Mad to me the creator of a beloved childhood hero. Razz

Crying or Very sad Crying or Very sad
R.I.P http://www.nytimes.com/2013/02/19/arts/television/w-watts-biggers-creator-of-underdog-cartoon-dies-at-85.html?_r=0
Crying or Very sad Crying or Very sad
Back to top
View user's profile Send private message 
jamesbond

Joined: 26 Feb 2007
Posts: 1875
Location: The Blue Marble

PostPosted: Tue 02 Apr 2013, 00:37    Post subject:  

Ted Dog wrote:
Any maintainers of load_sys tool interested?

That would be me, I suppose Laughing

I don't get the idea, though, what are you trying to do? I mean, the size of puppy SFS is almost the size of the ISO itself, so where does it save you?

cheers!

_________________
Fatdog64, Slacko and Puppeee user. Puppy user since 2.13
Back to top
View user's profile Send private message 
Ted Dog


Joined: 13 Sep 2005
Posts: 2051
Location: Heart of Texas

PostPosted: Tue 02 Apr 2013, 04:44    Post subject:  

Not using puppys SFS but the one from the orginal one from the other distro under puppy. There would not be a savings in running size or storage size but in not needing the internet to pull programs already on other distros main sfs files. Thereby using the combined layers of stacked SFSs to create a new SFS if needed. Just like underdog setting used on an installed version of any other linux found on the harddrive. But this idea would not need to have the other distro installed anywhere, just its sqf file.
Back to top
View user's profile Send private message 
jamesbond

Joined: 26 Feb 2007
Posts: 1875
Location: The Blue Marble

PostPosted: Wed 03 Apr 2013, 07:50    Post subject:  

Ah, ok. Let's try this as a concrete example: I have installed Slackware in sda1 and Ubuntu in sda2. Rather than downloading and installing Slacko and Upup and installing them on sda3, I would rather have "general puppy loader" in sda3 together with a collection of "puppy-enabling scripts".

Using this bootloader + puppy scripts, I can boot and use the Underdog feature on sda1 to run an equivalent of "Upup"; or I can do the same and using sda2 instead to run an equivalent of "Slacko".

Or perhaps it is not really only puppy scripts, perhaps you can put a "puppi-fication layer" of some sort to make the underlying OS works like puppy, something like this:

top layer (read/write) --> savefile (or save directory)
2nd layer (read-only) --> "puppi-fication" layer (contains puppy scripts, specific puppy binaries, and other distro-specific patches)
3rd layer (read-only) --> sda1 (or sda2) - the original OS full install location.

I think from the load_sfs point of view this isn't very difficult, in fact even today load_sfs can load any image files (not only SFS), it can also load partitions (/dev/sda1) Cool - despite its name.

It is the "puppi-fication layer" that will be most interesting, because, essentially, it is the "essence" of puppy Wink

_________________
Fatdog64, Slacko and Puppeee user. Puppy user since 2.13
Back to top
View user's profile Send private message 
Ted Dog


Joined: 13 Sep 2005
Posts: 2051
Location: Heart of Texas

PostPosted: Wed 03 Apr 2013, 10:48    Post subject:  

Exactly! Thats the idea bend those other distros files with a generic puppy tools and methods of puppy.
Back to top
View user's profile Send private message 
jamesbond

Joined: 26 Feb 2007
Posts: 1875
Location: The Blue Marble

PostPosted: Wed 03 Apr 2013, 12:30    Post subject:  

Actually most of this "puppi-fication layer" code is already in woof, under woof-code/rootfs-skeleton. What one needs to do is to somehow coax 3builddistro to run *without importing* any packages, except puppy's common pet packages (gtkdialog, etc). Then resulting puppy sfs will contain only "the essence of puppy", which can be applied on top of mainline distros.

Lets see if any mainline woof-based puppy builders (you know who you are! Wink) are interested in this. The easiest is probably to start with pupmode=6 (ie full install), when this works then we can try to do it with pupmode=13 (by modifying rc.sysinit to create a fake /etc/rc.d/PUPSTATE) so that load_sfs and all the nice layering stuff works.

Looks like fun. Any takers? Anyone? Razz

As a side note, this is very similar to how sb64 is built. I assembled and installed standard Slackware packages; then I applied Fatdog-specific customisation. This is currently done at built-time, but there is no reason why it can't be applied at run-time over an existing Slackware full installation.

_________________
Fatdog64, Slacko and Puppeee user. Puppy user since 2.13
Back to top
View user's profile Send private message 
jamesbond

Joined: 26 Feb 2007
Posts: 1875
Location: The Blue Marble

PostPosted: Sat 06 Apr 2013, 14:33    Post subject:  

For one hour of simple hacking, I've got this:

1. Did a full install of slackware (from install dvd, all packages. All 7+ GB worth of stuff). Configure to start with xfce. Configure a working bootloader (I use extlinux).
2. Check out woof2. Run merge2out, got the rootfs-skeleton.
3. Copy DISTRO_SPECS to /etc
4. Rename /etc/rc.d/rc.sysinit to /etc/rc.d/rc.sysinit.puppy
5. Write a new /etc/rc.d/rc.sysinit
Code:
#!/bin/ash
### load the original distro as "underdog"
mkdir /aufs/underdog
mount /dev/sda1 /aufs/underdog
#mount -t aufs -o remount,append:/aufs/underdog=ro aufs /
mount -t aufs -o remount,ins:2:/aufs/underdog=ro aufs /

### dump compatibility stuff to /etc/rc.d/PUPSTATE
{
   # fake it - 12 or 13 (frugal install)
   echo PUPMODE=12
   echo PDEV1=$SAVEFILE_DEVICE
   [ "$SAVEFILE_DEVICE" ] && echo DEV1FS=$(guess_fstype $SAVEFILE_DEVICE)

   echo PUPSFS=
   echo PUPSAVE=
   echo PMEDIA=
   echo pfix=$pfix
   echo ATADRIVES=\'$(ls /sys/block | sed '/^sd/ !d')\'

   echo SAVE_LAYER=$SAVEFILE_MOUNT
   echo PUP_LAYER=$BASE_SFS_MOUNT
   echo PUP_HOME=$(readlink /mnt/home)
   echo ZDRV=
   echo ZDRVINIT=no
   echo PSAVEMARK=
   echo FASTPARTS=
} > /etc/rc.d/PUPSTATE

### continue boot
. /etc/rc.d/rc.sysinit.puppy



6. Change /etc/inittab to look like this:
Code:
::sysinit:/etc/rc.d/rc.sysinit
#tty1::respawn:/sbin/mingetty --autologin root tty1
tty1::respawn:/bin/busybox getty -n -l /bin/autologin 38400 tty1
tty2::respawn:/bin/busybox getty 38400 tty2
tty3::respawn:/bin/busybox getty 38400 tty3
::ctrlaltdel:/bin/busybox reboot


7. Get a working "autologin" from somewhere.
8. Build the sfs from rootfs-skeleton (say, puppy.sfs)
9. Get sb64 kernel and initrd
10. Crack the initrd, remove the sb64.sfs. Then re-pack initrd.
11. Create a boot loader entry for this sb64 kernel + initrd
12. Tell sb64 to load basesfs from puppy.sfs (the "append" line in my extlinux.conf looks like this: "append basesfs=local:/boot/puppy.sfs base2ram=yes").
13. Boot.

Results so far: boots, got the keyboard layout selection wizard, got the xorgwizard, starts xfce desktop (because we configure slackware with xfce), hears the woofwoof. But keyboard and mouse are not responding. Good thing I tried this in virtualbox.

I think this would be as far as I go for this proof of concept. It is definitely doable, but the rest is just boring hardwork: fine-tuning and bug-fixing. And then of course, one must try with Ubuntu installation, Debian installation, etc etc.

_________________
Fatdog64, Slacko and Puppeee user. Puppy user since 2.13
Back to top
View user's profile Send private message 
Display posts from previous:   Sort by:   
Page 1 of 1 [8 Posts]  
Post new topic   Reply to topic View previous topic :: View next topic
 Forum index » Advanced Topics » Puppy Projects
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.0612s ][ Queries: 12 (0.0086s) ][ GZIP on ]