Interesting in understanding the build process

Contribute code to SolydXK and make it even better.
roy_barnard
Posts: 4
Joined: 24 Aug 2013 23:28

Interesting in understanding the build process

Postby roy_barnard » 25 Aug 2013 23:40

Hi,
I use Centos at work, Debian at home, devil-linux for firewalls and LinuxMint xfce (as was) for church/charities.

With LinuxMint dropping xfce and solydx just kicking into gear I would like to assist.

Please can someone explain how to set up a development environment so I can create a clean ISO from the repos.
I would like to learn how the process works from start to finish so I can really understand how it all fits together.

Many Thanks,
Roy Barnard
:D

User avatar
Arjen Balfoort
Site Admin
Posts: 9223
Joined: 26 Jan 2013 19:36
Location: Netherlands
Contact:

Re: Interesting in understanding the build process

Postby Arjen Balfoort » 26 Aug 2013 12:09

Moved this topic to "Code".

Hi Roy,

Thank you for your interest in SolydXK.

What would you like to achieve?
Perhaps the tutorials section is a good place to start. There are several topics regarding remastering.

If you want to build from a clean Debian install, that's a different story.
It took me about half a year to get the first "Unofficial LMDE KDE", SolydK's predecessor.
I had to create all current solydx, solydk, and solydxk packages manually. You can use these to install on a Debian base (that's how I did it), but I don't know if that's going to have the same result.


SolydXK needs you!
Development | Testing | Translations

roy_barnard
Posts: 4
Joined: 24 Aug 2013 23:28

Re: Interesting in understanding the build process

Postby roy_barnard » 26 Aug 2013 20:10

Schoelje,

What I was wondering was having installed Solydx how yu go about making the next iso.
That way I would be able to follow the boot process by investigating the packages along the way.
I have read the re-mastering post and that would be good for adding packages/customisation but does not give the overview of what is where and how it works. For me "Understanding is Key".

I am staring to build a list of issues or minor bugs but would rather try to provide solutions, so the really busy people get on with the cool stuff.

I have been reading the Python installation code (i write in perl but always wanted an excuse for having a go with Python) and found it very informative. My current experimentaion box (being build for a foodbank project) is old and very underspec'd.
(AMD-Duron 256MB Ram 40GB HD)
I have installed Solydx on to it by stopping services not being used during the build (bluetooth,cupsd, etc) and pre-creating the swap file and using it during the build. (also see my post re keyboard)

Also, I have some rough ideas to put forward around enterprise/oem installations when I understand more of the install process.

Do you just boot into the Live system, reconfigure as required and then re-master the ISO or is their a ISO build process?

Many Thanks,
Roy Barnard

User avatar
Arjen Balfoort
Site Admin
Posts: 9223
Joined: 26 Jan 2013 19:36
Location: Netherlands
Contact:

Re: Interesting in understanding the build process

Postby Arjen Balfoort » 26 Aug 2013 21:01

The build process of a new iso is rather easy.

I use a package called solydxk-constructor (http://forums.solydxk.nl/viewtopic.php?f=9&t=774).
It can unpack a SolydXK iso, but I simply use the previous unpacked version.
It creates a chrooted terminal where I run the pre-update script, dist-upgrade to the next UP, and run the post-upgrade script.
These script can be downloaded from our server.
When done it creates the necessary squashfs files, and a new iso.

I'm working on a bash to automate the complete process to be able to create nightly builds if necessary.
That'll take some time and testing.

Installing is no rocket science either.
The live DVD is mounted, and the content of the squashfs file is copied to its target. When done some configuration is changed, and packages installed or removed, depending on the user's installation settings, and the distribution that is being installed.
Running a Debian based system live is possible because of the live packages: http://live.debian.net/


SolydXK needs you!
Development | Testing | Translations

User avatar
dyfet
Posts: 55
Joined: 05 Apr 2013 11:41
Contact:

Re: Interesting in understanding the build process

Postby dyfet » 05 Nov 2013 14:29

I had originally played some with what was originally mint constructor. That was not hard to use, and I am assuming solydxk constructor is a fork or descendant. I am actually looking forward to using the solyxk constructor, because we have our own stock artwork, package choices, and configuration files, that we use for our machines for tribal administration, and this would provide a simple way to prep new iso's for our tribal members. We originally experimented with lmde for this, and once we start this process with solydxk, in much the same way Schoelje describes, I could see simply keeping unpacked systems around and updating them when we would want or feel need to do a new iso for our use, actively maintained with our meta configs in the unpacked chroot.

One reason we stopped looking at lmde was their choice to effectively abandon xfce outside their main edition. Another was more mysterious. At some point they seemed to have chosen to abandon mint constructor, and to have purged it even from the repos of their older releases. This I did not understand at all, nor could I find any info as to why they did so. My concern is if solydxk constructor will also be abandoned before we try going down that path again. From what I hear in this thread, it is clearly not, and clearly will continue to be actively used and even improved. I gather it is already rather integral to the solydxk build process, and this is good because it would likely become so for our needs as well.
Information in the computer age is the last genuine free market left on earth except those free markets where indigenous people are still surviving - Russell Means

User avatar
Arjen Balfoort
Site Admin
Posts: 9223
Joined: 26 Jan 2013 19:36
Location: Netherlands
Contact:

Re: Interesting in understanding the build process

Postby Arjen Balfoort » 05 Nov 2013 14:50

If I had the time I would like to give constructor some TLC.
I really need bash processing of iso's, for obvious reasons.
So, rest assured, constructor is not going to disappear.

[EDIT]
I just uploaded the source: https://github.com/SolydXK/solydxk-constructor


SolydXK needs you!
Development | Testing | Translations

User avatar
dyfet
Posts: 55
Joined: 05 Apr 2013 11:41
Contact:

Re: Interesting in understanding the build process

Postby dyfet » 05 Nov 2013 15:31

Schoelje wrote:If I had the time I would like to give constructor some TLC.
I really need bash processing of iso's, for obvious reasons.
So, rest assured, constructor is not going to disappear.
This I am very happy to hear. For the chroot operations I likely will use, and as needed, modify my own chroot management tool, cape-chroot, as I don't wish to spawn a separate xterm session just to get into the unpacked instance, and I can as needed modify it for specific conveniences for this use case, as well as making the within chroot operations easily scriptable and automatable.

Part of what makes cape-chroot easy to script is it will auto-promote users to "root" to enter the chroot if the current user is a member of a specific group (it is a setuid). It does stuff like create mounts for devfs, etc, and does so under anonymous mount namespaces, so they auto-tear down cleanly when existing. Maybe I will need to make it fall back to the uid of the "live" user session rather than the currently logged in user after entering the chroot, then root ops within it can be done with sudo. Or one can also do a sudo outside and be root inside too. I mostly use it to automate package building currently.
Information in the computer age is the last genuine free market left on earth except those free markets where indigenous people are still surviving - Russell Means

User avatar
Arjen Balfoort
Site Admin
Posts: 9223
Joined: 26 Jan 2013 19:36
Location: Netherlands
Contact:

Re: Interesting in understanding the build process

Postby Arjen Balfoort » 05 Nov 2013 15:37

I'm looking forward to seeing your changes in https://github.com/SolydXK/solydxk-constructor ;)


SolydXK needs you!
Development | Testing | Translations

User avatar
dyfet
Posts: 55
Joined: 05 Apr 2013 11:41
Contact:

Re: Interesting in understanding the build process

Postby dyfet » 05 Nov 2013 16:13

Schoelje wrote:I'm looking forward to seeing your changes in https://github.com/SolydXK/solydxk-constructor ;)
You may wish to watch https://github.com/dyfet/cape-devtools :). For me the logical answer would be to add a specific flag for running cape-chroot to tell it to properly setup mounts specifically for, and do other as needed things to enter already unpacked constructor chroots... I also have a rather specific naming convention for chroot directories and for multiple architectures (for entering x86 chroots on amd64, it already does the linux32 mode setup, and for others it can use qemu user mode), so I will need to make it aware of the constructor's directory path naming conventions or come up with something in the cape-chroot config file for mapping. If it can be called out of constructor itself too, that I could see doing a patch for, though this approach actually separates the pack/unpack work of constructor itself from the management work within an already unpacked instance.

One thing cape-chroot has to NOT do when entering a something that is defined as a "system" chroot is overwrite /etc files. Currently it overwrites password, group, and sudo conf from the host by default.

And of course this is already long packaged for use on debian: http://dev.gnutelephony.org/dist/debian/
Information in the computer age is the last genuine free market left on earth except those free markets where indigenous people are still surviving - Russell Means

User avatar
Arjen Balfoort
Site Admin
Posts: 9223
Joined: 26 Jan 2013 19:36
Location: Netherlands
Contact:

Re: Interesting in understanding the build process

Postby Arjen Balfoort » 05 Nov 2013 16:22

:lol: I did not understand a word of that!
I just pretend to be technically savvy...don't tell anyone...


SolydXK needs you!
Development | Testing | Translations

User avatar
dyfet
Posts: 55
Joined: 05 Apr 2013 11:41
Contact:

Re: Interesting in understanding the build process

Postby dyfet » 05 Nov 2013 16:32

Maybe I should try to do a tutorial once I get those changes done and can test this process...
Information in the computer age is the last genuine free market left on earth except those free markets where indigenous people are still surviving - Russell Means

User avatar
Arjen Balfoort
Site Admin
Posts: 9223
Joined: 26 Jan 2013 19:36
Location: Netherlands
Contact:

Re: Interesting in understanding the build process

Postby Arjen Balfoort » 05 Nov 2013 17:04

dyfet wrote:Maybe I should try to do a tutorial once I get those changes done and can test this process...
I'm looking forward to that!


SolydXK needs you!
Development | Testing | Translations


Return to “Code”

Who is online

Users browsing this forum: No registered users and 1 guest