Skip to main content
Welcome guest. | Register | Login | Post

The new site for EasyLFS is up!

The new site for EasyLFS, http://easylfs.nuxified.com, is finally up.

There are still a few things to do, but since I'm steadily working towards 0.4 I decided to upload it and start putting up information.
Also I hope that the official availability of this site now might encourage me to hurry up a bit to finally get done with the current development, on the site and on EasyLFS 0.4. I'm already at 0.3.11, which is more than I wanted to do; but at least that way I can now offer some really cool things, like GLibC 2.7 and GCC 4.2.2, which comes with OpenMP, which should help to make programs work better with SMP.

What's in the current release, and what will be in the coming version, will be uploaded tonight, so that you guys can have a peek at what will be part of the greatest and coolest EasyLFS to date!

Comments

Download didn't work for

 

Download didn't work for me.

I was googling for this project and got the impression that a chunk of development or at least discussion was done in German [My German is good enough to basically be able to give an estimate of how long it will take with a good dictionary on hand to decipher the text. Ie, I know I can omit a few words or phrases from the lookup and can fake some of the grammar. Ie, I know very little German.]

My first question is if there are docs to describe how EasyLFS is put together, much as there is a thorough book describing LFS and its siblings (ALFS, etc). You said EasyLFS is mostly an LFS pre-packaged, so I guess I am asking about the details of that packaging. Ie, if I had an LFS I had built on my hard drive, what steps would I take to get a EasyLFS livecd built? That is the question... and I wasn't able to find it by following the link you gave.

Also, for the packages not included in LFS, is there a recipe listing precisely what configure options to use and the order in which to build the packages (plus any required patching or warnings and the urls hosting the tarballs)?

And which login info do we give at the project page? I tried nuxified (unless I made a mistake.. which is possible) as well as libervis yet failed in each case.

I am interested in how liveCDs are being built because I want to find out what solutions exist before deciding to go with one or the other for various projects I have in mind.

A big reply...

 
Jose wrote:

Download didn't work for me.

Don't know if there's something wrong with the hosting on the EasyLFS Wiki, but that should be the location for the last release, 0.3. The new site doesn't have any files yet.

Jose wrote:

I was googling for this project and got the impression that a chunk of development or at least discussion was done in German [My German is good enough to basically be able to give an estimate of how long it will take with a good dictionary on hand to decipher the text. Ie, I know I can omit a few words or phrases from the lookup and can fake some of the grammar. Ie, I know very little German.]

Yes, quite some of the discussion was done in german in this topic. That's where I brought up the idea for the first time, and there's still a bit of talking going on, although a lot of the talking now also is happening here on Nuxified.org.

Jose wrote:

My first question is if there are docs to describe how EasyLFS is put together, much as there is a thorough book describing LFS and its siblings (ALFS, etc).

Well, so far there is only the installation manual. On the Wiki there's also a bit more, like something about the history of EasyLFS.
A few things are also available in the EasyLFS-category in the forum of my website, like the installation manual for EasyLFS 0.3 and the post "What is EasyLFS?".
But there is nothing comparable to the LFS-book, and I think that this is actually pretty easy to explain: Most of that is handled in the LFS-book, so I don't think it's a good idea to have a book called EasyLFS-book handle more or less the same stuff. About the additional stuff, as you mention a bit later, I actually agree. There I think it might be good to provide something, especially when it comes to in which order these should be installed and what they depend on.

Jose wrote:

You said EasyLFS is mostly an LFS pre-packaged, so I guess I am asking about the details of that packaging.

Well, there's no real packaging. All packages are the original tarballs from their respective sites.
I just put it all together, wrap some scripts around it for installation and make it a LiveCD.

Jose wrote:

Ie, if I had an LFS I had built on my hard drive, what steps would I take to get a EasyLFS livecd built? That is the question... and I wasn't able to find it by following the link you gave.

I use the Linux Live Scripts for that. I was thinking about writing a LiveCD-tutorial before, but so far didn't manage to do so. Anyway, that would not really be related to EasyLFS but only explain how to use the Live Scripts to get a LiveCD.

Jose wrote:

Also, for the packages not included in LFS, is there a recipe listing precisely what configure options to use and the order in which to build the packages (plus any required patching or warnings and the urls hosting the tarballs)?

It's mostly default options, except for --prefix, so that stuff isn't installed in /usr/local. But I could actually think about having a little cookbook for the extra stuff. Problem just is that it gets really tricky when you want to have SELinux in this. The difference is that all optional packages are installed at the end of the installation, except for SELinux. The reason is that SELinux is hooked deep into the system, even into GLibC (which makes it necessary to compile GLibC one extra time when SELinux-support is chosen), and therefor has to be installed pretty early. On the other hand there are dependencies to other packages, so you cannot install everything right at the beginning of stage 2. That's a pretty complex thing, but the rest is quite straight forward.

Jose wrote:

And which login info do we give at the project page? I tried nuxified (unless I made a mistake.. which is possible) as well as libervis yet failed in each case.

For the project-page there is no public login.
Public information will be public, the rest is project-internal stuff.
Downloads are not posted there yet, but don't worry, you'll see them when they're available.

Jose wrote:

I am interested in how liveCDs are being built because I want to find out what solutions exist before deciding to go with one or the other for various projects I have in mind.

It's not that hard. The Linux Live Scripts take away most of the pain. Usually you can just build your LiveCD with them and then try the image. If there's a boot-script making trouble either solve the problem or remove the script, depending on if it's needed or not.
For the EasyLFS-LiveCD I use the following script to remove unnecessary bootscripts:

#!/bin/sh
rm /etc/rc.d/rcsysinit.d/S30checkfs
rm /etc/rc.d/init.d/checkfs
rm /etc/rc.d/rc{0,6}.d/S80swap
rm /etc/rc.d/rcsysinit.d/S20swap
rm /etc/rc.d/init.d/swap
rm /etc/rc.d/rc{0,1,2,6}.d/K90sysklogd
rm /etc/rc.d/rc{3,4,5}.d/S10sysklogd
rm /etc/rc.d/init.d/sysklogd
rm /etc/rc.d/rcsysinit.d/S05modules
rm /etc/rc.d/init.d/modules
rm /etc/rc.d/rcsysinit.d/S15devmapper
rm /etc/rc.d/init.d/devmapper
rm /etc/rc.d/rcsysinit.d/S16lvm
rm /etc/rc.d/init.d/lvm

Another thing is the kernel. If you want to have it work on more than only your own computer, you'll have to load it with drivers.

>> Well, there's no real

 

>> Well, there's no real packaging. All packages are the original tarballs from their respective sites.
I just put it all together, wrap some scripts around it for installation and make it a LiveCD.

So is this how I would build EasyLFS (what you offer from download) ignoring the specific details? ...

Build LFS.
Add download some specific packages.
Run a script which you built already which accomplishes the effect of a few chapters of LFS but on these new packages, that is, it basically builds and installs these new packages.
Then apply other scripts which convert the partition into a livecd.
[ooops, I see from what you mention later on that selinux complicates things a bit]

>> Linux Live Scripts

OK (thanks). I looked a bit through those in the past. Are those very closely related to what is offered at the berlios site http://livecd.berlios.de/ (used by PCLOS, for example)? Does Puppy use them? Also are you familiar with Rock?

I want to do something that is probably similar to what Puppy Linux achieves with their multisession CD/DVD (so I want to look over Puppy's scripts carefully .. or at least to be sure about the few details relating to (I imagine) incorporating the extra sessions on the CD with unionfs/aufs/??). The reason is to have a quick way and added way to Wow people I give liveCDs to. One idea is to take some pictures, ask for some information, etc, and then run a script. Maybe the first time manually run gimp/etc to modify pics, cut, paste, move things around, and quickly burn into a new session .. so they can see the process. You then run the livecd to show them what you just did. They get a nice distro that is precustomized to something they just decided minutes earlier. They tell friends. ETC.

>> I was thinking about writing a LiveCD-tutorial before, but so far didn't manage to do so.

Good idea (maybe I will be able/willing to help).

>> Anyway, that would not really be related to EasyLFS but only explain how to use the Live Scripts to get a LiveCD.

Well, the LFS books talk about the tools that will be used. They describe patch a bit and discuss numerous issues that are useful to explain to understand what is going on. I think a "chapter" on building a livecd should detail the steps but also discuss what is going on at least slightly. In other words... OK, what you are talking about is detailing how the scripts work.. I agree that that is outside EasyLFS.. but it is nevertheless something I would really like to have built by someone.

>> It's mostly default options, except for --prefix, ... SELinux ... That's a pretty complex thing, but the rest is quite straight forward.

LOL. And I think making the world was relatively simple, except for the odd detail here or there. LOL.....

..So adding SELinux really means building EasyLFS is not *that* easy to build without instructions (but it's easy to install, I get it). A manual explaining these details you don't want to explain would be useful to a lot of people I am sure. Personally, I dont' know what it would entail because I have hardly looked at SELinux.

***

Thanks, for all the links and details. I still need to look much closer at the various livecd scripts, but I definitely have a better idea of how EasyLFS is put together. Again, thanks. [I like this subject, btw, as if it wasn't obvious.. but I haven't found time to look at much code in a couple of years. I am hoping to start working with, eg, livecd scripts soon.]

...

 
Jose wrote:

So is this how I would build EasyLFS (what you offer from download) ignoring the specific details? ...

I don't actually get you on this point, maybe you could clarify this.

Jose wrote:

Build LFS.
Add download some specific packages.
Run a script which you built already which accomplishes the effect of a few chapters of LFS but on these new packages, that is, it basically builds and installs these new packages.

Well, actually you don't build LFS first. EasyLFS builds everything for you. You only edit lfs_config.sh to match what you like and then run lfs_install.sh. This will then build the whole system.
If you look at version-numbers you'll also see that I'm more recent than LFS, more or less matching what the development-version of LFS also brings.

Jose wrote:

Then apply other scripts which convert the partition into a livecd.

You don't have to make it a LiveCD. I do that because I want to have a CD that on one hand is sort of a preview of what kind of system you'll get after installation (the system on the CD is built from the same sources and with the same scripts which are on the CD).
Also you don't actually "run a script to convert your system to a LiveCD". The Linux Live Scripts actually just put it all together into to SquashFS-modules, build the InitRD for you and provide some scripts that run at startup in order to make everything work.
It should be limited to run build.sh in the Linux Live Scripts-directory and you'll more or less get your system as LiveCD. It actually takes a little bit more, because you actually just get a directory which then you'll need to run another script in which will give you the ISO.

Jose wrote:

[ooops, I see from what you mention later on that selinux complicates things a bit]

Yes, SELinux makes things a bit more tricky. GLibC and also the CoreUtils both have to be compiled one additional time. Not that installing the CoreUtils takes very long, but GLibC takes quite some time, so you could say that a build with SELinux takes a while longer than one without.
It actually is impossible to say how much longer because this depends on how much of the optional packages you install. ;-)

Also it is not possible to say how long installation will take overall, this depends on the machine you'll install it on. On a 586-notebook I bought for testing it took me 3 days to install EasyLFS 0.1.

Jose wrote:

OK (thanks). I looked a bit through those in the past. Are those very closely related to what is offered at the berlios site http://livecd.berlios.de/ (used by PCLOS, for example)? Does Puppy use them? Also are you familiar with Rock?

I never looked into RockLinux, but had a look through their site. If PCLinuxOS or Puppy use the Linux Live Scripts I don't know. Slax uses them, that I know for sure. They are what gives Slax it's modularity, which I think is a great thing because you can easily add additional software to a basic LiveCD, depending on what you need. That's also one thing that would be cool for EasyLFS, that people make modules that can be added to the EasyLFS-CD.

Jose wrote:

I want to do something that is probably similar to what Puppy Linux achieves with their multisession CD/DVD (so I want to look over Puppy's scripts carefully .. or at least to be sure about the few details relating to (I imagine) incorporating the extra sessions on the CD with unionfs/aufs/??). The reason is to have a quick way and added way to Wow people I give liveCDs to. One idea is to take some pictures, ask for some information, etc, and then run a script. Maybe the first time manually run gimp/etc to modify pics, cut, paste, move things around, and quickly burn into a new session .. so they can see the process. You then run the livecd to show them what you just did. They get a nice distro that is precustomized to something they just decided minutes earlier. They tell friends. ETC.

Well, that really sounds cool. I never had a look into Puppy.

Jose wrote:

Well, the LFS books talk about the tools that will be used. They describe patch a bit and discuss numerous issues that are useful to explain to understand what is going on. I think a "chapter" on building a livecd should detail the steps but also discuss what is going on at least slightly. In other words... OK, what you are talking about is detailing how the scripts work.. I agree that that is outside EasyLFS.. but it is nevertheless something I would really like to have built by someone.

Well, let's see if I can come up with something. Since it's basically also possible to take only the installation-module and run it on an already installed system it might be good to provide some overview of what's needed in order to build the system, although I think that the LiveCD is the safest way to do the build.

Jose wrote:

LOL. And I think making the world was relatively simple, except for the odd detail here or there. LOL.....

You always find exceptions. SELinux is a big thing that makes things a bit more complicated. But most of the other optional stuff is really default-config.

Jose wrote:

..So adding SELinux really means building EasyLFS is not *that* easy to build without instructions (but it's easy to install, I get it). A manual explaining these details you don't want to explain would be useful to a lot of people I am sure. Personally, I dont' know what it would entail because I have hardly looked at SELinux.

Hmm, you mean something that would explain how to plug-in SELinux when you're building a regular LFS?

Jose wrote:

Thanks, for all the links and details.

You're welcome.

>> I don't actually get you

 

>> I don't actually get you on this point, maybe you could clarify this. ... You don't have to make it a LiveCD.

OK. I think the confusion is that you are describing how one uses EasyLFS (and now I have a better idea about that) while I was asking (in a bad way) how to build EasyLFS *liveCD* [ref: bottom of this reply]

>> Also you don't actually "run a script to convert your system to a LiveCD". The Linux Live Scripts actually just put it all together into to SquashFS-modules, build the InitRD for you and provide some scripts that run at startup in order to make everything work.

Not sure why you didn't understand me since I think what you described is what I had in mind (maybe I didn't put it into words well). Essentially, you set up the partition as you want it to be on the liveCD and then you run a script (assuming there are no modifications to be made to the scripts, as I think you pointed out) to have everything cooked properly.

I have some idea of the various tasks that the scripts handle for booting/initializing/etc the livecd, in part from clues you have given. I do need/want to understand the details, but the big picture (correct me if I'm wrong, though I think I am just rewording what you stated) is that you run a script and then you have your livecd (almost) ready to burn.

>> It actually takes a little bit more, because you actually just get a directory which then you'll need to run another script in which will give you the ISO.

I hadn't thought much about how far the slax live scripts went in cooking your custom distro. I thought maybe that "build.sh" (if I understood you) would do all the cooking leaving you with the .iso.

Oh, well, it falls one step short. That extra step is not too difficult to handle (but it might be for people that haven't used mkisofs (?) before or haven't burned a CD before; a word or two of documentation would be useful).

>> Well, that really sounds cool. I never had a look into Puppy.

http://www.puppyos.com/multi-puppy.htm (as well as http://puppylinux.org/wikka/CreatingMultiSessionFromPuppy ). I don't know how it works. I can guess but why? I may take a look soon.

***

So I guess there are two types of documentation projects related to this discussion.

One is to document the extra things done to LFS to get the EasyLFS result that lfs_install.sh (if I understood) provides. This would include a brief discussion of lfs_install.sh itself, basic coverage of the optional/extra packages (you said this was boring stuff with almost no special ./configure params or anything else), and coverage of SELinux which would include docs on at least kernel support and on the differences to glibc and to some other packages.

The other documentation project would be to describe how to build EasyLFS livecd but excluding anything that is a part of project one. Essentially project one would be included by reference. Project one would itself reference the LFS docs minus the LFS packages changed for SELinux, as these would be documented explicitly by project one.

Does it seem I have an accurate general understanding of EasyLFS, or am I still off the mark?

Did I answer "Hmm, you mean something that would explain how to plug-in SELinux when you're building a regular LFS?" The short answer is "yes."

You don't need to handle

 

You don't need to handle mkisofs by yourself, that's done by the 2nd script, makeiso.sh.

I guess we're getting closer with understanding each other, so I think we're on the right way here. ;-)

Adding the "How to bake SELinux into LFS"-HowTo I guess we now come to three documents:

  1. This describes the differences between LFS and EasyLFS, offers a view on how the scripts work and in which way SELinux makes things more complicated. Also this document then would have a LFS-like chapter where you find the descriptions on how to build the packages which are not included in LFS.
  2. This one then would describe how to turn the completed LFS/EasyLFS into a LiveCD using the Linux Live Scripts.
  3. And the third one then would be a description on how to integrate SELinux into the regular LFS.

Well, these are things I'll have to think about. Most important right now are to get EasyLFS 0.4 and its installation-manual finished. Also there's still a few things I need to do on the site (the document-part doesn't work yet).
So, at the moment I'm still quite busy with the system itself.
After 0.4 I have planned to take a little timeout from EasyLFS, then I won't be having as much time anymore anyway, so I'm going to take a break and maybe after a while slowly progress towards 0.5.
During that timeout I might look into writing a few things.
One thing I don't want to do is abandon my project. I have spend a lot of time and nerves, and even a little money on making it happen, so I think I should stick to it. And anyway, I like working on EasyLFS. I know it's never going to be a big player, but that's okay. If a few people just test it and say it's cool then I'm happy already. ;-)

>> >> Well, that really

 

>> >> Well, that really sounds cool. I never had a look into Puppy.
>> http://www.puppyos.com/multi-puppy.htm (as well as http://puppylinux.org/wikka/CreatingMultiSessionFromPuppy ).

Another puppy link is http://www.puppylinux.com/development/howpuppyworks.html . This one gives a decent middle level explanation of how puppy takes advantage of unionfs. Included is a description of multisession CD/DVDs.

From this last link and one of the earlier ones this is what I have gathered for the moment

Some script is supposed to read all the stuff in the extra sessions and then compacts it into a filesystem that will form the middle layer in a unionfs setup. It simply copies, and copies over so that later files and changes overwrite older ones. I am not sure how deletions are handled. Once in unionfs, it takes precedence over the base puppy and anything at a lower layer if there is any. The only thing with higher precedence is the ramdisk since that is how you will be able to modify this setup during the current session. These new changes get saved at the end of the session (if you want), making them available on the next boot, to repeat the cycle all over.

See pupmode 77.

There is interesting stuff all over the documentation.

Comment viewing options

Select your preferred way to display the comments and click "Save settings" to activate your changes.