Commit Graph

150 Commits

Author SHA1 Message Date
Marcus Schäfer
febd69ec0f Refactor variable name for root directory
If it is clear the source directory is the root directory of
the image the variable should be named root_dir not source_dir
2016-01-19 11:15:18 +01:00
Marcus Schäfer
5d6fa811f5
Fixing landscape issues 2016-01-18 17:30:38 +01:00
Marcus Schäfer
ae21222c61
Added ContainerSetup classes
Base and Factory plus implementation for docker
2016-01-18 16:59:58 +01:00
Marcus Schäfer
2267023dbd
Refactor user/groups setup
Provide an easier to travers data type in xml_state for the
user and groups. The get_users() method returns a list of
tuples which assigns each user list the group name and id
it belongs to
2016-01-15 15:48:52 +01:00
Marcus Schäfer
5fb3ae17de
Use normpath to avoid double slash in output 2016-01-15 11:45:29 +01:00
Marcus Schäfer
9c60b1f128
Added kiwi result task
Implementing 'kiwi result list' which marshal loads the
serialized result instance from a previous build and shows
the build results
2016-01-15 11:38:08 +01:00
Marcus Schäfer
4a4f9b4b65
Dump the result instance as a marshal dump 2016-01-15 10:44:35 +01:00
Marcus Schäfer
9649596e41 Merge branch 'exfat_vs_vfat' 2016-01-14 19:00:52 +01:00
Marcus Schäfer
899b4a7018 Add clic as supported live media build target 2016-01-14 16:40:07 +01:00
Marcus Schäfer
773db92b4d
Added FileSystemClicFs class 2016-01-14 13:59:11 +01:00
Marcus Schäfer
d0319ed647
Fixed contents of header_end block
off by one bug
2016-01-13 21:52:05 +01:00
Marcus Schäfer
a1e603ef0c
Finished LiveImageBuilder for overlay iso type 2016-01-13 16:56:37 +01:00
Marcus Schäfer
6305dfc1ff Added check if UDF extension is needed or not 2016-01-13 16:15:28 +01:00
Marcus Schäfer
cbced042c5
Put supported live image iso types into defaults 2016-01-13 12:39:55 +01:00
Marcus Schäfer
3710354997
Added live ISO grub2 efi template and setup 2016-01-13 12:04:09 +01:00
Marcus Schäfer
ecfa3136b5
pep8 fixes 2016-01-12 23:08:51 +01:00
Marcus Schäfer
36dd77190d
Rebuild schema and data structures 2016-01-12 22:50:29 +01:00
Marcus Schäfer
d82a734a16 Don't use filesystem specific mount option
When mounting the read write filesystem, prevent using
filesystem specific options like barrier
2016-01-12 22:48:51 +01:00
Marcus Schäfer
f614749343 Use HYBRID_EXT4_OPTS in fat container filesystem 2016-01-12 22:48:51 +01:00
Marcus Schäfer
fd68903a79 Check read write filesystem prior to mounting
If a filesystem type could be identified on the read write
partition check it before mounting to eliminate a potential
dirty state
2016-01-12 22:48:50 +01:00
Marcus Schäfer
8e05ac2131 Cascade exfat mount
try normal mount first, if this does not work try fuse mount
Normally this is done automatically by the mount program but
if not we will give the direct fuse mount a chance
2016-01-12 22:48:50 +01:00
Marcus Schäfer
ed1d953005 Added support for exfat as hybrid filesystem
In addition to fat also exfat is now supported as persistent
write filesystem. Because of the limitations of a fat filesystem
fat and exfat are only used as a container filesystem providing
an ext4 linux filesystem as a cowfile. The algorithm to create
the size of the cow file has also been changed to use half of
the size of the write partition or on fat a max size of 4G.
The size of the cowfile is also prepared to become overwritten.
However the XML definition and implementation to do this
is still missing
2016-01-12 22:48:50 +01:00
Marcus Schäfer
7ad754b9fe Reread partition table after hybrid setup
The hybrid write partition is created via fdisk. Some version
of fdisk does not send the ioctl to let the kernel reread the
table or fdisk itself holds it busy. Thus we actively initiate
a reread via blockdev
2016-01-12 22:48:50 +01:00
Marcus Schäfer
840b3ec6d8 Optimize ext4 hybrid write filesystem options
Optimized for 512kB erase block size
2016-01-12 22:48:50 +01:00
Marcus Schäfer
0c1bcc083e Use mount options to increase overlay performace
For overlay filesystems not writing into a tmpfs performance is
more important than safety. We use this combination of options
for now, if you encounter stability problems please let us know
2016-01-12 22:48:50 +01:00
Marcus Schäfer
a4bfbd3432 Use -f force option for extX filesystem checker 2016-01-12 22:48:50 +01:00
Marcus Schäfer
b38671d09f Refactor and cleanup setupReadWrite
Fix misleading error message and refactor the code to be less
complex and more clear in the processing of tasks
2016-01-12 22:48:50 +01:00
Marcus Schäfer
8e961c3c21 Allow custom cowfile name for persistent data
Instead of a fixed name 'cowfile' we allow a custom name which is
predefined in HYBRID_PERSISTENT_FILENAME and prepared to become
overwritten by an XML defintion whose implementation will follow
later. Reason for the change is that a cowfile is visible as
plain data file to the operating system if e.g used on a live
stick. It should be more clear to the user what this file is
good for
2016-01-12 22:48:50 +01:00
Marcus Schäfer
109e10fe23 Protect mkfs.exfat from being deleted
Added to the strip tools section in order to keep it in the initrd
2016-01-12 22:48:50 +01:00
Marcus Schäfer
054c56fa55 Make createFileSystem more robust
When passing in a loop file instead of a device name, the method
should be smart enough to handle the name without shell evaluation
2016-01-12 22:48:50 +01:00
Marcus Schäfer
67b514cc6f Added support for exfat creation and probing
In preparation to use exfat instead of vfat in a loop container
for persistent data it's required to provide support for mkfs.exfat
2016-01-12 22:48:50 +01:00
Marcus Schäfer
e2646508b4 Make loop_setup and loop_delete more robust
The methods did not cope well with filenames containing bash
characters with special meaning e.g spaces. For use with a
iso hybrid cowfile whose name is visible in the OS the methods
should be able to work with any given filename
2016-01-12 22:48:50 +01:00
Marcus Schäfer
84f5167f17
Allow xfs as hybrid RW file system 2016-01-12 22:47:20 +01:00
Marcus Schäfer
c196705f54 Continue with LiveImageBuilder class
Added isolinux bootloader setup, finished live build procedure
Live metadata injection still missing. grub2 efi boot for live
image still missing
2016-01-12 22:19:07 +01:00
Marcus Schäfer
ed7be57e6e
Fixed Makefile target to build data structures
A change in kiwi/schema/kiwi.rnc triggers the build of the
schema rng version as well as an auto update of the data
structures via python's generateDS. The intermediate xsd
schema format is only relevant for the data structure
creation process
2016-01-12 10:38:53 +01:00
Marcus Schäfer
8b056f9928
Started with LiveImageBuilder class
Added interface and required steps. tests and implementation
are missing and will follow
2016-01-10 19:12:58 +01:00
Marcus Schäfer
8b2a5690d1 Added archive builder 2016-01-10 14:46:29 +01:00
Marcus Schäfer
0bd3dc7856
Added repo handling to compat caller
Also added process execution with translated arguments
2016-01-09 21:56:41 +01:00
Marcus Schäfer
fe4eebd690
Add compat translation for prepare/create/upgrade 2016-01-08 14:01:07 +01:00
Marcus Schäfer
eae8f9caef
Added kiwicompat to support legacy commandline 2016-01-05 17:01:35 +01:00
Marcus Schäfer
91c0b672ce
Added install pxe archive support 2016-01-05 15:40:40 +01:00
Marcus Schäfer
1a15ee0ba6
Added warning message if pxedeploy section is used
At the moment there is no class to build the pxe client config
file from information provided with the optional pxedeploy
section. However this is not fatal to the build because the file
could be created manually too. Thus a warning message is shown
which will go away when the pxe client config file creation
has been ported
2016-01-05 12:24:03 +01:00
Marcus Schäfer
3ef9bcbff2
cleanup test data to be consistent 2016-01-05 11:46:43 +01:00
Marcus Schäfer
17402c42ba
Added recovery setup 2016-01-05 11:36:10 +01:00
Marcus Schäfer
c081e364e5 Added DiskFormatGce class implementation 2016-01-04 13:15:40 +01:00
Marcus Schäfer
a5bc05db6d
Fixed suffix name for compressed archives 2016-01-04 10:30:05 +01:00
Marcus Schäfer
c7567338a5
Added creation of gnu and xz archives to tar class 2016-01-02 19:17:00 +01:00
Marcus Schäfer
0e03524a09
Refactor result collection
Put the creation of a result object into the builder classes
and return them from there. The builder instances knows about
the results not the task instances
2016-01-02 18:42:14 +01:00
Marcus Schäfer
4afa876062 Fixed option handling for vmdk format 2016-01-01 22:55:09 +01:00
Marcus Schäfer
c408114b39 Activate disk format building in disk builder
If disk format and install media is configured together only
the install media will be built and a warning message for
skipping the disk format is shown
2016-01-01 22:09:34 +01:00