| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This complete rewrite of the building tools turns febootstrap
into a general purpose, cross-distro, supermin appliance only
build tool.
There is now only one program 'febootstrap' which is used to
build a supermin appliance from a list of packages.
Normal appliances are not supported.
The tools are incompatible with febootstrap 2.x (use the
febootstrap-2.x branch from git to get the old package).
|
|
|
|
|
|
|
|
|
| |
We weren't expanding ext2 directories and as a result we could
hit a limit when the directory grows larger than one block.
Note that this fix only applies for creating subdirectories.
For creating files (ie. ext2fs_link) we were already doing the
right thing.
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Bash automatically resets euid to uid when it executes. This means that the
effective user id of a program at the point it calls febootstrap-supermin-helper
will be lost if any part of execution chain involved bash. This in turn can
result in:
* the generation of an incorrect checksum, which contains the uid.
* the generation of supermin files with a mixture of owners
The -u and -g options allow the caller to pass in an explicit user and group to
run as. febootstrap-supermin-helper will set(u|g)id as appropriate.
|
|
|
|
|
| |
If usage information is displayed because of an error, it should go to stderr.
If it is displayed because the -h option was given it should go to stdout.
|
|
|
|
|
|
|
| |
Recent state of the elf-default-arch script and the hardcoded i386 arch doesn't
allow building on other arches than ix86 or x86_64. See attachment for a fix.
Can be easily extended to support additional secondary arches by adding new
patterns to the elf-default-arch script
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Previously in febootstrap-supermin-helper we would visit the
files in supermin.d in arbitrary (ie. readdir) order. This has
caused a series of heisenbugs where some implicit dependency
between these files has not been honoured. The latest one is
that '/etc/localtime' can be added to the appliance before '/etc'
has been created (and this operation fails).
Instead of continuing to chase these, this commit forces us to
visit the files in filename order by sorting them before visiting
them.
Note that in libguestfs, the current order is sufficient, because
the files are called:
base.img
daemon.img
hostfiles
|
| |
|
| |
|
|
|
|
|
|
| |
Use the -k whitelist option to get a kernel whitelist.
This is a bug in current febootstrap-supermin-helper.
|
|
|
|
|
|
| |
This option doesn't work yet. The commit is just for adding the
capability to pass the extra kernel/initrd/appliance parameters
through 'main.c' and 'appliance.c'.
|
|
|
|
| |
Only -f cpio is permitted by this commit.
|
|
|
|
|
|
|
|
|
| |
We create a 'writer' abstraction and (currently) a single implementation
of this which can write cpio files. All cpio-related code is moved
out of 'appliance.c' into 'cpio.c'. 'appliance.c' becomes a generic
appliance builder.
This commit should not change the semantics of the program.
|
|
|
|
|
|
| |
We are going to be writing a general appliance, not necessarily
an initrd. In the ext2 appliance case we will _also_ write an
initrd, so we shouldn't confuse the two things.
|
|
|
|
| |
This is just code movement. There is no change to the code.
|
|
This will allow us to split up the monolithic C program into
separate files for ease of modification.
This patch is just file rearrangement.
|