Package Details: archiso-git 63.r7.g376e928-1

Git Clone URL: https://aur.archlinux.org/archiso-git.git (read-only, click to copy)
Package Base: archiso-git
Description: Tools for creating Arch Linux live and install iso images
Upstream URL: https://gitlab.archlinux.org/archlinux/archiso
Keywords: releng
Licenses: GPL3
Conflicts: archiso
Provides: archiso
Submitter: Svenstaro
Maintainer: dvzrv (nl6720)
Last Packager: nl6720
Votes: 120
Popularity: 0.001360
First Submitted: 2009-04-28 03:43 (UTC)
Last Updated: 2022-05-28 06:46 (UTC)

Pinned Comments

nl6720 commented on 2020-07-30 17:02 (UTC) (edited on 2020-07-30 17:09 (UTC) by nl6720)

@amoka, that's a temporary issue. It will be solved when archiso 46 is released and lands in extra.

To use mkinitcpio-archiso-git instead of mkinitcpio-archiso:

  1. Setup a custom local repo and add mkinitcpio-archiso-git to it. Alternatively use an AUR helper that uses a custom local repo.
  2. Add the repo to configs/*/pacman.conf. There's an example at the end of the file.
  3. Replace mkinitcpio-archiso with mkinitcpio-archiso-git in configs/*/packages.x86_64.

Latest Comments

pacman41 commented on 2021-06-26 17:38 (UTC)

Importing GPG key fails?

:: Importing keys with gpg...
gpg: keyserver receive failed: No name
problem importing keys

amoka commented on 2021-06-05 16:13 (UTC)

All good now. Thank you!

nl6720 commented on 2021-06-05 05:58 (UTC)

Oops, I forgot to test mkarchiso without GPG signing.

https://gitlab.archlinux.org/archlinux/archiso/-/merge_requests/183 should fix it. If possible, please test!

amoka commented on 2021-06-05 01:01 (UTC)

With commit 3d6651ab I'm getting the following: ./archiso/mkarchiso: line 330: ARCHISO_GNUPG_FD: unbound variable

nl6720 commented on 2021-04-06 09:09 (UTC)

I was dumb, Bash's associative arrays are not ordered. This will need to be solved differently.

amoka commented on 2021-04-06 02:46 (UTC)

@nl6720 Actually, still having the same issue after changing permissions order to:

file_permissions=(
["/etc/sudoers.d/"]="0:0:440"
["/etc/sudoers.d"]="0:0:750"
)

Both directory and files within ends with 0440 mode!

Sorry for reporting bugs here, can't login to Arch's gitlab.

nl6720 commented on 2021-03-30 06:01 (UTC)

@amoka, the lines are processed in order. What if you change it to:

file_permissions=(
["/etc/sudoers.d/"]="0:0:440"
["/etc/sudoers.d"]="0:0:750"
)

amoka commented on 2021-03-29 19:51 (UTC)

file_permissions=(
["/etc/sudoers.d"]="0:0:750"
["/etc/sudoers.d/"]="0:0:440"
)

I have set this in my profiledef.sh. I want all files under sudoers.d to be 0440 mode (and keep the directory 750). So I listed the directory with trailing backslash ("/") as README.profile.rst says, but it changes the mode for the files and the directory itself to 0440 (not as desired - 750 for directory and 0440 for files within that directory).

aciddo commented on 2021-01-16 13:34 (UTC) (edited on 2021-01-16 13:37 (UTC) by aciddo)

Thank you, that worked. I had specified -w /archiso/work but it looks like that was not enough. Retried with mkarchiso -v -w /archiso/work -o /archiso/out /archiso which was successful.

nl6720 commented on 2021-01-16 12:48 (UTC)

The -w option requires a path, e.g.:

mkarchiso -v -w /tmp/archiso-tmp /path/to/profile/

aciddo commented on 2021-01-16 12:33 (UTC)

[mkarchiso] ERROR: Failed to set permissions on 'work/x86_64/airootfs/home/liveuser'. Outside of valid path.

I'm having this issue as well, specifying -w option does not seem to help either. I'm on "ROOT on ZFS" if that plays a role...

Yanni

nl6720 commented on 2020-12-03 08:03 (UTC)

Try to set the working directory explicitly with the -w option.

abumasood commented on 2020-12-03 00:52 (UTC) (edited on 2020-12-03 00:59 (UTC) by abumasood)

There seems to be an issue with 50.1-1 that did not exist in 49-1. Whenever I build the iso, it throws this error and stops the build process:

.
.
.
[mkarchiso] INFO: Done! Packages installed successfully.
[mkarchiso] INFO: Copying /etc/skel/* to user homes...
[mkarchiso] ERROR: Failed to set permissions on 'work/x86_64/airootfs/home/liveuser'. Outside of valid path.

liveuser exists in passwd and shadow. The process builds fine with 49-1. If I remove the liveuser entries from passwd and shadow, the build completes.

Is this a bug or am I missing anything?

Thank you

amoka commented on 2020-11-30 21:00 (UTC)

Thanks for the quick fix @dvzrv. Just tested, works great!

dvzrv commented on 2020-11-30 20:59 (UTC)

@amoka: Yes, you are right. I just fixed it though.

amoka commented on 2020-11-30 20:43 (UTC)

Regarding file permissions, it does not seem to respect my options in profiledef.sh:

I have this:

file_permissions=( ["/etc/shadow"]="0:0:400" ["/etc/sudoers.d"]="0:0:750" ["/etc/sudoers.d/01_editor"]="0:0:440" ["/etc/sudoers.d/02_wheel"]="0:0:440" ["/root"]="0:0:750" ["/usr/local/bin/choose-mirror"]="0:0:755" )

But for example, sudoers.d directory is 755 instead what set above, same for files are not created with 440 as set above!

dvzrv commented on 2020-11-30 18:31 (UTC)

@amoka: We have introduced file permissions in profiledef.sh.

Currently, I modify img_name="${iso_name}-${iso_version}-${arch}.iso" line in mkarchiso to achieve that.

Hm, that is currently not supported (but setting the individual parts is).

amoka commented on 2020-11-30 18:21 (UTC)

I started to get this warning with latest git build:

warning: directory permissions differ on /tmp/work/x86_64/airootfs/root/ filesystem: 755 package: 750

dvzrv commented on 2020-11-18 18:12 (UTC)

@amoka: Thanks for the heads up. I can reproduce that and already found a fix. Will add a merge request asap.

amoka commented on 2020-11-18 17:17 (UTC)

Getting exit code: 1 when running # mkarchiso -v -w /tmp/archiso-tmp /usr/share/archiso/configs/releng/ this started after Nov 14 commits.

bradwood commented on 2020-11-15 11:58 (UTC) (edited on 2020-11-15 12:24 (UTC) by bradwood)

Thanks @dvzrv, but I am still getting errors with that... I suspect my gpg setup is broken :/

❯ gpg --auto-key-locate wkd --search-keys dvzrv@archlinux.org

gpg: error searching keyserver: General error
gpg: keyserver search failed: General error

Any suggestions?

Thanks

UPDATE: I cloned the package manually and installed that way without issue. I think there is some kind of an issue happening between yay and gpg but it doesn't appear to be to do with this package. Thanks again for your help!

dvzrv commented on 2020-11-14 18:30 (UTC)

@bradwood: You can use WKD.

gpg --auto-key-locate wkd --search-keys dvzrv@archlinux.org

bradwood commented on 2020-11-14 15:05 (UTC)

:: PGP keys need importing:
 -> C7E7849466FE2358343588377258734B41C31549, required by: archiso-git
==> Import? [Y/n]
:: Importing keys with gpg...
gpg: keyserver receive failed: General error
problem importing keys

amoka commented on 2020-08-27 16:18 (UTC)

Can we build lz4 initrd instead of xz?

I enabled lz4 in archiso/airootfs/etc/mkinitcpio.conf and commented out xz and got the following error during build:

install: error writing 'archiso/work/mnt/efiboot/EFI/archiso/archiso.img': No space left on device

Obviously, I have disk space!

dvzrv commented on 2020-08-25 20:02 (UTC)

@amoka: Thanks for the heads up! Sorry, that's on my plate. I introduced that bug :-/ Should be fixed soon!

amoka commented on 2020-08-25 19:43 (UTC)

Getting this:

/usr/bin/mkarchiso: line 690: override_install_dir: unbound variable

When trying to run mkarchiso -v path/to/profileor mkarchiso -w path/to/work_dir -o path/to/out_dir path/to/profile

nl6720 commented on 2020-08-20 21:24 (UTC) (edited on 2020-08-20 21:27 (UTC) by nl6720)

A fix for the can't stat archiso.img issue is waiting in https://gitlab.archlinux.org/archlinux/archiso/-/merge_requests/68 .

The bootmodes are briefly explained in https://gitlab.archlinux.org/archlinux/archiso/-/commit/7c2247f615ecdff8d236ac90c4bec1c3d255a497 . Basically:

  • bios_syslinux.mbr writes SYSLINUX MBR boot code to the ISO image's MBR. It's used for BIOS booting when the image is written to disk with dd.
  • bios.syslinux.eltorito provides El Torito booting. It's used for BIOS booting from an optical disc.
  • uefi-x64.systemd-boot.esp writes the FAT image's (efiboot.img) location in the ISO image's partition table (currently MBR, but I'm thinking about changing this; that's why the option was renamed from the initial uefi-x64.systemd-boot.mbr; suggestions for a better name are welcome) as an EFI system partition. It's used for UEFI booting when the image is written to disk with dd.
  • uefi-x64.systemd-boot.eltorito lists the FAT image (efiboot.img) in El Torito. It's used for UEFI booting from an optical disc.

Note that currently for BIOS booting both bios_syslinux.mbr and bios.syslinux.eltorito must be used, and for UEFI: both uefi-x64.systemd-boot.esp and uefi-x64.systemd-boot.eltorito.

amoka commented on 2020-08-20 19:22 (UTC)

Could you please explain a bit more about the new bootmodes options?

I boot my systems in UEFI mode only, so I modified bootmodes in profiledef.sh to:

bootmodes=('uefi-x64.systemd-boot.esp' 'uefi-x64.systemd-boot.eltorito')

But the build fails with error related to "can't stat archiso.img"

dvzrv commented on 2020-07-30 20:58 (UTC)

The package is now updated to v46 (which should work with the version of mkinitcpio-archiso in [extra]).

If you want to test latest changes in mkinitcpio-archiso please follow the instructions as outlined by nl6720.

amoka commented on 2020-07-30 19:28 (UTC)

@nl6720 Thanks. Working fine with customrepo for now!

nl6720 commented on 2020-07-30 17:02 (UTC) (edited on 2020-07-30 17:09 (UTC) by nl6720)

@amoka, that's a temporary issue. It will be solved when archiso 46 is released and lands in extra.

To use mkinitcpio-archiso-git instead of mkinitcpio-archiso:

  1. Setup a custom local repo and add mkinitcpio-archiso-git to it. Alternatively use an AUR helper that uses a custom local repo.
  2. Add the repo to configs/*/pacman.conf. There's an example at the end of the file.
  3. Replace mkinitcpio-archiso with mkinitcpio-archiso-git in configs/*/packages.x86_64.

amoka commented on 2020-07-30 16:47 (UTC) (edited on 2020-07-30 16:48 (UTC) by amoka)

Failed to build with this:

error: target not found: mkinitcpio-archiso ==> ERROR: Failed to install packages to new root

amoka commented on 2020-07-20 18:53 (UTC)

@nl6720 Wow! Thanks, much appreciated!

I agree, it's a little more work than before with the script, but it works just as fine.

I also created /etc/sudoers.d/ with a custom file for sudo access.

You guys are the best :)

nl6720 commented on 2020-07-20 09:49 (UTC)

Yes customize_airootfs.sh is going away. After it's gone, creating additional users is going to be ugly. https://gitlab.archlinux.org/archlinux/archiso/-/merge_requests/44/diffs?commit_id=5b1d02414490246035694a4bc30be8e83f342152 should improve things regarding file permissions.

Basically you will need to manually edit /etc/passwd, /etc/shadow, /etc/group and /etc/gshadow. For example:

configs/releng/airootfs/etc/passwd:

root:x:0:0:root:/root:/usr/bin/zsh
testuser:x:1000:1000::/home/testuser:/usr/bin/zsh

Create a password with openssl passwd -6 and add it to configs/releng/airootfs/etc/shadow:

root::14871::::::
testuser:$6$testsalt$tJbUl1kXqW33QAR3uSZ526jhi2VR/8b5Oc.fgGcuj1amRP1gtYnGoqbDwnND9jnHaR.tZ1.Uag0nWYDafTUxX0:14871::::::

Add the user's group and the groups which they'll part of to configs/releng/airootfs/etc/group:

root:x:0:root
adm:x:4:testuser
wheel:x:10:testuser
testuser:x:1000:

Create configs/releng/airootfs/etc/gshadow:

root:::root
testuser:!::

amoka commented on 2020-07-19 19:30 (UTC)

Thanks @nl6720 for the awesome work!

Sorry if it's not related, but it looks like the customize_airootfs.sh script is being deprecated (soon): https://gitlab.archlinux.org/archlinux/archiso/-/merge_requests/44/diffs?commit_id=e94e1b1f4123a28b0535b9f15b2665ff32c386f9

In this case, what's the best way to add a non-root user (with proper permissions and home directory)?

dvzrv commented on 2020-05-31 17:02 (UTC)

The archiso upstream has moved to Arch Linux' gitlab instance: https://gitlab.archlinux.org/archlinux/archiso

Below you can find a patch for the current changes (e.g. edk2-shell is now a required dependency):

diff --git i/PKGBUILD w/PKGBUILD
index 1346115..445ddfe 100644
--- i/PKGBUILD
+++ w/PKGBUILD
@@ -1,30 +1,31 @@
 # Maintainer: Sebastian Lau <lauseb644@gmail.com>
+# Contributor: David Runge <dvzrv@archlinux.org>
 # Contributor: Sven-Hendrik Haase <sh@lutzhaase.com>

-_pkgname=archiso
-pkgname="${_pkgname}-git"
-pkgver=33.1.g59c2573
+_name=archiso
+pkgname=archiso-git
+pkgver=43.10.gbffda98
 pkgrel=1
 pkgdesc="Arch Linux livecd/liveusb generation scripts"
 arch=('any')
-url="http://archlinux.org"
+url="https://gitlab.archlinux.org/archlinux/archiso"
 license=('GPL')
-depends=('libisoburn' 'squashfs-tools' 'btrfs-progs' 'dosfstools' 'lynx' 'arch-install-scripts')
-optdepends=('qemu: quickly test isos')
+depends=('arch-install-scripts' 'btrfs-progs' 'curl' 'dosfstools' 'edk2-shell'
+'libisoburn' 'lynx' 'squashfs-tools')
 makedepends=('git')
+optdepends=('qemu: quickly test isos')
 provides=('archiso')
 conflicts=('archiso')
-source=("git://projects.archlinux.org/${_pkgname}.git")
+source=("git+https://gitlab.archlinux.org/archlinux/${_name}.git#branch=issues/10")
 md5sums=('SKIP')

 pkgver() {
-  cd "${srcdir}/${_pkgname}"
+  cd "${_name}"
   git describe --long | sed 's/-/./g;s/v//'
 }

 package() {
-  cd "${srcdir}/${_pkgname}"
-
+  cd "${_name}"
   make DESTDIR="${pkgdir}/" install
 }

WonderWoofy commented on 2020-05-07 19:55 (UTC)

@Zeioth, this seems like something you should report upstream to Gerardo. From what you've posted, it doesn't appear to be a packaging bug.

https://projects.archlinux.org/archiso.git

Zeioth commented on 2020-05-07 01:14 (UTC) (edited on 2020-05-07 01:24 (UTC) by Zeioth)

[mkarchiso] INFO: Configuration settings [mkarchiso] INFO: Command: run [mkarchiso] INFO: Architecture: x86_64 [mkarchiso] INFO: Working directory: work/x86_64 [mkarchiso] INFO: Installation directory: arch [mkarchiso] INFO: Run command: mkinitcpio -c /etc/mkinitcpio-archiso.conf -k /boot/vmlinuz-linux -g /boot/archiso.img

==> WARNING: work/x86_64/airootfs is not a mountpoint. This may have undesirable side effects. mount: /home/zeioth/workspaces/git-forks/livecd/work/x86_64/airootfs/proc: proc already mounted on /proc. ==> ERROR: failed to setup chroot work/x86_64/airootfs

cheesehead544 commented on 2018-07-20 14:02 (UTC) (edited on 2018-07-20 14:04 (UTC) by cheesehead544)

the default packages.x86_64 is not empty. i don't think this was intended as it looks like it's the config for a pre-configured rescue / remote help disc(clonezilla, ddrescue, openssh, ppp, openvpn, etc). i have rebuilt it manually from aur, and checked the(not-installed) file to check if it wasn't just a error on my side.(edit: i mean the packages.x86_64 from the releng profile)

h4pp1 commented on 2018-01-11 18:14 (UTC)

chroot: failed to run command 'mkinitcpio': No such file or directory

nullptr_t commented on 2016-06-15 11:26 (UTC)

You mean I should add efitools as dependency?

r4um commented on 2016-06-14 19:27 (UTC)

Needs update prebootloader is replaced by efitools

nullptr_t commented on 2015-04-13 12:01 (UTC)

Hi, I adopted the package and AUR parses everything right now. I'll update the package ASAP after a commit to trigger a rebuild with an updated version.

WonderWoofy commented on 2014-10-09 20:19 (UTC)

@sanerb, That link is essentially the same as what I am using. I guess the AUR doesn't parse ${pkgname%-git} quite right. But git can be synced to git://projects.archlinux.org/archiso.git or the one you mentioned. Check out the available clone options of https://projects.archlinux.org/archiso.git/ and you will see what I am talking about. In any case, I am going to orphan this. The official repo typically gets updated nearly as soon as changes get pushed to git. Also, I am much busier now that I was when I adopted the package. So feel free to pick it up and make whatever changes you see as necessary.

sanerb commented on 2014-10-09 16:36 (UTC)

just a bit of pedantry, but you may want to update the url to match that of stable/in-repo: https://projects.archlinux.org/archiso.git/ OR the wiki article (my personal recommendation): https://wiki.archlinux.org/index.php/archiso

WonderWoofy commented on 2013-10-31 00:46 (UTC)

Okay, I've adopted this and set it up to use the pacman 4.1 vcs capabilities. So for anyone using this package, this may not update automatically, as the versioning has changed.

Svenstaro commented on 2013-10-30 09:48 (UTC)

Go ahead and adopt the package.

WonderWoofy commented on 2013-10-22 23:01 (UTC)

I updated the PKGBUILD slightly in order to take advantage of the pacman 4.1 vcs functionality. http://rapidshare.com/share/14F38C27F92EEED67C301C189F14EDFF This also uses the new pkgver function in order to update the version on every build.

Korthaerd commented on 2013-09-23 13:59 (UTC)

Since the commit 997dabbce2f8b621dacdac268212c4cb1be8956d archiso need a new depedence : arch-install-scripts.

luolimao commented on 2012-10-14 01:08 (UTC)

The original 'archiso' package in [extra] considers lnyx and dosfstools as dependencies, so it makes more sense to leave it that way for the -git version.

kwirkie commented on 2012-08-23 21:38 (UTC)

Hi. The 'lynx' and 'dosfstools' are only required for the configs/releng build.sh, so both should be optional dependencies. Thanks :)

Svenstaro commented on 2012-08-12 16:50 (UTC)

Fixed.

commented on 2012-08-10 12:20 (UTC)

Your PKGBUILD currently builds an empty package! Please remove the last $_gitname on the line above make [...] install, thanks. Also, build.sh needs more deps than you've added: dosfstools and lynx (as stated in the README). Thanks in advance!

commented on 2012-04-21 21:42 (UTC)

Hi! build.sh scripts use mkfs.vfat from dosfstools package. We should depend on it Thanks, keep on the good work

Svenstaro commented on 2012-04-19 16:48 (UTC)

Write arch rel-eng mailing list a patch or discuss a problem. It is a very responsive mailing list.

commented on 2012-04-19 16:46 (UTC)

I would, but I can't seem to find how to do it.

Svenstaro commented on 2012-04-19 11:37 (UTC)

Well I'm not going to do downstream patching. Report any issues and a patches you have to upstream.

commented on 2012-04-19 11:34 (UTC)

After some tests the replacement command would actually be: cp -arv "${_fs_src}/." "${work_dir}/mnt/${_src}/" If the dot is missing then it will copy the directory, instead of it's contents. This will make rsync unnecessary.

commented on 2012-04-19 09:15 (UTC)

In order to remove the rsync dependency you can use this command: < cp -arv "${_fs_src}/" "${work_dir}/mnt/${_src}/" >

Svenstaro commented on 2012-04-19 08:47 (UTC)

Added rsync dep. Report the loop device stuff to upstream and have them add a check.

commented on 2012-04-19 07:54 (UTC)

rsync dependencies here: mkarchiso, line 361: rsync -aH "${_fs_src}/" "${work_dir}/mnt/${_src}/" Also rsync hangs sometimes, and the only solution is a hard reset (as in from the button). I haven't found any checks for the loop devices! mkarchiso, line 97: mount "${_src}" "${_dst}" It doesn't throw any error if loop devices are not present! Instead it tries to unmount it later.

Svenstaro commented on 2012-04-18 16:57 (UTC)

Which components depends on rsync? Also the script itself should check for loop devices.

commented on 2012-04-18 16:56 (UTC)

This package also depends on rsync !!!! Also it fails if you don't have any loop devices available (no loop module in kernel), it should check for that. AUR packages can be installed if you modify the build script.

Svenstaro commented on 2012-03-22 04:46 (UTC)

Done.

djgera commented on 2012-03-21 17:18 (UTC)

@Svenstaro: Please update depends=("libisoburn" "squashfs-tools")

Svenstaro commented on 2011-08-29 17:51 (UTC)

Oh right sorry I forgot.

djgera commented on 2011-08-29 17:43 (UTC)

@Svenstaro: Please update depends=("devtools" "libisoburn" "squashfs-tools")

djgera commented on 2011-08-19 18:57 (UTC)

@Svenstaro: Please update depends=("cdrkit" "devtools" "squashfs-tools" "syslinux")

Svenstaro commented on 2010-12-31 09:58 (UTC)

You should create a local database and insert your packages into there. Then include this database before all your other ones in pacman.conf and you'll be fine.

CPUnltd commented on 2010-12-31 09:56 (UTC)

does archiso support installing AUR packages? I don't see any information specifically stating such, so I felt it best to ask here. I'm looking to attempt some remaster work and would like to know how I'd pull off adding AUR packages to my liveimg... thanks in advance!

sotrud_nik commented on 2010-12-01 03:53 (UTC)

http://mailman.archlinux.org/pipermail/arch-releng/2010-December/001280.html Gerardo wrote the RFC implementation, *cool*

Svenstaro commented on 2010-11-09 11:34 (UTC)

Try and get your patch into archiso mainline. I'm not patching this package, it will stay vanilla. If your patch is well done, you will have no trouble getting it upstream.

sotrud_nik commented on 2010-11-09 04:47 (UTC)

Here is a little patch to support fromiso boot option, works with GRUB2 http://mail.kazgrid.kz/repo/archiso-fromiso.patch You should define your media which contains ISO file as /dev/sdxy/archiso.iso For example, here is a part from my grub.cfg menuentry "Archik fromiso" { loopback loop /archik-1.07-i686.iso linux (loop)/boot/vmlinuz26 fromiso=/dev/sda1/archik-1.07-i686.iso initrd (loop)/boot/myarch.img }

Svenstaro commented on 2010-07-10 10:06 (UTC)

You can use this to make anything you want. See the wiki article.

commented on 2010-07-10 01:40 (UTC)

does this works for making an arch distro that can be installed not just used as livecd?

Svenstaro commented on 2010-03-24 02:29 (UTC)

Updated. I'm somewhat saddened to see the tftpd feature go though. Any chance it will return?

djgera commented on 2010-03-23 23:47 (UTC)

My pxe_nbd branch is merged now in master, so mkinitcpio-nfs-utils and nbd should be added as depends.