[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#863388: live-boot: Added new functionality to live-boot: rootcopy, modularized filesystems, package installer



Ahhh, a thousand apologies as my original submission didn't make it clear.  The module stuff is all related to using the toram function.  When using toram, the module function doesn't work as expected.  

If you specify "toram=something.module" (not documented in man page, but the arg is parsed into MODULETORAM), it assumes this is a single squashfs filesystem, not a module file (maybe just confusion with what a "module" is).  
If you specify "module=foo toram", it ignores any foo.module and tries to copy the whole live directory.  Maybe then it honors the module file, but I never get that far as I run out of RAM ;)

I can clean up the patch but the additions to the toram file check to see if:
a) module = something and  toram, then calculate size based on the sum of the parts in the module file and only copy those parts to ram, then continue as before.

The normal behavior for toram=filesystem.squashfs is kept and toram without a "module=" is also kept as before...really just takes care of loading a module into ram.

I concede that I didn't realize the module file could include a raw directory since the man page refers to disk images.  It is a bit of a pain to make a module file for each bootable filesystem you may want, but I can make due with that if you don't like the actual rootcopy cheatcode.  I might also point out that I would bet many people are unaware of this feature since it is buried in the module functions and not well explained in the man page, but thanks for clearing that up.

On Fri, 16 Jun 2017 00:47:56 +0300 Mert Dirik <mertdirik@gmail.com> wrote:
>
> On Wed, 14 Jun 2017 01:48:05 +0000 William Prochazka wrote:
>  > Well,
>  >
>  > 1. Root copy is not a squashfs filesystem, so it allows for quick
> tweaking
>  > and modification without having to "commit" your changes. This also makes
>  > modifications (for the purpose of troubleshooting) much easier.
>  >
>  > 2. The alternative filesystem module is still a single file. The new
>  > feature allow for the specification and ordering of filesystem modules.
>  > For example, imagine the following:
>  > filesyste A contains all necessary files to boot a system into a basic
>  > shell with basic functionality, nothing more. Branch filesystem B
> contains
>  > a bunch of advanced tools (coimpilers, scripting environments, etc.
> Branch
>  > filesystem C contains X and Branch Filesystem D contains all of the X
> Bloat
>  > applications.
>  > Together, all four branches are roughly the size that the one
> "monolithic"
>  > filesystem D would have been if I wanted to use the legacy modules
>  > directive, but now, I have a boot time option to specify if I want just A
>  > for a tiny system, (A and B) for more functionality, (A, B, and C) for a
>  > GUI, or (A, B, C, and D) for all of the bells and whistle. Now I get all
>  > of that and don't have four copies of the filesystem. Furthermore, if I
>  > then add a file to A, It will be present when booting into D due to
>  > squashfs.
>  >
>  > It is really nice.
>
> I'm still not getting it. You can accomplish all of these with the
> existing module functionality.
>
> Modules don't have to be squashfs files. They can also be regular
> directories. You can modify them freely. You can use them in the exact
> same way you use overlay directories, because they end up being just
> another layer of  the overlayfs mount. You can mix and match modules
> using *.module files or change their ordering, because they are just
> overlays. You can also select different *.module files with boot parameters.
>
> Sorry if I still miss something obvious but this seems to cover all
> functionality you've brought so far.
>
>

Reply to: