Remastering in Puppy - Request for Community Review

What features/apps/bugfixes needed in a future Puppy
Post Reply
Message
Author
gcmartin

Remastering in Puppy - Request for Community Review

#1 Post by gcmartin »

Placeholder
Last edited by gcmartin on Thu 05 Apr 2012, 20:35, edited 1 time in total.

gcmartin

Have you ever stepped back to LOOK at Building/Remastering

#2 Post by gcmartin »

This thread asks the Puppy community to COLLABORATE on a development effort. Please comment or contribute ideas which can help.
Your ideas should help the community to re-design a friendlier product tool which is generally applicable to all of us who build or use Puppy Linux.

This community, I consider top-notch.

This is because it does a lot of things right. And, because it is a world-wide effort, some of the best brains in the world come to contribute to the products that this open community collaborate and use.

It truly is an effective collaboration community, even though the forum is an old African traditional "Call and Response" community in its operation, it is effective in its attracting the attention needed to address product's knowledge, operations, issues resolutions, and the all important enhancement/expansion.

This community has had some of the greatest minds and greatest implementers that I have seen world-wide. And, they come from all sorts of related and unrelated backgrounds with the contributions they have made. I have only been a member here for 7 years, but I am constantly smiling at the "bright ideas" that spark constantly through-out this forum community.

This thread is to draw attention such that the community can enhance a feature of the Puppy system. It come to us under several names, but, does have similar, if not identical, characteristics: "Remastering, Rebuilding, Custom Building, etc".
I am going to go out on a limb and refer to these by grouping all of this into a single category called "System Builds". (Be AWARE! I am NOT intending the community to adopt this name! It ONLY is used for this thread's discussion)

No matter how one wants to look at this, remastering, rebuilding, building, retooling, all have the same thing in common. They intend to give the user a final system with the plethora of things he wants to use within his new system.

Definition
System Building - Simply, a process which will generate an Puppy Linux Bootable ISO

In Puppy, today, a number of individual users (not developers) have from time to time posted about problems in getting desired results from the tools baked into their Puppy distro's Menu system. I have looked at this issue over the past 3 years and am hard pressed to use it because of its structure's complexity.
Each developer who presents their tool is clear of how they wants to guide the users to achieve an ISO. But, no developer (at least I am currently not aware of one) has asked for help in what he presents so that the user community can front-end a product that would achieve the developer's vision.

But, all of the tools I have seen follow a model, which is easy to get crossed up within such that one either backs-out to start over, or they end with something less than expected. In the majority of cases, one must do this over and over until one remembers how to master a building operation for a specific outcome. There are NO obvious tools for remembering what one did such that should one come back months later, he can repeat the model, either.

So, I am going to go out on a different limb, and propose that this thread be a "form" to request development of a Puppy product that is a start to finish community effort.

Screened Product development for "System Building"
A Puppy subsystem that will have a single screen approach to building a new Puppy distro.

Scenario
In Puppy, today, I am NOT proposing anything revolutionary. Instead, i am proposing that there merely be a front-ended approach such that anyone can visually have an idea of what he is about to do by filling in a single front-end scrollable screen for getting an ISO in the outcome.

In one tool, today, I, personally, had to interact ("babysit")with 29 screens to get an ISO. When complete, I had the same result(s) that I have seen in distro remastering tools...an ISO that was missing stuff such that I had to repeat and try to figure out how to make this tools behave the way I need it to....thus, a new round of babysitting to a another final.
This, babysitting, is not an effective use of anyone's time. Its does meet the objective that i think the developer(s) want; which is to have the user 'integrally' involved in the process, hoping that they "learn" how to effectively use the tool. But, I submit, that this if flawed logic no matter who proposes it. The best way to learn anything is to, firstly, demonstrate a method which provide a working starting point, then answer and guide uses from that "working" point....not the other way around. We should be intending to guide use versus spending hours and hours "fiddlings around in unknown waters to try to learn how to swim".

So, basically, I am not asking for the development community to redesign how the user answers all of those screens at the beginning, one-time, per se, I am asking if the development community can have a single form/screen kick-off all of the "build" steps in such a way as the user
  1. Fills in the form
  2. some fields will require a drop-down for additional entries
  3. all of the requirements for a build is confirmed before a build process is started
  4. at the completion of the form an "answer file" is created with the users assigning a name he will remember
  5. when the form is completed and the build process is started, NO OTHER ADDITIONAL USER INVOLVEMENT IS NEEDED!
This way, the user, on the front-end, can "see" how one answer may relate to another need within the tools to achieve his results. This provides a much more "clear-sighted approach" to achieving what the developer want the user to do to get an ISO. And he sees it at the front-end of the build process!
And, for those who develop, I think they all develops see how an "answer-file" would be used (versus, today’s keyboard-mouse clicks).

Additionally
Not necessary, but maybe a good idea is some sort of status should be posted in its own "single screen/window" alerting the progress of build. (this should NOT be blasted to the active screen. Instead, there should be a progress window where the build processing and postings occur; which provide a log of the build's progress that can be seen by the user, if he needs.

Expected Outcome
The outcome would be exactly the same that the builder develop intends. The benefits for the user over the current process is that he can see at the outset, what is required for his ISO to be created as he envisions it. Further, should he, in the future want to revisit or wants to make some changes, he can so by restarting the Build's Firstrunning screen with his old answers and tweak them appropriately for a new ISO.

Further, should the tool become much friendlier, more and more users will develop a greater interest in the expanded use and kinds of offering we will see. If its simple to retool as easy, almost, as adding a PET, We should expect a community of much more satisfied users, contributers, and helpers resolving issues throughout the community.

YOU
Please, don't let language skills or fear stop you from speaking up and contributing here. This is a request that you collaborate and share any/all ideas about the subject covered in this thread.

Edited:
This thread has expanded to another ===> HERE!
Last edited by gcmartin on Fri 18 May 2012, 22:19, edited 1 time in total.

Disco Makberto
Posts: 175
Joined: Mon 08 Aug 2011, 02:15

#3 Post by Disco Makberto »

Hello, gcmartin!

I am not sure if I understand you correctly, but are you talking about a remastering tool for basically "all puppies" or just one for a "family of puppies" or "recently-released puppies"? Based on the remastering tools I have experience with (albeit very limited), some tools work better with some specific puppies than with others. Hence, a sort of "universal remastering tool" that work equally on "all puppies" could be somerthing hard to achieve.

Carlos Albert
D-Mak

gcmartin

#4 Post by gcmartin »

Disco Makberto wrote:Hello, gcmartin! ... Hence, a sort of "universal remastering tool" that work equally on "all puppies" could be somerthing hard to achieve. ...
I understand what you share.

I was thinking of a tool that would deliver with each Puppy in its "Menu" that would allow a bootable ISO to be created from the system's contents, in one step, if possible.
  • Today, all PUPs, deliver with a Menu >Settings>Remaster..., feature
  • Today, many/most PUPs deliver with Shinobars "GRUB4DOS" which is a boot manager-assist built-in PUPs. Thus "boot elements and a running filesystem" just seems that maybe there is a way to create a bootable ISO from this system combination.
  • Today, too, the remaster delivered tool has an abundance of screens.
I am wondering if it is at all possible to create a single screen tool that will drop to the background and create a bootable ISO of all that is running in the current system. Thus, just as each comes with its own remaster; could they also come with "1step to ISO" tool built-in?

Hope this helps

User avatar
RSH
Posts: 2397
Joined: Mon 05 Sep 2011, 14:21
Location: Germany

#5 Post by RSH »

Hi,

what do you think about woofy-0.9 by scOttman? Could this be a basic system of this?

RSH
Attachments
image-2.jpg
(27.06 KiB) Downloaded 704 times
[b][url=http://lazy-puppy.weebly.com]LazY Puppy[/url][/b]
[b][url=http://rshs-dna.weebly.com]RSH's DNA[/url][/b]
[url=http://murga-linux.com/puppy/viewtopic.php?t=91422][b]SARA B.[/b][/url]

gcmartin

#6 Post by gcmartin »

RSH wrote:Hi,
what do you think about woofy-0.9 by scOttman? Could this be a basic system of this?
Sottman makes a very good product for taking an existing ISO, allowing some adjustments to it and creating a new ISO. But, that ignores the running filesystem and focuses the attention on an ISO as the base for a buid.

What I am wondering in this thread is if there is a way to take your running system and create a bootable ISO from it. All of the components seem to be there, but, I curious why something that seems simple isn't done.

Let's say for example, I have a PC with an Intel 945 chipset running. I fully understand that at the time it is running, for the most part, it has loaded drivers unique to it, the running system. And, the "total" filesystem is loaded and running. So is there some reason a single step tool cannot create an ISO from this?

And, yes, I understand that external mounts can impact what would be included....BUT, I am curious if something official can be created to absorb the running system (probably without external mounts) in a lot less screens that is employed currently.

If it will be specialized to the existing chipset, that would be a matter of fact statement to the user that would be made. If it builds a general purpose ISO, then, it provides greater benefit.

Here to help

User avatar
RSH
Posts: 2397
Joined: Mon 05 Sep 2011, 14:21
Location: Germany

#7 Post by RSH »

One could rewrite some lines of the remasterpup2 script in /usr/sbin. I have currently made a test (just commenting out some lines of "Xdialog"-code and did make a remaster including the loaded internet sfs.

Did work so far...
[b][url=http://lazy-puppy.weebly.com]LazY Puppy[/url][/b]
[b][url=http://rshs-dna.weebly.com]RSH's DNA[/url][/b]
[url=http://murga-linux.com/puppy/viewtopic.php?t=91422][b]SARA B.[/b][/url]

jamesbond
Posts: 3433
Joined: Mon 26 Feb 2007, 05:02
Location: The Blue Marble

#8 Post by jamesbond »

It's very straightforward.

All you need to do is create another aufs mount consisting of all branches in the existing / aufs; and then mksquashfs them. Presto - you've got an SFS file which consist of all your current files. Use this SFS in lieu of the original pup.sfs, and you've got yourself a remaster.

This will give you the aufs_id that contains the rootfs:

Code: Select all

aufs_id=$(awk '{ if ($2 == "/" && $3 == "aufs" ) print $4}' /proc/mounts | sed 's/.*si=/si_/') 
Once you get aufs_id you can use it to find the branches:

Code: Select all

branch=$(cat /sys/fs/aufs/$aufs_id/br0 | sed 's/=.*//')
I have such tool in Fatdog-next.
Fatdog64 forum links: [url=http://murga-linux.com/puppy/viewtopic.php?t=117546]Latest version[/url] | [url=https://cutt.ly/ke8sn5H]Contributed packages[/url] | [url=https://cutt.ly/se8scrb]ISO builder[/url]

gcmartin

#9 Post by gcmartin »

This thread has expanded to another thread ===> HERE!

Post Reply