{"id":21366329,"url":"https://github.com/shakahl/archlinux-archiso-scripts","last_synced_at":"2025-10-05T14:29:32.140Z","repository":{"id":84941672,"uuid":"584550547","full_name":"shakahl/archlinux-archiso-scripts","owner":"shakahl","description":null,"archived":false,"fork":false,"pushed_at":"2023-12-15T11:35:17.000Z","size":1971,"stargazers_count":0,"open_issues_count":1,"forks_count":0,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-01-22T20:11:46.269Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Shell","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/shakahl.png","metadata":{"files":{"readme":"README.rst","changelog":"CHANGELOG.rst","contributing":"CONTRIBUTING.rst","funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":"AUTHORS.rst"}},"created_at":"2023-01-02T22:21:29.000Z","updated_at":"2023-01-02T22:23:13.000Z","dependencies_parsed_at":"2023-03-13T03:32:30.232Z","dependency_job_id":null,"html_url":"https://github.com/shakahl/archlinux-archiso-scripts","commit_stats":null,"previous_names":[],"tags_count":74,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/shakahl%2Farchlinux-archiso-scripts","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/shakahl%2Farchlinux-archiso-scripts/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/shakahl%2Farchlinux-archiso-scripts/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/shakahl%2Farchlinux-archiso-scripts/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/shakahl","download_url":"https://codeload.github.com/shakahl/archlinux-archiso-scripts/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":243841206,"owners_count":20356441,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-11-22T07:14:36.036Z","updated_at":"2025-10-05T14:29:27.103Z","avatar_url":"https://github.com/shakahl.png","language":"Shell","readme":"=======\narchiso\n=======\n\nThe archiso project features scripts and configuration templates to build installation media (*.iso* images and\n*.tar.gz* bootstrap images) as well as netboot artifacts for BIOS and UEFI based systems on the x86_64 architecture.\nCurrently creating the images is only supported on Arch Linux but may work on other operating systems as well.\n\nRequirements\n============\n\nThe following packages need to be installed to be able to create an image with the included scripts:\n\n* arch-install-scripts\n* awk\n* dosfstools\n* e2fsprogs\n* erofs-utils (optional)\n* findutils\n* grub\n* gzip\n* libarchive\n* libisoburn\n* mtools\n* openssl\n* pacman\n* sed\n* squashfs-tools\n\nFor running the images in a virtualized test environment the following packages are required:\n\n* edk2-ovmf\n* qemu\n\nFor linting the shell scripts the following package is required:\n\n* shellcheck\n\nProfiles\n========\n\nArchiso comes with two profiles: **baseline** and **releng**. While both can serve as starting points for creating\ncustom live media, **releng** is used to create the monthly installation medium.\nThey can be found below `configs/baseline/ \u003cconfigs/baseline/\u003e`_  and `configs/releng/ \u003cconfigs/releng/\u003e`_\n(respectively). Both profiles are defined by files to be placed into overlays (e.g. airootfs ‎→‎ the image's ``/``).\n\nRead `README.profile.rst \u003cdocs/README.profile.rst\u003e`_ to learn more about how to create profiles.\n\nCreate images\n=============\n\nUsually the archiso tools are installed as a package. However, it is also possible to clone this repository and create\nimages without installing archiso system-wide.\n\nAs filesystems are created and various mount actions have to be done when creating an image, **root** is required to run\nthe scripts.\n\nWhen archiso is installed system-wide and the modification of a profile is desired, it is necessary to copy it to a\nwriteable location, as ``/usr/share/archiso`` is tracked by the package manager and only writeable by root (changes will\nbe lost on update).\n\nThe examples below will assume an unmodified profile in a system location (unless noted otherwise).\n\nIt is advised to consult the help output of **mkarchiso**:\n\n.. code:: sh\n\n   mkarchiso -h\n\nCreate images with packaged archiso\n-----------------------------------\n\n.. code:: sh\n\n   mkarchiso -w path/to/work_dir -o path/to/out_dir path/to/profile\n\nCreate images with local clone\n------------------------------\n\nClone this repository and run:\n\n.. code:: sh\n\n   ./archiso/mkarchiso -w path/to/work_dir -o path/to/out_dir path/to/profile\n\nTesting\n=======\n\nThe convenience script **run_archiso** is provided to boot into the medium using qemu.\nIt is advised to consult its help output:\n\n.. code:: sh\n\n   run_archiso -h\n\nRun the following to boot the iso using BIOS:\n\n.. code:: sh\n\n   run_archiso -i path/to/an/arch.iso\n\nRun the following to boot the iso using UEFI:\n\n.. code:: sh\n\n   run_archiso -u -i path/to/an/arch.iso\n\nThe script can of course also be executed from this repository:\n\n\n.. code:: sh\n\n   ./scripts/run_archiso.sh -i path/to/an/arch.iso\n\nInstallation\n============\n\nTo install archiso system-wide use the included ``Makefile``:\n\n.. code:: sh\n\n   make install\n\nOptional features\n\nThe iso image contains a GRUB environment block holding the iso name and version. This allows to\nboot the iso image from GRUB with a version specific cow directory to mitigate overlay clashes.\n\n.. code:: sh\n\n   loopback loop archlinux.iso\n   load_env -f (loop)/arch/grubenv\n   linux (loop)/arch/boot/x86_64/vmlinuz-linux ... \\\n       cow_directory=${NAME}/${VERSION} ...\n   initrd (loop)/arch/boot/x86_64/initramfs-linux-lts.img\n\nContribute\n==========\n\nDevelopment of archiso takes place on Arch Linux' Gitlab: https://gitlab.archlinux.org/archlinux/archiso.\n\nPlease read our distribution-wide `Code of Conduct \u003chttps://wiki.archlinux.org/title/Code_of_conduct\u003e`_ before\ncontributing, to understand what actions will and will not be tolerated.\n\nRead our `contributing guide \u003cCONTRIBUTING.rst\u003e`_ to learn more about how to provide fixes or improvements for the code\nbase.\n\nDiscussion around archiso takes place on the `arch-releng mailing list\n\u003chttps://lists.archlinux.org/listinfo/arch-releng\u003e`_ and in `#archlinux-releng\n\u003circs://irc.libera.chat/archlinux-releng\u003e`_ on `Libera Chat \u003chttps://libera.chat/\u003e`_.\n\nAll past and present authors of archiso are listed in `AUTHORS \u003cAUTHORS.rst\u003e`_.\n\nReleases\n========\n\n`Releases of archiso \u003chttps://gitlab.archlinux.org/archlinux/archiso/-/tags\u003e`_ are created by their current maintainers\n\n- `David Runge \u003chttps://gitlab.archlinux.org/dvzrv\u003e`_ (``991F6E3F0765CF6295888586139B09DA5BF0D338``)\n- `nl6720 \u003chttps://gitlab.archlinux.org/nl6720\u003e`_ (``BB8E6F1B81CF0BB301D74D1CBF425A01E68B38EF``)\n\nTags are signed using respective PGP keys.\n\nTo verify a tag, first import the relevant PGP key(s):\n\n.. code:: sh\n\n  gpg --auto-key-locate wkd --search-keys dvzrv@archlinux.org\n\nor\n\n.. code:: sh\n\n  gpg --auto-key-locate keyserver --recv-keys BB8E6F1B81CF0BB301D74D1CBF425A01E68B38EF\n\nAfterwards a tag can be verified from a clone of this repository:\n\n.. code:: sh\n\n  git verify-tag \u003ctag\u003e\n\nLicense\n=======\n\nArchiso is licensed under the terms of the **GPL-3.0-or-later** (see `LICENSE \u003cLICENSE\u003e`_).\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fshakahl%2Farchlinux-archiso-scripts","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fshakahl%2Farchlinux-archiso-scripts","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fshakahl%2Farchlinux-archiso-scripts/lists"}