I see cases where a stale loop device stays around and fills up my
partition as image file is still in use and does not get unlinked.
Explicitly detach loop device on umount to fix that.
Signed-off-by: Christian Hesse <mail@eworm.de>
This is the first attemp to test overlayfs in archiso.
The current dm-snapshot mode is keep and is enabled by default,
while the new mode is enabled via "-s sfs" to mkarchiso.
No new boot parameters are added, since archiso hooks detects
if the .sfs file is for dm-snapshot (airootfs.img inside)
or for overlayfs.
Persistence is supported in overlayfs mode using the same options
(cowlabel or cowdevice), but warning while in dm-snapshot mode,
only one file is used (airootfs.cow), in overlayfs mode internal
files for workdir/ and upperdir/ are allocated, so you can not use
VFAT or NTFS.
To test this, you need to enable [testing] in pacman.conf from
releng profile and edit build.sh then add "-s sfs" in make_prepare()
Look at:
setarch ${arch} mkarchiso ${verbose} -w "${work_dir}" -D "${install_dir}" prepare
Replace with:
setarch ${arch} mkarchiso ${verbose} -w "${work_dir}" -s sfs -D "${install_dir}" prepare
The build requires just half of space that the build for dm-snapshot,
since there is no ext4 img ;)
Just to remember: there is no space gain in .sfs (just about 2M)
There is at least one thing during boot with machine-id service:
Dec 24 03:31:39 archiso systemd-machine-id-commit[183]: Failed to unmount transient /etc/machine-id file in our private namespace: Invalid argument
Signed-off-by: Gerardo Exequiel Pozzi <vmlinuz386@gmail.com>
Remove unused feature, just to save space
sizeof ext4 image (empty): 4.3M vs 403K (du airootfs.img)
sizeof used space (empty): 48M vs 20K (df)
Thanks Christian Hesse for initial tip.
Signed-off-by: Gerardo Exequiel Pozzi <vmlinuz386@gmail.com>
Ensure that all inode table is initialized at filesystem creation.
(Anyway filesystem is small, so at first mount is may quickly initialized)
This avoid possible COW usage during runtime ;)
Signed-off-by: Gerardo Exequiel Pozzi <vmlinuz386@yahoo.com.ar>
This command makes a list of installed packages on root-image,
on <ISO>/$archisobasedir/pkglist.$arch.txt with the format
<repo>/<package>-<version>
Signed-off-by: Gerardo Exequiel Pozzi <vmlinuz386@yahoo.com.ar>
If EFI/archiso/efiboot.img exists then an alternative "El Torito"
boot image is added to the ISO image compatible for EFI.
This image is a FAT filesystem, that is interpreted by EFI as ESP
(EFI System Partition).
Signed-off-by: Gerardo Exequiel Pozzi <vmlinuz386@yahoo.com.ar>
* Remove devtools dependency.
* Better control over what files are touched inside chroot (root-image).
Now: NONE :)
* Two new commands:
+ init: To install {base} group and other needed packages (syslinux for now)
+ run: If we want to run some command inside chroot
(mkinitcpio, locale-gen, useradd, etc etc...)
* Renamed command: "created" to "install", says much better what does.
Signed-off-by: Gerardo Exequiel Pozzi <vmlinuz386@yahoo.com.ar>
This was useful to me during development of dm-snapshot support
to create very quickly isos without wating for SquashFS compression.
Is time to remove this, I think the is no practical usage,
and make the code a bit more simple.
Signed-off-by: Gerardo Exequiel Pozzi <vmlinuz386@yahoo.com.ar>
We are currently checksuming all files inside $archisobasedir
(aitab, *sfs, kernel/initramfs and boot/syslinux related files)
this is stored in one file only. Its works good for now,
but I think we only need to checksum only aitab and *.sfs if they are needed.
Currently if you boot a dual-iso in i686, also checksum is done
for *.sfs of x86_64. Not a big issue, this just take a bit more time.
The real issue is when booting via PXE with HTTP/FTP methods,
since they download only aitab and needed *.sfs files,
can not use directly the only one file where checksums are stored.
This patch does:
(1) Do not checksum syslinux related files, anyway you are already reach initramfs stage.
(2) Do not checksum kernel/initramfs files, for the same as (1)
(3) Two checksum.${arch}.md5 for each i686 and x86_64 for only aitab and *.sfs.
Signed-off-by: Gerardo Exequiel Pozzi <vmlinuz386@yahoo.com.ar>
* Preparing terrain for UEFI support.
* Also make isohybrid hack in one step.
* Removed UDF layer, since xorriso does not support it.
* Removed unsupported options by xorriso (-uid/-gid/-allow-limited-size)
* Removed option already default in xorriso (-input-charset utf-8)
Signed-off-by: Gerardo Exequiel Pozzi <vmlinuz386@yahoo.com.ar>
Default (if not specified) -w work -o out.
-o <out_dir> is only used by 'iso' command.
Adjust build.sh of releng and baseline profile to reflect this change.
<project>
- work <- $work_dir
- out <- $out_dir
Signed-off-by: Gerardo Exequiel Pozzi <vmlinuz386@yahoo.com.ar>
Also put _is_directory_changed() inside 'if' avoiding premature execution if it returns non-zero.
Signed-off-by: Gerardo Exequiel Pozzi <vmlinuz386@yahoo.com.ar>
* Use device mapper + snapshot module, instead union layer filesystem.
* A block-level approach vs vfs-level.
* No more unofficial (Linux) things.
* More memory is needed.
* Refactor mkarchiso.
* Refactor hooks/archiso.
* Fix install/archiso_pxe_nbd
(due recent change in mkinitcpio-0.6.15 on checked_modules()/all_modules())
[Thanks Dave for the improved workaround]
* New configs/releng to build official images.
* Works with a Bash script instead of Makefile.
(better control and easy to maintain)
* Remove configs/syslinux-iso.
* Remove archiso2dual script. Integrate functionality in configs/releng.
* New configs/baseline to build the most basic live medium or use as template.
* New README (draft). [Thanks Dieter for fixing english grammar]
Signed-off-by: Gerardo Exequiel Pozzi <vmlinuz386@yahoo.com.ar>