Commit graph

25 commits

Author SHA1 Message Date
nl6720
3b3984b484
mkarchiso: implement configurable bootstrap tarball compression
profiledef.sh gains a new option `bootstrap_tarball_compression` which
is a bash array containing the compression program and its arguments.

Related to https://gitlab.archlinux.org/archlinux/archiso/-/issues/130.
2024-03-30 23:27:55 +02:00
nl6720
2932a9def3
Makefile: build and install the mkarchiso(1) man page
rst2man from python-docutils is required to convert the man page from
reStructuredText.
2024-02-17 11:27:19 +02:00
nl6720
d96a356995
mkarchiso: write grubenv in _make_common_bootmode_grub_cfg
Add all variables that we replace with values in configuration files.

Keep `${isofs_dir}/${install_dir}/grubenv` with fewer variables for
backwards compatibility. It will be removed in the future.
2023-02-24 10:22:36 +02:00
nl6720
ab3d78860e
Update URLs
* Update mkinitcpio-archiso project link,
* Update code of conduct link,
* Update arch-releng mailing list link,
* Use HTTPS where possible,
* Replace dead link.
2023-01-29 11:11:38 +02:00
David Runge
3e962dbeda
Update PGP key ID for David Runge
README.rst:
Change referenced PGP key ID from `C7E7849466FE2358343588377258734B41C31549` to
`991F6E3F0765CF6295888586139B09DA5BF0D338`, as the latter is now in used. The keys are cross-signed and both available
via Arch Linux's WKD.
2022-09-25 19:59:05 +02:00
Pellegrino Prevete
2b7e1b4a28
Add support for GRUB ia32 UEFI in mkarchiso, update READMEs. 2022-05-25 14:49:02 +00:00
David Runge
8d20de7c0f
Add nl6720 to the list of maintainers
README.rst:
Add nl6720 to the list of maintainers eligible to craft releases using the PGP key with the ID
`BB8E6F1B81CF0BB301D74D1CBF425A01E68B38EF`.
2021-12-18 22:37:05 +01:00
David Runge
571ea81069
README.rst: Remove initcpio, fix formatting
README.rst:
Remove note on installing the initcpio scripts as they now reside in a separate project.
Fix codeblock describing how to boot into the ISO from grub.
2021-07-31 17:25:26 +02:00
nl6720
6e1ca35e59
Update ArchWiki article URLs
Use the new, prettier short URLs.
2021-06-18 21:17:47 +03:00
David Runge
0e61ed0a65
Adjust documentation on IRC support channel
README.rst:
Update the documentation on IRC support channel, after Arch Linux has moved to Libera Chat.
2021-05-29 10:48:06 +02:00
David Runge
ace88aaaca
Update project documentation related to netboot
README.rst:
Add openssl as another dependency.
Mention the export of netboot artifacts in the project introduction.
Mention that archiso may be used on other operating systems as well.
2021-05-10 12:38:31 +02:00
David Runge
1fed84c795
Extend project overview with info on bootstrap images
README.rst:
Mention bootstrap images in the opening words of the project documentation.
Add awk, erofs-utils, findutils, gzip, libarchive, pacman and sed to dependencies.
2021-05-09 15:53:09 +02:00
nl6720
a855dd4a5f
Move README.profile.rst to docs/
Keep all documentation except the main README in the docs directory.
2021-04-30 20:51:24 +03:00
nl6720
5754000d2e
Update README.rst
* Don't nest code blocks inside quote blocks.
* Replace bash with sh, as there's nothing bash-specific in the examples.
* There is no syntax highlighting for grub, use sh.
* Use sentence case for headings.
* Use monospace for paths.
2021-04-30 20:51:23 +03:00
Christian Hesse
1a97109639 mkarchiso: also add iso name in grub environment block 2021-04-07 16:40:18 +00:00
David Runge
bc007ca5f3
Add releases section with PGP information
README.rst:
Add a "Releases" section that specifies who is creating releases and which PGP key ID is used to sign tags.
Additionally, information about how to retrieve the relevant public key and how to verify a tag in the repository is
added.

Fixes #114
2021-03-29 23:16:04 +02:00
Christian Hesse
b30d1cad9b mkarchiso: add version information
To date the iso version was used for iso volume information and iso file name.
In my custom builds I do use it a lot more:

* Inside the root fs: The system knows about its own version. I use this to:
  -> report the version to a server (poor man's inventory)
  -> let the system update itself

* On the iso fs: The files are served via rsync, running systems transfer
  version file first to check for available update.

* A grub environment file on the iso fs: Booting the iso from grub allows
  to create cow directory per version:

    loopback loop archlinux.iso
    load_env -f (loop)/arch/grubenv
    linux (loop)/arch/boot/x86_64/vmlinuz-linux ... \
        cow_directory=archlinux/${VERSION} ...

So let's just create these files.
2021-01-26 10:00:38 +01:00
David Runge
bff36764d3
Add documentation about how to create profiles
README.profile.rst:
Add information on all necessary components of a profile:

* profiledef.sh
* packages.arch
* airootfs/
* efiboot/
* isolinux/
* syslinux/

Fix wording for pacman.conf documentation

README.rst:
Add a link to README.profile.rst.

Fixes #38
2020-10-29 11:36:40 +01:00
David Runge
2c66cd45e0
Add Contribute section to README
README.rst:
Add Contribute section to README to provide information about code of conduct, contributing guide and contact
information (mailing list and IRC).

Fixes #72
2020-10-10 11:32:20 +02:00
nl6720
45a5d229b3
Create directories and copy files to the FAT image using mtools instead of mounting the file system
- mtools supports SOURCE_DATE_EPOCH.
- The image file is operated on directly instead of mounting the file system. This is a prerequisite to limit the commands that run with root privileges. Related to https://gitlab.archlinux.org/archlinux/archiso/-/issues/40 .
- Add a reminder comment to not get rid of the dosfstools dependency, since a mformat made FAT image can fail to boot on some systems.
2020-09-02 22:31:04 +03:00
David Runge
d90184a7f0
Pass profile directory as parameter to mkarchiso
**archiso/mkarchiso**:

Change all override option parameters (i.e. `-A`, `-C`, `-D`, `-L`, `-P` and `-g`) to not directly override the global
variable they are tied to, but instead using an `override_` prefixed variable.

Add `_set_overrides()` to use `override_` prefixed variables (if set) to override those without a prefix.

Remove `-B` (a profile directory) from the list of parameters. The profile directory is now provided as separate
non-option parameter.

Add a call to `_read_profile()`, `_set_overrides()` and `command_build_profile()` to the fallthrough option of the
switch-case checking `command_name` - a non-option parameter to mkarchiso. This effectively provides the possibility to
set the profile directory using a non-option parameter, while still maintaining compatibility to legacy named arguments
used in the configs' `build.sh` scripts.

Extend the warning in regards to legacy `build.sh` based commands to mkarchiso by providing an EOL with archiso v49.

Change the help output to reflect the changes and further elaborate on the legacy commands used by `build.sh` scripts.

Change help output to be ordered alphabetically.

Add help output for `-r` and `-g` options.

Call `_set_overrides()` for legacy commands that accept one or more of the overriden options (i.e. `command_init`,
`command_install`, `command_prepare` and `command_iso`).

Various style fixes.

**configs/{baseline,releng}/build.sh**:

Change call to mkarchiso to use the profile's directory as a named argument instead of an option-argument.

**README.rst**:

Fix documentation on how to call mkarchiso with a profile directory.

Fix wording and ordering of option arguments for run_archiso documentation.

Fixes #52
2020-08-25 19:06:43 +02:00
nl6720
e9f209efbf
Deprecate build.sh scripts and old mkarchiso commands
Replace build.sh scripts with calls to mkarchiso -B "profiledir" build_profile.

Fixes https://gitlab.archlinux.org/archlinux/archiso/-/issues/37 .
2020-08-17 21:33:20 +03:00
nl6720
d52d36363e
releng: copy UEFI shell from airootfs instead of the host system
Fixes https://gitlab.archlinux.org/archlinux/archiso/-/issues/35 .
2020-07-30 18:31:25 +03:00
nl6720
b5f04dba2b
Install mkinitcpio-archiso-hooks in airootfs instead of copying the hooks from host 2020-07-30 12:55:12 +03:00
David Runge
e264b44682
Add license and basic documentation
LICENSE:
Add GPL-3.0 license.

{{archiso,configs}/*,.editorconfig,.gitlab-ci.yml}:
Add SPDX license identifier.

Makefile:
Add SPDX license identifier.
Install the `run_archiso.sh` script as global executable `run_archiso`.
Use -D and -t flags to install to install files more generically (without a previous call to install the directory).

README.rst:
Add README outlining the project's scope, how to build images from the profiles and how to test.

AUTHORS.rst:
Add list of all direct contributors to the repository.

CONTRIBUTING.rst:
Add basic contribution guidelines, explaining the linter and the license in use.

Closes #7
Closes #3
2020-07-29 14:27:48 +02:00