From ArchWiki
Revision as of 02:52, 4 April 2012 by Djgera (talk | contribs) (archiso hook is complaining about missing modules)
Jump to: navigation, search

Hi thar! If you guys have any questions or trouble when following this guide, please do post it here, I will come back to you!

--Svenstaro 19:14, 3 June 2009 (EDT)

Errors during build

During the build process, I receive a number of errors (I don't know if they are fatal):

==> Starting build: 3.0-ARCH
 -> Parsing hook: [base]
 -> Parsing hook: [udev]
 -> Parsing hook: [memdisk]
 -> Parsing hook: [archiso]
 -> Parsing hook: [archiso_pxe_nbd]
==> ERROR: file not found: `/tmp/baseline/work/root-image/usr/sbin/nbd-client'
==> ERROR: file not found: `/tmp/baseline/work/root-image/lib/initcpio/ipconfig'
==> ERROR: file not found: `/tmp/baseline/work/root-image/lib/initcpio/hooks/archiso_pxe_nbd'
 -> Parsing hook: [archiso_loop_mnt]
==> ERROR: file not found: `/tmp/baseline/work/root-image/lib/initcpio/hooks/archiso_loop_mnt'

These files however are within the /lib/initcpio/hooks/ directory. Are these the same ones it is looking for?

Each hook must be present in root-image. See make_setup_mkinitcpio()
Also hooks has some build requirements. See For these hooks needs these packages (on target root-image) and how this is implemented in releng make_basefs()
Djgera 10:37, 23 August 2011 (EDT)
[mkarchiso] INFO: Creating ISO image...
/usr/sbin/mkarchiso: line 318: mkisofs: command not found
See Build requirements also this is present in the wiki.
Djgera 10:37, 23 August 2011 (EDT)

Also, where does one put the packages.list file? I've tried placing it within the same directory as the build script and mkinitcpio.conf file, but it does not seem to read it.

On any place where you reference inside your If you are working with configs/baseline profile, you need to add such functionallity. See configs/releng make_packages() for more advanced things like this. Baseline profile should be the the most basic as posible.
Djgera 10:37, 23 August 2011 (EDT)

Thank you.

NO iso file outpu

My output of

   [root@myhost releng]# ./ build single netinstall


   [mkarchiso] INFO: Configuration settings
   [mkarchiso] INFO:                   Command:   create
   [mkarchiso] INFO:              Architecture:   x86_64
   [mkarchiso] INFO:         Working directory:   work/x86_64
   [mkarchiso] INFO:    Installation directory:   arch
   [mkarchiso] INFO:        Pacman config file:   /etc/pacman.conf
   [mkarchiso] INFO:                  Packages:   base
   [mkarchiso] INFO: Installing packages to 'work/x86_64/root-image/'...

And here is the structure of my /tmp/releng

   aitab.core	     core.exclude.x86_64  mkinitcpio.conf  packages.x86_64  syslinux	   work
   aitab.netinstall  core.exclude.i686  isolinux		  packages.i686    root-image	    syslinux.dual

I cannot find any iso file.....Is there anyone could help me?

something is wrong with your mirror. Enable verbose mode to see details Djgera 12:55, 8 October 2011 (EDT)

Issue with mkarchroot

Upon issuing the command to create a base chroot (mkarchroot /home/user/live base), I get the following errors for all but a few of the packages that are being installed:

"call to execv failed (Permission denied)"

"error: command failed to execute correctly"

Once the package installation process has finished, I then get:

chroot: failed to run command `/usr/sbin/locale-gen': Permission denied

chroot: failed to run command `/bin/findmnt': Permission denied

Any ideas what is up? The previous versions from git seemed to work fine.

Full pastebin out is here: Thanks.

filesystem mounted as noexec Djgera 21:18, 15 November 2011 (EST)

Ha! Sorry, I really can't believe I missed that. Thanks.

Edit removing mkarchroot references

I might be misunderstanding the article, but it seems that the edit made on 19th March 2012 was incomplete.

The reasons for the revision was "update according to recent archiso changes (mkarchroot from devtools not used anymore)", so all references to mkarchroot were removed from the section "Building a custom Arch Linux live media. (configs/releng)", however the end of this section refers readers directly to the section "Configure our live medium".

In this section it is assumed that you have created a chroot and are working within it.

My concern is that there is no explanation of how to create this chroot in the article, and no indication if the first section is followed that one should have created one.

Please correct me if I have someone misunderstood or misread this article, thanks.

-- kYd (03/April/2012; 18:33)

Can we get some clarification on this please. Removing the mkarchroot section has rendered the article useless as it seems a pretty vital step.

I used mkarchroot just yesterday and made an iso fine, so it seems to still be applicable.

Thanks. ---

There is no need to use mkarchroot anymore because chroot things are now part of mkarchiso. You can work safe on your system directly, because mkarchiso/ does not use anymore things from "host system". This chroot was needed only if your system differs to much from "standard Arch" or if you want to build an i686-iso on x86_64 host. Another example, long time ago I changed the execution of mkinitcpio from "host system" (using -B BASEDIR) to mkarchiso/mkarchroot (root-image)
Now this is managed directly by mkarchiso with run command and also you can directly build an i686-iso on x86_64 host. See for example, the new build mode "all" in releng/
Maybe in the article should clarify about that when say "chroot" is refering to chroot on "$work_dir/root-image" made by mkarchiso.
In other words this what you made previously:
mkarchroot (optional but recommended) -> -> mkarchiso -> mkarchroot [root-image]
Now: -> mkarchiso [root-image]
Of course, you can still work on a chroot made by mkarchroot, but you will have issues with pacman signed packages.
Djgera 15:02, 3 April 2012 (EDT)