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 Thu 23 Nov 2017, 11:25
All times are UTC - 4
 Forum index » Advanced Topics » Puppy Projects
Create Debian 9 (Stretch) minimal ISO similar to DebianDog
Moderators: Flash, JohnMurga
Post new topic   Reply to topic View previous topic :: View next topic
Page 23 of 58 [869 Posts]   Goto page: Previous 1, 2, 3, ..., 21, 22, 23, 24, 25, ..., 56, 57, 58 Next
Author Message
wiak

Joined: 11 Dec 2007
Posts: 372
Location: not Bulgaria

PostPosted: Thu 17 Aug 2017, 05:56    Post subject:  

saintless wrote:
wiak wrote:
Question 2: Is it possible to boot using a Puppy initrd to effect a changes to folder (a facility many Puppies also provide)?

Everything is possible if you really like to do it.
You need to include /lib/modules/$(uname -r) from the official distro initrd.img inside /lib/modules in initrd.gz (puppy-boot).

...

Maybe you will be interested how to boot Puppy with official Debian kernel someday. Also possible:
https://github.com/MintPup/Puppy-Linux/tree/master/Debian-kernel

Toni


Thanks Toni,

Very informative and useful information. At the moment I was particularly interested in Puppy alternative to Porteus boot with changes to folder. But Puppy development might itself benefit from being able to use an official Debian kernel I feel.

wiak
Back to top
View user's profile Send private message 
fredx181


Joined: 11 Dec 2013
Posts: 2598
Location: holland

PostPosted: Thu 17 Aug 2017, 14:28    Post subject:  

five days ago, jd7654 wrote:
Lastly, I upvote the request for keeping and using local cache for downloads, instead of downloading each time script is run. Since this is not a rolling release, not a lot is changing, and checking latest version may not be needed. Saves on time and bandwidth usage.


At that time I misunderstood, now I see that's a very good suggestion, so thanks! (EDIT: also, thanks AndresC2).
To keep the deb files in /var/cache/apt/archives, I'm experimenting with now, it will be complicated, but I'll get there.
(the thing is that these deb files shouldn't be part of the filesystem.squashfs, otherwise the ISO will be very large)

wiak wrote:
Question 1: Just wondered what you had to do to use that internal fanthom-written linuxrc script with DebianDog systems. Or was it simply a matter of copying the appropriate modules for the particular DebianDog kernel into initrdport/lib/modules before compressing it all up again into initrd.xz and just then using that. Or were there some other alterations required in the initrdport filesystem (e.g. to internal script linuxrc; there is no 'changes log' inside the script though I suppose I could use diff with the original) and if so, what exactly?


That was a big process we did at the beginning:
http://www.murga-linux.com/puppy/viewtopic.php?t=90660
First time I brought it in, it worked only with porteus kernel and .squashfs was .xzm (the name of project was Porteus-Wheezy), later with the help of forum member sfs (from puppyrus) we could use the Debian kernel and extension became .squashfs rather than .xzm.
And a lot has been modified in linuxrc, too much to mention now... (and some will be hard to remember, btw)

Fred
Back to top
View user's profile Send private message 
wiak

Joined: 11 Dec 2007
Posts: 372
Location: not Bulgaria

PostPosted: Thu 17 Aug 2017, 16:01    Post subject:  

fredx181 wrote:


wiak wrote:
Question 1: Just wondered what you had to do to use that internal fanthom-written linuxrc script with DebianDog systems. Or was it simply a matter of copying the appropriate modules for the particular DebianDog kernel into initrdport/lib/modules before compressing it all up again into initrd.xz and just then using that. Or were there some other alterations required in the initrdport filesystem (e.g. to internal script linuxrc; there is no 'changes log' inside the script though I suppose I could use diff with the original) and if so, what exactly?


That was a big process we did at the beginning:
http://www.murga-linux.com/puppy/viewtopic.php?t=90660
First time I brought it in, it worked only with porteus kernel and .squashfs was .xzm (the name of project was Porteus-Wheezy), later with the help of forum member sfs (from puppyrus) we could use the Debian kernel and extension became .squashfs rather than .xzm.

And a lot has been modified in linuxrc, too much to mention now... (and some will be hard to remember, btw)

Fred


Oh, that's a pity. Maybe it doesn't matter, but just worried in case porteus boot itself changed and that initrd.xz needed rebuilt sometime in the future.

wiak
Back to top
View user's profile Send private message 
AndresC2

Joined: 08 Jul 2017
Posts: 27

PostPosted: Thu 17 Aug 2017, 19:19    Post subject:  

Hello Fred!

Maybe this can help:

https://linux.die.net/man/8/debootstrap

1- option

--make-tarball=FILE
Instead of bootstrapping, make a tarball (written to FILE) of the downloaded packages. The

resulting tarball may be passed to a later --unpack-tarball.

--unpack-tarball=FILE
Acquire .debs from tarball FILE instead of downloading via http.

2- option

or Mksquashfs

#Not Chroot ok! just normal.

In my case when debootstrap finish then:

rm /root/jessie/chroot/var/cache/apt/archives/*.deb

mksquashfs /root/jessie/chroot /mnt/sdb2/jessie-debootstrap-sfs/jessie.sfs

when I need it. #no need download again

unsquashfs -d /root/jessie/chroot /mnt/sdb2/jessie-debootstrap-sfs/jessie.sfs

cd /root/jessie/

chroot chroot

apt-get update

apt-get upgrade #in jessie is need old files.

I try first option but dont work for me,debootstrap download everything again.

I dont know why, maybe wheezy`s debootstrap is old.
Back to top
View user's profile Send private message 
wiak

Joined: 11 Dec 2007
Posts: 372
Location: not Bulgaria

PostPosted: Fri 18 Aug 2017, 04:25    Post subject:  

fredx181 wrote:

First time I brought it in, it worked only with porteus kernel and .squashfs was .xzm (the name of project was Porteus-Wheezy), later with the help of forum member sfs (from puppyrus) we could use the Debian kernel and extension became .squashfs rather than .xzm.
And a lot has been modified in linuxrc, too much to mention now... (and some will be hard to remember, btw)

Fred


Actually, I've managed to work out most of it Fred.

1. If there is any detail missing could you kindly add to this.

2. I'm assuming for now all that porteus boot needed was this modified initrd.xz.

3. The mods being those made to the internal linuxrc and also the stretch kernel modules being copied into the initrd.xz folder /lib/modules (could you confirm that please plus anything else that was needed).

As far as the linuxrc changes from the Porteus original:

First, of most importance seems to be:

EDIT: I mean on top of your original idea/method to use porteus boot of course Fred.

puppyrus member sfs initrd tricks for porteus boot to work with stock debian kernels:

Code:
## Let's start!
for x in `find /lib/modules/$(uname -r)/kernel -name "*.ko" 2>/dev/null | sed 's/.ko//g'`; do modprobe $x 2>/dev/null; done ###sfs
for x in `find /lib/modules/$(uname -r)/kernel -name "*.ko.gz" 2>/dev/null | sed 's/.ko.gz//g'`; do modprobe $x 2>/dev/null; done ###sfs


These puppyrus guys seem to be amazing! How do they work out how to do this stuff?

Link from yourself that confirms the above:

http://www.murga-linux.com/puppy/viewtopic.php?p=755214#755214

sfs (Alexander of puppyrus) work brought up here by Toni:

http://www.murga-linux.com/puppy/viewtopic.php?p=754268#754268

I also discovered that the initrd.xz (and the linuxrc inside that) being used was from Porteus i486 version 2.1. I thus downloaded that iso and decompressed the initrd.xz using:

Code:
xz -dc initrd.xz | cpio -i


and compared (using diff utility) the linuxrc inside there with the one from sfs_and_fred found in downloaded initrdport-stretch.tar.gz to see what changes had been made.

I've attached the diff (file: difference_linuxrc2.1_linuxrc_sfs_fred) since that shows most of how the porteus boot method works with stock debian kernels.

wiak
difference_sfs_fredlinuxrc_to_porteus2.1linuxrc.tar
Description  Just remove the dummy tar extension to view this txt file
tar

 Download 
Filename  difference_sfs_fredlinuxrc_to_porteus2.1linuxrc.tar 
Filesize  9.03 KB 
Downloaded  8 Time(s) 

Last edited by wiak on Fri 18 Aug 2017, 06:13; edited 4 times in total
Back to top
View user's profile Send private message 
fredx181


Joined: 11 Dec 2013
Posts: 2598
Location: holland

PostPosted: Fri 18 Aug 2017, 04:32    Post subject:  

Hi Andres,
I've found a way already by moving the cache away just before creating filesystem.squashfs, and after that moving it back to where it was.
Also if asked to delete folder 'stretch' at start of the script, the cache will be kept now.
I will share updated script later
Thanks anyway for your suggestions!

Fred

_________________
Dog Linux website
Back to top
View user's profile Send private message 
wiak

Joined: 11 Dec 2007
Posts: 372
Location: not Bulgaria

PostPosted: Fri 18 Aug 2017, 04:56    Post subject:  

Hi Fred,

Just wondered how to change the initrd.xz from Debian to Ubuntu. Is it just a matter of changing references from 'live' to 'casper'?

wiak
Back to top
View user's profile Send private message 
saintless


Joined: 11 Jun 2011
Posts: 3882
Location: Bulgaria

PostPosted: Fri 18 Aug 2017, 05:28    Post subject:  

wiak wrote:
Just wondered how to change the initrd.xz from Debian to Ubuntu. Is it just a matter of changing references from 'live' to 'casper'?

For Ubuntu - make sure not to rename /mnt/live to /mnt/casper in linuxrc or you will have to mod all porteusbootscripts with the same change:
http://murga-linux.com/puppy/viewtopic.php?p=856583&sid=0cf2584195891293c494c3d2b2dc3e64#856583
The first Ubuntu based porteus-boot started here:
http://murga-linux.com/puppy/viewtopic.php?p=854164&sid=0cf2584195891293c494c3d2b2dc3e64#854164
Compare MintPup with old DD-Jessie-Jwm-Icewm linuxrc script and you will see where live needs changing with casper for Ubuntu without changing binary files and libs.

initrd1.xz changes are enough to boot the system after changing /bin/chroot to /usr/sbin/chroot in linxrc, but not enough to have functional system as Debian/XenialDog. Checkout the deb package porteusbootscripts for the extra scripts you will need.

Later Fred changed more the content of initrd1.xz to get working lz4 support. I didn't take part in LZ4 support but maybe Fred will explain better for you.

Toni

_________________
Farewell, Nooby, you will be missed...
Back to top
View user's profile Send private message MSN Messenger 
fredx181


Joined: 11 Dec 2013
Posts: 2598
Location: holland

PostPosted: Fri 18 Aug 2017, 05:34    Post subject:  

Hi wiak,

Hey, you did some investigating!
I'll try to answer your questions, but probably that won't give you the complete picture
Btw, note that the linuxrc you used to compare with is from Jessie, not from inside initrdport folder
But there's not much difference with the Stretch version to get insight in how it works anyway.

Quote:
1. If there is any detail missing could you kindly add to this.

2. I'm assuming for now all that porteus boot needed was this modified initrd.xz.


There are some scripts added in the system itself to make porteus-boot (hack Smile ) work
The scripts in the build folder in dog-boot-stretch usr/bin are the most important
For example script snapmergepuppy (very much modified, taken from Puppy) is for when using boot option changes=EXIT:/ which is called from save2flash
Also etc/init.d/snapexit (initscript) that calls usr/local/bin/snap
(used for save or nosave from console)
And usr/local/bin/mountlink is called from etc/rc.local

Quote:
## Let's start!
for x in `find /lib/modules/$(uname -r)/kernel -name "*.ko" 2>/dev/null | sed 's/.ko//g'`; do modprobe $x 2>/dev/null; done ###sfs
for x in `find /lib/modules/$(uname -r)/kernel -name "*.ko.gz" 2>/dev/null | sed 's/.ko.gz//g'`; do modprobe $x 2>/dev/null; done ###sfs


Above will load all modules, resuting in much higher RAM usage and has been changed later to a selection just required for booting (still there's probably a lot that's not needed and could be removed from the selection, but better keep like it is, it works!)

As you can see there's much more than modified linuxrc and copying the kernel modules.
If you want to study the scripts and have some questions, I'd be happy to answer.

To reply on what you wrote earlier that you worry a bit (if porteus itself changes the boot process):
I'm not worried at all, because the porteus-boot process used in the Dogs is very different and completely independent.
I'm more worried about aufs support, if it stops completely, the porteus-boot option could be modified to use e.g. overlayfs, but that has some downsides, AFAIK

Fred

_________________
Dog Linux website

Last edited by fredx181 on Fri 18 Aug 2017, 05:43; edited 3 times in total
Back to top
View user's profile Send private message 
wiak

Joined: 11 Dec 2007
Posts: 372
Location: not Bulgaria

PostPosted: Fri 18 Aug 2017, 05:38    Post subject:  

I think I have to apologize to anikin. If only some of his 'googling' had been recognised at the time he wrote this great post:

http://www.murga-linux.com/puppy/viewtopic.php?p=743097#743097

So sorry anikin. Thankfully, Fred is on the ball now.

wiak

EDIT: messed up the link. fixed it now.
EDIT2: and I see sklimkin (Sergey) was building DebianLive systems via chroot debootstrap back then:

http://www.murga-linux.com/puppy/viewtopic.php?p=742743#742743
http://www.murga-linux.com/puppy/viewtopic.php?p=743153#743153

What we also need now is something similar using woof-CE - a single script to build a Puppy. I've been looking at woof-CE scripts, and that seems relatively easy to do as well. Seems to me a simple single script generates a lot of interest since just a matter of running the script...
Back to top
View user's profile Send private message 
wiak

Joined: 11 Dec 2007
Posts: 372
Location: not Bulgaria

PostPosted: Fri 18 Aug 2017, 05:57    Post subject:  

fredx181 wrote:

Btw, note that the linuxrc you used to compare with is from Jessie, not from inside initrdport folder
But there's not much difference with the Stretch version to get insight in how it works anyway.


Oh, that's strange. I don't even use or have Jessie as far as I knew. I had folder initrdport and thought I took the initgz from there. Oh well, mystery.

Yeah, I'm fascinated with how porteus boot works and wanted the method documented so found myself digging deep... Smile

Oh, I see from your above post and that of Toni that I have much more digging to do still! I think I'll relax for a bit now though since I want to pursue woof-ce script idea to see how easy that would be. Problem is, Puppy not much smaller (if) than the Dogs nowadays but maybe woof-ce could use other/smaller binaries than debs etc (generally just seems as bloated at the moment though without advantages of apt/dpkg or full multiuser support - so I'm hesitant to spend time on woof-ce, but curious anyway).

wiak
Back to top
View user's profile Send private message 
fredx181


Joined: 11 Dec 2013
Posts: 2598
Location: holland

PostPosted: Fri 18 Aug 2017, 06:11    Post subject:  

wiak wrote:
fredx181 wrote:

Btw, note that the linuxrc you used to compare with is from Jessie, not from inside initrdport folder
But there's not much difference with the Stretch version to get insight in how it works anyway.


Oh, that's strange. I don't even use or have Jessie as far as I knew. I had folder initrdport and thought I took the initgz from there. Oh well, mystery.


Yes, strange, I noticed:
Code:
SGN=jessie-$arch.sgn

(stretch wouldn't boot with that, should be SGN=stretch-$arch.sgn)
And one more difference I made later for Stretch

Fred
Back to top
View user's profile Send private message 
wiak

Joined: 11 Dec 2007
Posts: 372
Location: not Bulgaria

PostPosted: Fri 18 Aug 2017, 06:16    Post subject:  

fredx181 wrote:

Code:
SGN=jessie-$arch.sgn


Yes, I also noticed that. Is it possible you used that jessie one in your first mklive-stretch attempt, which I might have had lying about on my system? Oh well, mystery, but I've re-uploaded the diff again - think it is correct comparison between porteus ver 2.1 initrd/linuxrc and the initrdport one from stretch now.

wiak
Back to top
View user's profile Send private message 
saintless


Joined: 11 Jun 2011
Posts: 3882
Location: Bulgaria

PostPosted: Fri 18 Aug 2017, 06:34    Post subject:  

wiak wrote:
Yeah, I'm fascinated with how porteus boot works and wanted the method documented so found myself digging deep... Smile

It took years and help from more people to have well working porteus-boot.
Sergey for example is the one to thank most because he convinced in the russian forum sfs to make initrd1.xz to work with Debian kernel and he posted the mods here.

Now imagine some people concentrate on puppy-boot few years and instead porteus-structure make-live script adds puppy-linux structure to debian/ubuntu debootsrap build and all boot and save options work as in puppy linux. But you can do apt-get upgrade as in Debian and it works always. Your debootstrap in Puppy project could become something like that if you get more people interested to develop in this direction. Years of work ahead of course but this is what many projects take anyway.

Toni

_________________
Farewell, Nooby, you will be missed...
Back to top
View user's profile Send private message MSN Messenger 
fredx181


Joined: 11 Dec 2013
Posts: 2598
Location: holland

PostPosted: Fri 18 Aug 2017, 06:50    Post subject:  

Hi All,

*** Updated mklive-stretch ***

mklive-stretch script (right-click > Save link as and make executable)

Hope it's not too confusing, but I continue to update now the "mklive-stretch" script (not mklive-stretchgui anymore) because it has now option to use gui or cli (and more)
From top of script:
Code:
# 2017-08-17 GUI and CLI version into one, added different options:
# -help (or no option, will show help) -gui -cli, or e.g. -cli <config_file> (use config file), -conf (create standard config file)


If run without option or with -help the helptext will show:
Code:
./mklive-stretch -help


Quote:
usage: mklive-stretch [OPTION] <config_file>
Options:
-gui (run yad GUI, requires yad installed)
(no loading custom config file, using the standard config on top of script)
-cli (commandline only, no GUI)
no loading custom config file, using the standard config on top of script
-gui <config_file>
loading custom config file in the same directory as running this script from
-cli <config_file>
loading custom config file in the same directory as running this script from
-conf (create 'stretchlive.conf')
create a standard config file in same directory as running this script from
(to modify and load as custom configuration)
-help show this help
Example using custom config file:
mklive-stretch -cli mycustom.conf


See more info: Updates and fixes

EDIT: Updated github page also: Here

I think now there's good choice in options how to use the script, e.g. with GUI, without GUI, use custom config file etc...
(and still just one script, the way I like it, not being a 'package')
(although it's still very dependent on the files being downloaded from github of course)


Fred

_________________
Dog Linux website
Back to top
View user's profile Send private message 
Display posts from previous:   Sort by:   
Page 23 of 58 [869 Posts]   Goto page: Previous 1, 2, 3, ..., 21, 22, 23, 24, 25, ..., 56, 57, 58 Next
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.0771s ][ Queries: 13 (0.0083s) ][ GZIP on ]