You are not logged in.

#1 2011-08-27 12:54:25

ArchMed
Member
Registered: 2011-08-27
Posts: 20

[SOLVED] Archiso - i686 build on X86_64 - invalid architecture error

I am trying to build an i686 version of Arch on a x86_64 Arch install. This is the first time I am trying anything of the sort and I appear to have the following issue where the package architecture seems to conflict.
The system is happy to create a 64-bit version but I can't get the 32bit to work at all and it gets caught in the first step. The terminal output is as follows:

[root@ARCH tmp]# linux32 mkarchroot /tmp/arch32chroot base
:: Synchronizing package databases...
 core                     44.7K   38.3K/s 00:00:01 [######################] 100%
 extra                   508.4K   97.6K/s 00:00:05 [######################] 100%
 community               450.6K   86.2K/s 00:00:05 [######################] 100%
 multilib                 26.6K   50.7K/s 00:00:01 [######################] 100%
:: There are 57 members in group base:
:: Repository core
   1) bash  2) binutils  3) bzip2  4) coreutils  5) cronie  6) cryptsetup
   7) device-mapper  8) dhcpcd  9) diffutils  10) e2fsprogs  11) file
   12) filesystem  13) findutils  14) gawk  15) gcc-libs  16) gettext
   17) glibc  18) grep  19) grub  20) gzip  21) heirloom-mailx  22) initscripts
   23) iputils  24) jfsutils  25) less  26) libpipeline  27) licenses
   28) linux  29) logrotate  30) lvm2  31) man-db  32) man-pages  33) mdadm
   34) nano  35) pacman  36) pciutils  37) pcmciautils  38) perl  39) ppp
   40) procps  41) psmisc  42) reiserfsprogs  43) sed  44) shadow
   45) sysfsutils  46) syslog-ng  47) sysvinit  48) tar  49) texinfo  50) udev
   51) usbutils  52) util-linux  53) vi  54) wget  55) which
   56) wpa_supplicant  57) xfsprogs

Enter a selection (default=all): 
error: failed to prepare transaction (package architecture is not valid)
:: package bash-4.2.010-1-x86_64 does not have a valid architecture
:: package binutils-2.21.1-2-x86_64 does not have a valid architecture
:: package bzip2-1.0.6-1-x86_64 does not have a valid architecture
:: package coreutils-8.12-3-x86_64 does not have a valid architecture
:: package cronie-1.4.8-1-x86_64 does not have a valid architecture
:: package cryptsetup-1.3.1-2-x86_64 does not have a valid architecture
:: package device-mapper-2.02.88-1-x86_64 does not have a valid architecture
:: package dhcpcd-5.2.12-1-x86_64 does not have a valid architecture
:: package diffutils-3.1-1-x86_64 does not have a valid architecture
:: package e2fsprogs-1.41.14-1-x86_64 does not have a valid architecture
:: package file-5.08-1-x86_64 does not have a valid architecture
:: package findutils-4.4.2-3-x86_64 does not have a valid architecture
:: package gawk-4.0.0-1-x86_64 does not have a valid architecture
:: package gcc-libs-4.6.1-4-x86_64 does not have a valid architecture
:: package gettext-0.18.1.1-3-x86_64 does not have a valid architecture
:: package glibc-2.14-5-x86_64 does not have a valid architecture
:: package grep-2.9-1-x86_64 does not have a valid architecture
:: package grub-0.97-20-x86_64 does not have a valid architecture
:: package gzip-1.4-2-x86_64 does not have a valid architecture
:: package heirloom-mailx-12.5-2-x86_64 does not have a valid architecture
:: package initscripts-2011.07.3-1-x86_64 does not have a valid architecture
:: package iputils-20101006-1-x86_64 does not have a valid architecture
:: package jfsutils-1.1.15-2-x86_64 does not have a valid architecture
:: package less-444-1-x86_64 does not have a valid architecture
:: package libpipeline-1.2.0-1-x86_64 does not have a valid architecture
:: package linux-3.0.3-1-x86_64 does not have a valid architecture
:: package logrotate-3.8.0-2-x86_64 does not have a valid architecture
:: package lvm2-2.02.88-1-x86_64 does not have a valid architecture
:: package man-db-2.6.0.2-2-x86_64 does not have a valid architecture
:: package mdadm-3.2.2-3-x86_64 does not have a valid architecture
:: package nano-2.2.6-1-x86_64 does not have a valid architecture
:: package pacman-3.5.4-4-x86_64 does not have a valid architecture
:: package pciutils-3.1.7-4-x86_64 does not have a valid architecture
:: package pcmciautils-018-1-x86_64 does not have a valid architecture
:: package perl-5.14.1-3-x86_64 does not have a valid architecture
:: package ppp-2.4.5-2-x86_64 does not have a valid architecture
:: package procps-3.2.8-4-x86_64 does not have a valid architecture
:: package psmisc-22.14-1-x86_64 does not have a valid architecture
:: package reiserfsprogs-3.6.21-3-x86_64 does not have a valid architecture
:: package sed-4.2.1-3-x86_64 does not have a valid architecture
:: package shadow-4.1.4.3-2-x86_64 does not have a valid architecture
:: package sysfsutils-2.1.0-6-x86_64 does not have a valid architecture
:: package syslog-ng-3.2.4-3-x86_64 does not have a valid architecture
:: package sysvinit-2.88-2-x86_64 does not have a valid architecture
:: package tar-1.26-1-x86_64 does not have a valid architecture
:: package texinfo-4.13a-5-x86_64 does not have a valid architecture
:: package udev-173-3-x86_64 does not have a valid architecture
:: package usbutils-004-1-x86_64 does not have a valid architecture
:: package util-linux-2.19.1-3-x86_64 does not have a valid architecture
:: package vi-1:050325-1-x86_64 does not have a valid architecture
:: package wget-1.13.1-1-x86_64 does not have a valid architecture
:: package which-2.20-4-x86_64 does not have a valid architecture
:: package wpa_supplicant-0.7.3-3-x86_64 does not have a valid architecture
:: package xfsprogs-3.1.5-1-x86_64 does not have a valid architecture
error: failed to install all packages
[root@ARCH tmp]# 

Thank you

Last edited by ArchMed (2011-09-06 08:48:10)

Offline

#2 2011-08-27 16:27:54

djgera
Developer
From: Buenos Aires - Argentina
Registered: 2008-12-24
Posts: 723
Website

Re: [SOLVED] Archiso - i686 build on X86_64 - invalid architecture error

Looks like you have a fixed $arch in your pacman.conf

Check it

[options]
Architecture = auto

Offline

#3 2011-08-28 02:33:14

ArchMed
Member
Registered: 2011-08-27
Posts: 20

Re: [SOLVED] Archiso - i686 build on X86_64 - invalid architecture error

First thing I checked was /etc/pacman.conf
I also tried to force the arch to x86_64 with no success. Edit - I mean to say: i686 with no success.
Anything else I could be missing?

Pacman.conf

#
# /etc/pacman.conf
#
# See the pacman.conf(5) manpage for option and repository directives

#
# GENERAL OPTIONS
#
[options]
# The following paths are commented out with their default values listed.
# If you wish to use different paths, uncomment and update the paths.
#RootDir     = /
#DBPath      = /var/lib/pacman/
#CacheDir    = /var/cache/pacman/pkg/
#LogFile     = /var/log/pacman.log
HoldPkg     = pacman glibc
# If upgrades are available for these packages they will be asked for first
SyncFirst   = pacman
#XferCommand = /usr/bin/wget --passive-ftp -c -O %o %u
#XferCommand = /usr/bin/curl -C - -f %u > %o
#CleanMethod = KeepInstalled
Architecture = auto

# Pacman won't upgrade packages listed in IgnorePkg and members of IgnoreGroup
#IgnorePkg   =
#IgnoreGroup =

#NoUpgrade   =
#NoExtract   =

# Misc options (all disabled by default)
#UseSyslog
#ShowSize
#UseDelta
#TotalDownload
#CheckSpace

#
# REPOSITORIES
#   - can be defined here or included from another file
#   - pacman will search repositories in the order defined here
#   - local/custom mirrors can be added here or in separate files
#   - repositories listed first will take precedence when packages
#     have identical names, regardless of version number
#   - URLs will have $repo replaced by the name of the current repo
#   - URLs will have $arch replaced by the name of the architecture
#
# Repository entries are of the format:
#       [repo-name]
#       Server = ServerName
#       Include = IncludePath
#
# The header [repo-name] is crucial - it must be present and
# uncommented to enable the repo.
#

# The testing repositories are disabled by default. To enable, uncomment the
# repo name header and Include lines. You can add preferred servers immediately
# after the header, and they will be used before the default mirrors.

#[testing]
#Include = /etc/pacman.d/mirrorlist

[core]
Include = /etc/pacman.d/mirrorlist

[extra]
Include = /etc/pacman.d/mirrorlist

#[community-testing]
#Include = /etc/pacman.d/mirrorlist

[community]
Include = /etc/pacman.d/mirrorlist

# If you want to run 32 bit applications on your x86_64 system,
# enable the multilib repositories as required here.

#[multilib-testing]
#Include = /etc/pacman.d/mirrorlist

[multilib]
Include = /etc/pacman.d/mirrorlist

# An example of a custom package repository.  See the pacman manpage for
# tips on creating your own repositories.
#[custom]
#Server = file:///home/custompkgs

Last edited by ArchMed (2011-08-28 04:02:21)

Offline

#4 2011-08-28 03:39:24

djgera
Developer
From: Buenos Aires - Argentina
Registered: 2008-12-24
Posts: 723
Website

Re: [SOLVED] Archiso - i686 build on X86_64 - invalid architecture error

ArchMed wrote:

First thing I checked was /etc/pacman.conf
I also tried to force the arch to x86_64 with no success.
Anything else I could be missing?

I think you want to say: "force to i686".

How looks your mirrors in mirrorlist file? contains a fixed x86_64 string or $arch ?

Offline

#5 2011-08-28 03:58:47

ArchMed
Member
Registered: 2011-08-27
Posts: 20

Re: [SOLVED] Archiso - i686 build on X86_64 - invalid architecture error

Hey sorry I did mean to say i686. I fixed it in the initial post.
The installation mirror appears to be fixed but the rest are not. I will try this evening and see how it goes.

/etc/pacman.d/mirrorlist

# Mirror used during installation
Server = ftp://mirror.aarnet.edu.au/pub/archlinux/$repo/os/x86_64

##
## Arch Linux repository mirrorlist
## Generated on 2011-03-24
##

## Any
Server = ftp://mirrors.kernel.org/archlinux/$repo/os/$arch
Server = http://mirrors.kernel.org/archlinux/$repo/os/$arch

## Australia
Server = ftp://mirror.aarnet.edu.au/pub/archlinux/$repo/os/$arch
Server = http://mirror.aarnet.edu.au/pub/archlinux/$repo/os/$arch
Server = ftp://ftp.iinet.net.au/pub/archlinux/$repo/os/$arch
Server = http://ftp.iinet.net.au/pub/archlinux/$repo/os/$arch
Server = ftp://mirror.internode.on.net/pub/archlinux/$repo/os/$arch
Server = http://mirror.internode.on.net/pub/archlinux/$repo/os/$arch
#Server = ftp://mirror.optus.net/archlinux/$repo/os/$arch
#Server = http://mirror.optus.net/archlinux/$repo/os/$arch

## Austria
#Server = ftp://gd.tuwien.ac.at/opsys/linux/archlinux/$repo/os/$arch
#Server = http://gd.tuwien.ac.at/opsys/linux/archlinux/$repo/os/$arch

## Belarus
#Server = ftp://ftp.byfly.by/pub/archlinux/$repo/os/$arch
#Server = http://ftp.byfly.by/pub/archlinux/$repo/os/$arch
#Server = ftp://mirror.datacenter.by/pub/archlinux/$repo/os/$arch
#Server = http://mirror.datacenter.by/pub/archlinux/$repo/os/$arch

## Belgium
#Server = ftp://archlinux.mirror.kangaroot.net/pub/archlinux/$repo/os/$arch
#Server = http://archlinux.mirror.kangaroot.net/$repo/os/$arch

## Brazil
#Server = ftp://archlinux.c3sl.ufpr.br/archlinux/$repo/os/$arch
#Server = http://archlinux.c3sl.ufpr.br/$repo/os/$arch
#Server = ftp://ftp.las.ic.unicamp.br/pub/archlinux/$repo/os/$arch
#Server = http://www.las.ic.unicamp.br/pub/archlinux/$repo/os/$arch
#Server = http://pet.inf.ufsc.br/mirrors/archlinux/$repo/os/$arch

## Canada
#Server = ftp://mirror.csclub.uwaterloo.ca/archlinux/$repo/os/$arch
#Server = http://mirror.csclub.uwaterloo.ca/archlinux/$repo/os/$arch
#Server = ftp://mirror.its.dal.ca/archlinux/$repo/os/$arch
#Server = http://mirror.its.dal.ca/archlinux/$repo/os/$arch
#Server = ftp://less.cogeco.net/pub/archlinux/$repo/os/$arch
#Server = http://less.cogeco.net/pub/archlinux/$repo/os/$arch

## Chile
#Server = ftp://mirror.archlinux.cl/$repo/os/$arch

## China
#Server = http://mirrors.163.com/archlinux/$repo/os/$arch
#Server = http://mirror.bjtu.edu.cn/archlinux/$repo/os/$arch
#Server = http://mirror6.bjtu.edu.cn/archlinux/$repo/os/$arch

## Colombia
#Server = http://www.laqee.unal.edu.co/archlinux/$repo/os/$arch

## Czech Republic
#Server = http://mirror.vpsfree.cz/archlinux/$repo/os/$arch

## Denmark
#Server = ftp://mirrors.dotsrc.org/archlinux/$repo/os/$arch
#Server = http://mirrors.dotsrc.org/archlinux/$repo/os/$arch
#Server = ftp://ftp.klid.dk/archlinux/$repo/os/$arch

## Estonia
#Server = ftp://ftp.eenet.ee/pub/archlinux/$repo/os/$arch
#Server = http://ftp.eenet.ee/pub/archlinux/$repo/os/$arch

## Finland
#Server = ftp://mirror.academica.fi/archlinux/$repo/os/$arch
#Server = http://mirror.academica.fi/archlinux/$repo/os/$arch
#Server = ftp://mirror.archlinux.fi/archlinux/$repo/os/$arch
#Server = http://mirror.archlinux.fi/archlinux/$repo/os/$arch

## France
#Server = http://mir.archlinux.fr/$repo/os/$arch
#Server = ftp://distrib-coffee.ipsl.jussieu.fr/pub/linux/archlinux/$repo/os/$arch
#Server = http://distrib-coffee.ipsl.jussieu.fr/pub/linux/archlinux/$repo/os/$arch
#Server = ftp://mir1.archlinux.fr/archlinux/$repo/os/$arch
#Server = http://mir1.archlinux.fr/archlinux/$repo/os/$arch
#Server = ftp://archlinux.mirrors.ovh.net/archlinux/$repo/os/$arch
#Server = http://archlinux.mirrors.ovh.net/archlinux/$repo/os/$arch
#Server = ftp://ftp.rez-gif.supelec.fr/Linux/archlinux/$repo/os/$arch

## Germany
#Server = http://archlinux.limun.org/$repo/os/$arch
#Server = http://mirror.c9h.de/pub/linux/archlinux/$repo/os/$arch
#Server = ftp://ftp5.gwdg.de/pub/linux/archlinux/$repo/os/$arch
#Server = http://ftp5.gwdg.de/pub/linux/archlinux/$repo/os/$arch
#Server = ftp://ftp.halifax.rwth-aachen.de/archlinux/$repo/os/$arch
#Server = http://ftp.halifax.rwth-aachen.de/archlinux/$repo/os/$arch
#Server = ftp://ftp.hosteurope.de/mirror/ftp.archlinux.org/$repo/os/$arch
#Server = http://ftp.hosteurope.de/mirror/ftp.archlinux.org/$repo/os/$arch
#Server = ftp://ftp-stud.hs-esslingen.de/pub/Mirrors/archlinux/$repo/os/$arch
#Server = http://ftp-stud.hs-esslingen.de/pub/Mirrors/archlinux/$repo/os/$arch
#Server = ftp://mirror.selfnet.de/archlinux/$repo/os/$arch
#Server = http://mirror.selfnet.de/archlinux/$repo/os/$arch
#Server = ftp://ftp.spline.inf.fu-berlin.de/mirrors/archlinux/$repo/os/$arch
#Server = http://ftp.spline.inf.fu-berlin.de/mirrors/archlinux/$repo/os/$arch
#Server = ftp://ftp.tu-chemnitz.de/pub/linux/archlinux/$repo/os/$arch
#Server = http://ftp.tu-chemnitz.de/pub/linux/archlinux/$repo/os/$arch
#Server = ftp://ftp.uni-kl.de/pub/linux/archlinux/$repo/os/$arch
#Server = http://ftp.uni-kl.de/pub/linux/archlinux/$repo/os/$arch

## Great Britain
#Server = ftp://mirror.lividpenguin.com/pub/archlinux/$repo/os/$arch
#Server = http://mirror.lividpenguin.com/pub/archlinux/$repo/os/$arch
#Server = ftp://mirrors.uk2.net/pub/archlinux/$repo/os/$arch
#Server = http://archlinux.mirrors.uk2.net/$repo/os/$arch

## Greece
#Server = ftp://ftp.cc.uoc.gr/mirrors/linux/archlinux/$repo/os/$arch
#Server = http://ftp.cc.uoc.gr/mirrors/linux/archlinux/$repo/os/$arch
#Server = ftp://ftp.otenet.gr/pub/linux/archlinux/$repo/os/$arch
#Server = http://ftp.otenet.gr/linux/archlinux/$repo/os/$arch

## Hungary
#Server = ftp://ftp.mfa.kfki.hu/pub/mirrors/ftp.archlinux.org/$repo/os/$arch

## India
Server = ftp://mirror.cse.iitk.ac.in/archlinux/$repo/os/$arch
Server = http://mirror.cse.iitk.ac.in/archlinux/$repo/os/$arch

## Ireland
#Server = ftp://ftp.heanet.ie/mirrors/ftp.archlinux.org/$repo/os/$arch
#Server = http://ftp.heanet.ie/mirrors/ftp.archlinux.org/$repo/os/$arch

## Israel
#Server = ftp://mirror.isoc.org.il/pub/archlinux/$repo/os/$arch
#Server = http://mirror.isoc.org.il/pub/archlinux/$repo/os/$arch

## Italy
#Server = http://mirrors.prometeus.net/archlinux/$repo/os/$arch

## Japan
#Server = ftp://ftp.jaist.ac.jp/pub/Linux/ArchLinux/$repo/os/$arch
#Server = http://ftp.jaist.ac.jp/pub/Linux/ArchLinux/$repo/os/$arch

## Kazakhstan
#Server = ftp://archlinux.kz/archlinux/$repo/os/$arch
#Server = http://archlinux.kz/$repo/os/$arch

## Latvia
#Server = http://archlinux.goodsoft.lv/$repo/os/$arch

## Luxembourg
#Server = ftp://archlinux.mirror.root.lu/archlinux/$repo/os/$arch
#Server = http://archlinux.mirror.root.lu/$repo/os/$arch

## Netherlands
#Server = ftp://mirror.leaseweb.com/archlinux/$repo/os/$arch
#Server = http://mirror.leaseweb.com/archlinux/$repo/os/$arch
#Server = ftp://ftp.nluug.nl/pub/os/Linux/distr/archlinux/$repo/os/$arch
#Server = http://ftp.nluug.nl/pub/os/Linux/distr/archlinux/$repo/os/$arch

## New Caledonia
#Server = ftp://archlinux.nautile.nc/archlinux/$repo/os/$arch
#Server = http://archlinux.nautile.nc/archlinux/$repo/os/$arch

## Norway
#Server = ftp://mirror.archlinux.no/$repo/os/$arch
#Server = http://mirror.archlinux.no/$repo/os/$arch

## Poland
#Server = ftp://ftp.piotrkosoft.net/pub/mirrors/ftp.archlinux.org/$repo/os/$arch
#Server = http://piotrkosoft.net/pub/mirrors/ftp.archlinux.org/$repo/os/$arch

## Portugal
#Server = ftp://ftp.rnl.ist.utl.pt/pub/archlinux/$repo/os/$arch
#Server = http://ftp.rnl.ist.utl.pt/pub/archlinux/$repo/os/$arch

## Romania
#Server = ftp://mirrors.adnettelecom.ro/archlinux/$repo/os/$arch
#Server = http://mirrors.adnettelecom.ro/archlinux/$repo/os/$arch
#Server = ftp://mirror.archlinux.ro/archlinux/$repo/os/$arch
#Server = http://mirror.archlinux.ro/archlinux/$repo/os/$arch
#Server = ftp://ftp.roedu.net/mirrors/archlinux.org/$repo/os/$arch
#Server = http://ftp.roedu.net/mirrors/archlinux.org/$repo/os/$arch

## Russia
#Server = http://mirror.worldis.me/archlinux/$repo/os/$arch
#Server = ftp://mirror.yandex.ru/archlinux/$repo/os/$arch
#Server = http://mirror.yandex.ru/archlinux/$repo/os/$arch

## Slovakia
#Server = ftp://mirror.ynet.sk/pub/archlinux/$repo/os/$arch
#Server = http://mirror.ynet.sk/pub/archlinux/$repo/os/$arch

## Spain
#Server = ftp://ftp.rediris.es/mirror/archlinux/$repo/os/$arch
#Server = http://sunsite.rediris.es/mirror/archlinux/$repo/os/$arch

## Sweden
#Server = ftp://ftp.ds.hj.se/pub/os/linux/archlinux/$repo/os/$arch
#Server = http://ftp.ds.hj.se/pub/os/linux/archlinux/$repo/os/$arch
Server = ftp://ftp.linuxmirror.org/arch/$repo/os/$arch
Server = http://linuxmirror.org/arch/$repo/os/$arch

## Switzerland
#Server = ftp://archlinux.puzzle.ch/$repo/os/$arch
#Server = http://archlinux.puzzle.ch/$repo/os/$arch

## Taiwan
#Server = ftp://linux.cs.nctu.edu.tw/archlinux/$repo/os/$arch
#Server = http://linux.cs.nctu.edu.tw/archlinux/$repo/os/$arch
#Server = ftp://shadow.ind.ntou.edu.tw/archlinux/$repo/os/$arch
#Server = http://shadow.ind.ntou.edu.tw/archlinux/$repo/os/$arch
#Server = ftp://ftp.tku.edu.tw/Linux/ArchLinux/$repo/os/$arch
#Server = http://ftp.tku.edu.tw/Linux/ArchLinux/$repo/os/$arch

## Turkey
#Server = ftp://ftp.linux.org.tr/archlinux/$repo/os/$arch
#Server = http://ftp.linux.org.tr/archlinux/$repo/os/$arch

## Ukraine
#Server = ftp://ftp.linux.kiev.ua/pub/Linux/ArchLinux/$repo/os/$arch
#Server = http://ftp.linux.kiev.ua/pub/Linux/ArchLinux/$repo/os/$arch

## United States
#Server = ftp://archlinux.supsec.org/pub/linux/arch/$repo/os/$arch
#Server = http://archlinux.supsec.org/$repo/os/$arch
#Server = ftp://cake.lib.fit.edu/archlinux/$repo/os/$arch
#Server = http://cake.lib.fit.edu/archlinux/$repo/os/$arch
#Server = http://mirrors.cat.pdx.edu/archlinux/$repo/os/$arch
#Server = http://mirror.ece.vt.edu/archlinux/$repo/os/$arch
Server = ftp://ftp.archlinux.org/$repo/os/$arch
#Server = ftp://ftp.gtlib.gatech.edu/pub/archlinux/$repo/os/$arch
#Server = http://www.gtlib.gatech.edu/pub/archlinux/$repo/os/$arch
#Server = ftp://mirrors.hosef.org/archlinux/$repo/os/$arch
#Server = http://mirrors.hosef.org/archlinux/$repo/os/$arch
#Server = http://hpc.arc.georgetown.edu/mirror/archlinux/$repo/os/$arch
#Server = ftp://distro.ibiblio.org/archlinux/$repo/os/$arch
#Server = http://distro.ibiblio.org/archlinux/$repo/os/$arch
#Server = ftp://locke.suu.edu/linux/dist/archlinux/$repo/os/$arch
#Server = ftp://lug.mtu.edu/archlinux/ftpfull/$repo/os/$arch
#Server = http://lug.mtu.edu/archlinux/ftpfull/$repo/os/$arch
#Server = ftp://mirrors.xmission.com/archlinux/$repo/os/$arch
#Server = http://mirrors.xmission.com/archlinux/$repo/os/$arch
#Server = http://mirror.mocker.org/archlinux/$repo/os/$arch
#Server = ftp://ftp.osuosl.org/pub/archlinux/$repo/os/$arch
#Server = http://ftp.osuosl.org/pub/archlinux/$repo/os/$arch
#Server = ftp://mirror.rit.edu/archlinux/$repo/os/$arch
#Server = http://mirror.rit.edu/archlinux/$repo/os/$arch
#Server = http://mirrors.rutgers.edu/archlinux/$repo/os/$arch
#Server = http://mirror.yellowfiber.net/archlinux/$repo/os/$arch

## Uzbekistan
#Server = ftp://mirrors.st.uz/archlinux/$repo/os/$arch
#Server = http://mirrors.st.uz/archlinux/$repo/os/$arch

Last edited by ArchMed (2011-08-28 04:00:09)

Offline

#6 2011-08-28 04:08:27

djgera
Developer
From: Buenos Aires - Argentina
Registered: 2008-12-24
Posts: 723
Website

Re: [SOLVED] Archiso - i686 build on X86_64 - invalid architecture error

<- this was the problem!

Offline

#7 2011-08-28 04:19:30

ArchMed
Member
Registered: 2011-08-27
Posts: 20

Re: [SOLVED] Archiso - i686 build on X86_64 - invalid architecture error

Thank you for the help. I really appreciate it.

Just commented it out and it appears to be working fine.
Can I change x86_64 to $arch?
It should still hold true right?

Offline

#8 2011-08-28 04:25:30

djgera
Developer
From: Buenos Aires - Argentina
Registered: 2008-12-24
Posts: 723
Website

Re: [SOLVED] Archiso - i686 build on X86_64 - invalid architecture error

Good!.

Yes, its the default, since long time ago. Its allow flexibility and this type of kinds wink

Offline

#9 2011-08-28 05:07:25

ArchMed
Member
Registered: 2011-08-27
Posts: 20

Re: [SOLVED] Archiso - i686 build on X86_64 - invalid architecture error

I was also wondering how and where I can add additional packages. I would like to try creating a live cd which can boot into gnome.
I am not sure if I am meant to add additional packages by doing one of the following:
1.  linux32 mkarchroot /tmp/chroot base xorg-twm xorg-xclock xterm xorg-xinit xorg-utils xorg-server-utils xorg-server mesa xf86-video-vesaalsa-utils alsa-plugins ttf-dejavu ttf-liberation
or
2.
# mkarchroot -r bash /tmp/chroot
# mknod /dev/loop0 b 7 0
# echo 'Server = MIRROR/archlinux/$repo/os/$arch' >> /etc/pacman.d/mirrorlist
# pacman -S devtools squashfs-tools syslinux cdrkit Add additional packages here

or
3. Use the packages.list file. If I create this file, where should it be placed and how and when is it ensured that the packages within the file are installed onto the live image?

Last edited by ArchMed (2011-08-28 05:07:53)

Offline

#10 2011-08-28 06:25:01

djgera
Developer
From: Buenos Aires - Argentina
Registered: 2008-12-24
Posts: 723
Website

Re: [SOLVED] Archiso - i686 build on X86_64 - invalid architecture error

Nono, you need to install on root-image. If you are using configs/baseline I suggest to see configs/releng, since it does more things (like installing more packages, and customize root-image, with other things).

See functions make_packages() and make_customize_root_image() wink

Offline

#11 2011-08-28 06:31:45

ArchMed
Member
Registered: 2011-08-27
Posts: 20

Re: [SOLVED] Archiso - i686 build on X86_64 - invalid architecture error

I am following the first section called configs/baseline from the following page: https://wiki.archlinux.org/index.php/Archiso
Where do I find configs/releng? Is there a more comprehensive tutorial that this page for archiso?

Edit: I just found the configs/releng folder but I still have no documentation for it. I modified the packages.i686 but I am a bit lost after that.

Last edited by ArchMed (2011-08-28 07:03:18)

Offline

#12 2011-08-28 07:15:56

ArchMed
Member
Registered: 2011-08-27
Posts: 20

Re: [SOLVED] Archiso - i686 build on X86_64 - invalid architecture error

I have thus far followed these steps. Correct me if I have made a mistake.
For simplicity I am building an image for x86_64 on a x86_64 install of arch.

pacman -S devtools --needed
mkarchroot /tmp/chroot base
pacman -S git make --needed
git clone git://projects.archlinux.org/archiso.git
make -C archiso/archiso DESTDIR=/tmp/chroot install
mkarchroot -r bash /tmp/chroot
mknod /dev/loop0 b 7 0
echo 'Server = MIRROR/archlinux/$repo/os/$arch' >> /etc/pacman.d/mirrorlist
pacman -S devtools squashfs-tools syslinux cdrkit
cp -r /usr/share/archiso/configs/releng /tmp
cd /tmp/releng

packages.x86_64 edited to contain the following

aif
b43-fwcutter
btrfs-progs-unstable
crda
curl
ddrescue
dhclient
dialog
dmraid
dnsmasq
dnsutils
dosfstools
elinks
gnu-netcat
hdparm
inetutils
ipw2100-fw
ipw2200-fw
irssi
lftp
lilo
linux-atm
mtools
netcfg
nfs-utils
nilfs-utils
nmap
ntfs-3g
ntfsprogs
ntp
openconnect
openssh
openvpn
parted
pptpclient
rp-pppoe
rsync
smartmontools
speedtouch
tcpdump
vpnc
wireless_tools
wpa_actiond
zd1211-firmware
xorg-twm 
xorg-xclock
xterm
xorg-xinit
xorg-utils
xorg-server-utils
xorg-server
mesa xf86-video-ves
aalsa-utils
alsa-plugins
ttf-dejavu
ttf-liberation
firefox
xf86-input-evdev
xf86-input-mouse
xf86-input-keyboard
xf86-input-synaptics
xf86-video-apm
xf86-video-ast
xf86-video-ati
xf86-video-cirrus
xf86-video-dummy
xf86-video-intel
xf86-video-nv
xf86-video-vesa
xf86-video-sisusb
xf86-video-vmware
xf86-video-s3
xf86-video-tdfx
xf86-video-sis
nfs-utils
expect
tcpdump
ffmpeg
ffmpeg2theora
colordiff
zip
unzip
mt-st
xfwm4
gtk
bluez
blueman
usbmuxd
networkmanager
dnsmasq
modemmanager
dhclient
dbus
aufs2
aufs2-util
base
bash
coreutils
cpio
dnsutils
file
fuse
kernel26
syslinux
nano
vim
git
xfce4
mc
wvdial
openssh
openssl
samba
ssmtp
awk
grep
sed
apache
php
php-apache
mysql
partimage
tar
p7zip
ntfs-3g
ntfsprogs
xorg
firefox
firefox-i18n
screen
rsync
gparted
rdesktop
gnu-netcat
testdisk
ddrescue
inetutils
gamin
subversion
xorg-fonts-75dpi
xorg-fonts-100dpi
xorg-fonts-misc
fdupes
usbutils
libusb
nmap
skype
pidgin
fsarchiver
arj
gnupg
chkrootkit
minicom
putty
curl
lshw
dmraid
lvm2
dosfstools
wipe
extundelete
progsreiserfs
sshfs

Now I give the command:
./build.sh core_iso_single

I cannot seem to find the iso. Is there a step I am missing?

Offline

#13 2011-08-28 08:20:16

djgera
Developer
From: Buenos Aires - Argentina
Registered: 2008-12-24
Posts: 723
Website

Re: [SOLVED] Archiso - i686 build on X86_64 - invalid architecture error

Looks like you are using a list from an old source, or what you know what are you doing. Anyway you are adding invalid packages....

'xf86-video-ves' <- oops I
'aalsa-utils' <- oops II
'aufs2' <-- ???? I
'aufs2-util' <- ???? II
'base' <-- already installed this group, not needed here.
'kernel26' <-- already installed "linux" not kernel26, as part of base group.

if you enable verbose mode, you will see errors....

Offline

#14 2011-08-28 08:23:34

djgera
Developer
From: Buenos Aires - Argentina
Registered: 2008-12-24
Posts: 723
Website

Re: [SOLVED] Archiso - i686 build on X86_64 - invalid architecture error

Sugestion: Build a default iso to see how is the build process first. Learned this, start to hack the desired profile wink

Offline

#15 2011-08-28 09:14:40

ArchMed
Member
Registered: 2011-08-27
Posts: 20

Re: [SOLVED] Archiso - i686 build on X86_64 - invalid architecture error

Built the standard build works well.
Added the following to the standard package list at: Packages.x86_64

sudo
alsa-utils
alsa-oss
xorg-server
xorg-xinit
xorg-utils
xorg-server-utils
mesa
mesa-demos
xf86-video-vesa
xorg-twm
xorg-xclock
xterm
dbus
ttf-dejavu
firefox

I have a few more questions. If you could help me out. Thank you so much for your advice thus far. It has been very helpful.

  • Firstly how do I enable the verbose option?

  • Secondly during the build there appears to be an issue with setting the locale.bsdtar: Failed to set default locale is printed repeatedly. Is this related to the locale set in rc.conf?

  • How would I go about changing the kernel? Specifically how can I include one of the alternate kernels that is available through AUR? I still do not know how to include packages in AUR

For the third questions do I do as follows:
1. List the current kernel in the core.exclude.x86_64
2. Build the package from AUR using makepkg
3. How do I get the new kernel package into the build?

Thanks.

Last edited by ArchMed (2011-08-28 09:35:20)

Offline

#16 2011-08-28 15:53:11

djgera
Developer
From: Buenos Aires - Argentina
Registered: 2008-12-24
Posts: 723
Website

Re: [SOLVED] Archiso - i686 build on X86_64 - invalid architecture error

1) verbose option is in top of build.sh(*), I recommend to read a bit this script.
2) A build log with verbose mode will be nice if you paste in some place.
3) For packages in AUR (including kernel), I suggest to add a custom repo in your pacman.conf (on chroot). Just add  these packages to the packages list.

Is a good idea, when make an iso with many packages, separate them in groups. Install first group, then second, etc. In that case you can have a "packages.d" directory with lots of files here. For an example of this I recommend to see a custom profile for archiso here: ( https://github.com/djgera/pandereta ) I basically install lots of things (root-image is about 8GiB tongue and 2.8 GiB compressed), you need about 30GiB of free space to build this smile

(*) In 24 hours I will merge a series of patchs thats add a nice command line to build.sh, so verbose mode will be enabled with ./build.sh -v wink

Offline

#17 2011-08-29 08:25:12

ArchMed
Member
Registered: 2011-08-27
Posts: 20

Re: [SOLVED] Archiso - i686 build on X86_64 - invalid architecture error

Thank you.
I will try this this weekend.

Offline

#18 2011-09-05 00:56:30

ArchMed
Member
Registered: 2011-08-27
Posts: 20

Re: [SOLVED] Archiso - i686 build on X86_64 - invalid architecture error

I read the build script and tried a few things but I am having issues with installing a custom kernel from AUR. I am currently trying to build a cd with the kernel26-crusoe kernel for a compaq TC1000 I have lying around.
I am sure there must be a cleaner, simpler way of doing this and I would really appreciate any help.

This is my basic process.

pacman -S devtools --needed
linux32 mkarchroot /tmp/chroot base
pacman -U archiso-git-20110904-1-any.pkg.tar.xz -r /tmp/chroot
linux32 mkarchroot -r bash /tmp/chroot
mknod /dev/loop0 b 7 0 
echo 'ftp://mirror.internode.on.net/pub/archlinux/$repo/os/$arch' >> /etc/pacman.d/mirrorlist
cp -r /usr/share/archiso/configs/releng /tmp
cd /tmp/releng
mkdir customrepo
mkdir kernel_build && cd kernel_build
wget http://aur.archlinux.org/packages/ke/kernel26-crusoe/kernel26-crusoe.tar.gz
tar -zxf kernel26-crusoe.tar.gz
cd kernel26-crusoe
pacman -S base-devel
makepkg --asroot
mv kernel26-crusoe-2.6.36.1-3-i686.pkg.tar.xz /tmp/releng/customrepo
cd /tmp/releng/customrepo
repo-add /tmp/releng/customrepo/repo.db.tar.gz /tmp/releng/customrepo/*.pkg.tar.xz
nano pacman
cd /tmp/releng
nano build.sh
./build.sh build single core

The full listing till the build stage is as follows:

[root@ARCH user]# nano /etc/pacman.conf 
[root@ARCH user]# rm -rf /tmp/chroot*
[root@ARCH user]# clear
[root@ARCH user]# linux32 mkarchroot /tmp/chroot base
:: Synchronizing package databases...
 core                     50.3K  158.8K/s 00:00:00 [######################] 100%
 extra                   626.4K  189.1K/s 00:00:03 [######################] 100%
 community               452.7K  148.6K/s 00:00:03 [######################] 100%
:: There are 57 members in group base:
:: Repository core
   1) bash  2) binutils  3) bzip2  4) coreutils  5) cronie  6) cryptsetup
   7) device-mapper  8) dhcpcd  9) diffutils  10) e2fsprogs  11) file
   12) filesystem  13) findutils  14) gawk  15) gcc-libs  16) gettext
   17) glibc  18) grep  19) grub  20) gzip  21) heirloom-mailx  22) initscripts
   23) iputils  24) jfsutils  25) less  26) libpipeline  27) licenses
   28) linux  29) logrotate  30) lvm2  31) man-db  32) man-pages  33) mdadm
   34) nano  35) pacman  36) pciutils  37) pcmciautils  38) perl  39) ppp
   40) procps  41) psmisc  42) reiserfsprogs  43) sed  44) shadow
   45) sysfsutils  46) syslog-ng  47) sysvinit  48) tar  49) texinfo  50) udev
   51) usbutils  52) util-linux  53) vi  54) wget  55) which
   56) wpa_supplicant  57) xfsprogs

Enter a selection (default=all): 
resolving dependencies...
looking for inter-conflicts...

Targets (102): linux-api-headers-3.0.1-1  tzdata-2011h-1  glibc-2.14-5
               ncurses-5.9-1  readline-6.2.001-2  bash-4.2.010-1  zlib-1.2.5-4
               binutils-2.21.1-2  bzip2-1.0.6-1  gcc-libs-4.6.1-4  db-5.2.28-1
               cracklib-2.8.18-1  libgssglue-0.3-1  libtirpc-0.2.2-2
               pam-1.1.4-1  attr-2.4.46-1  acl-2.2.51-1  shadow-4.1.4.3-2
               gmp-5.0.2-3  libcap-2.22-1  coreutils-8.12-3  run-parts-4.0.2-1
               cronie-1.4.8-1  iana-etc-2.30-2  filesystem-2011.08-1
               util-linux-2.19.1-3  libusb-1.0.8-1  libusb-compat-0.1.3-1
               pcre-8.13-2  glib2-2.28.8-1  module-init-tools-3.16-1
               pciutils-3.1.7-4  udev-173-3  device-mapper-2.02.88-1
               libgpg-error-1.10-1  libgcrypt-1.5.0-1  popt-1.16-3
               cryptsetup-1.3.1-2  dhcpcd-5.2.12-1  diffutils-3.1-1
               e2fsprogs-1.41.14-1  file-5.08-1  findutils-4.4.2-3
               gawk-4.0.0-1  gettext-0.18.1.1-3  grep-2.9-1  sed-4.2.1-3
               grub-0.97-20  gzip-1.4-2  gdbm-1.8.3-8  perl-5.14.1-3
               openssl-1.0.0.d-1  libsasl-2.1.23-7  libfetch-2.33-3
               libldap-2.4.26-3  keyutils-1.5.2-1  krb5-1.9.1-3
               heirloom-mailx-12.5-2  iproute2-2.6.39-1  kbd-1.15.3-1
               sysvinit-2.88-2  initscripts-2011.07.3-1  sysfsutils-2.1.0-6
               iputils-20101006-1  jfsutils-1.1.15-2  less-444-1
               libpipeline-1.2.0-1  licenses-2.8-1  linux-firmware-20110822-1
               mkinitcpio-busybox-1.18.5-1  xz-5.0.3-1  expat-2.0.1-6
               libarchive-2.8.4-2  which-2.20-4  mkinitcpio-0.7.2-1
               linux-3.0.4-1  logrotate-3.8.0-2  lvm2-2.02.88-1
               texinfo-4.13a-5  groff-1.21-1  man-db-2.6.0.2-2
               man-pages-3.32-1  mdadm-3.2.2-3  nano-2.2.6-1
               pacman-mirrorlist-20110816-1  pacman-3.5.4-4  pcmciautils-018-1
               libnl-1.1-2  libpcap-1.1.1-2  ppp-2.4.5-2  procps-3.2.8-4
               psmisc-22.14-1  reiserfsprogs-3.6.21-3  eventlog-0.2.12-2
               syslog-ng-3.2.4-3  tar-1.26-1  usbutils-004-1  vi-1:050325-1
               wget-1.13.3-1  dbus-core-1.4.14-1  wpa_supplicant-0.7.3-3
               xfsprogs-3.1.5-1

Total Download Size:    0.00 MB
Total Installed Size:   391.00 MB

Proceed with installation? [Y/n] 
(102/102) checking package integrity               [######################] 100%
(102/102) checking for file conflicts              [######################] 100%
(  1/102) installing linux-api-headers             [######################] 100%
(  2/102) installing tzdata                        [######################] 100%
Optional dependencies for tzdata
    bash: required by tzselect
(  3/102) installing glibc                         [######################] 100%
(  4/102) installing ncurses                       [######################] 100%
(  5/102) installing readline                      [######################] 100%
(  6/102) installing bash                          [######################] 100%
(  7/102) installing zlib                          [######################] 100%
(  8/102) installing binutils                      [######################] 100%
(  9/102) installing bzip2                         [######################] 100%
( 10/102) installing gcc-libs                      [######################] 100%
( 11/102) installing db                            [######################] 100%
( 12/102) installing cracklib                      [######################] 100%
( 13/102) installing libgssglue                    [######################] 100%
( 14/102) installing libtirpc                      [######################] 100%
( 15/102) installing pam                           [######################] 100%
( 16/102) installing attr                          [######################] 100%
( 17/102) installing acl                           [######################] 100%
( 18/102) installing shadow                        [######################] 100%
( 19/102) installing gmp                           [######################] 100%
( 20/102) installing libcap                        [######################] 100%
( 21/102) installing coreutils                     [######################] 100%
( 22/102) installing run-parts                     [######################] 100%
( 23/102) installing cronie                        [######################] 100%
Optional dependencies for cronie
    smtp-server: sending cron job output via email
( 24/102) installing iana-etc                      [######################] 100%
( 25/102) installing filesystem                    [######################] 100%
( 26/102) installing util-linux                    [######################] 100%
Optional dependencies for util-linux
    perl: for chkdupexe support
( 27/102) installing libusb                        [######################] 100%
( 28/102) installing libusb-compat                 [######################] 100%
( 29/102) installing pcre                          [######################] 100%
( 30/102) installing glib2                         [######################] 100%
( 31/102) installing module-init-tools             [######################] 100%
( 32/102) installing pciutils                      [######################] 100%
Optional dependencies for pciutils
    sh: required by update-pciids
( 33/102) installing udev                          [######################] 100%
( 34/102) installing device-mapper                 [######################] 100%
( 35/102) installing libgpg-error                  [######################] 100%
( 36/102) installing libgcrypt                     [######################] 100%
( 37/102) installing popt                          [######################] 100%
( 38/102) installing cryptsetup                    [######################] 100%
( 39/102) installing dhcpcd                        [######################] 100%
( 40/102) installing diffutils                     [######################] 100%
( 41/102) installing e2fsprogs                     [######################] 100%
( 42/102) installing file                          [######################] 100%
( 43/102) installing findutils                     [######################] 100%
( 44/102) installing gawk                          [######################] 100%
( 45/102) installing gettext                       [######################] 100%
Optional dependencies for gettext
    cvs: for autopoint tool
( 46/102) installing grep                          [######################] 100%
( 47/102) installing sed                           [######################] 100%
( 48/102) installing grub                          [######################] 100%
Optional dependencies for grub
    xfsprogs: freezing of xfs /boot in install-grub script
( 49/102) installing gzip                          [######################] 100%
( 50/102) installing gdbm                          [######################] 100%
( 51/102) installing perl                          [######################] 100%
( 52/102) installing openssl                       [######################] 100%
Optional dependencies for openssl
    ca-certificates
( 53/102) installing libsasl                       [######################] 100%
( 54/102) installing libfetch                      [######################] 100%
( 55/102) installing libldap                       [######################] 100%
( 56/102) installing keyutils                      [######################] 100%
( 57/102) installing krb5                          [######################] 100%
( 58/102) installing heirloom-mailx                [######################] 100%
Optional dependencies for heirloom-mailx
    smtp-forwarder: for sending mail
( 59/102) installing iproute2                      [######################] 100%
Optional dependencies for iproute2
    linux-atm: ATM support
( 60/102) installing kbd                           [######################] 100%
( 61/102) installing sysvinit                      [######################] 100%
( 62/102) installing initscripts                   [######################] 100%
Optional dependencies for initscripts
    bridge-utils: Network bridging support
    dhcpcd: DHCP network configuration
    net-tools: legacy network support
    wireless_tools: Wireless networking
( 63/102) installing sysfsutils                    [######################] 100%
( 64/102) installing iputils                       [######################] 100%
( 65/102) installing jfsutils                      [######################] 100%
( 66/102) installing less                          [######################] 100%
( 67/102) installing libpipeline                   [######################] 100%
( 68/102) installing licenses                      [######################] 100%
( 69/102) installing linux-firmware                [######################] 100%
( 70/102) installing mkinitcpio-busybox            [######################] 100%
( 71/102) installing xz                            [######################] 100%
( 72/102) installing expat                         [######################] 100%
( 73/102) installing libarchive                    [######################] 100%
( 74/102) installing which                         [######################] 100%
( 75/102) installing mkinitcpio                    [######################] 100%
Optional dependencies for mkinitcpio
    xz: Use lzma or xz compression for the initramfs image
    bzip2: Use bzip2 compression for the initramfs image
    lzop: Use lzo compression for the initramfs image
    mkinitcpio-nfs-utils: Support for root filesystem on NFS
( 76/102) installing linux                         [######################] 100%
>>> Updating module dependencies. Please wait ...
>>> Generating initial ramdisk, using mkinitcpio.  Please wait...
==> Building image from preset: 'default'
  -> -k /boot/vmlinuz-linux -c /etc/mkinitcpio.conf -g /boot/initramfs-linux.img
==> Starting build: 3.0-ARCH
  -> Parsing hook: [base]
  -> Parsing hook: [udev]
  -> Parsing hook: [autodetect]
==> ERROR: failed to detect root filesystem
  -> Parsing hook: [pata]
  -> Parsing hook: [scsi]
  -> Parsing hook: [sata]
  -> Parsing hook: [filesystems]
  -> Parsing hook: [usbinput]
==> Generating module dependencies
==> Creating gzip initcpio image: /boot/initramfs-linux.img
14265 blocks
==> Image generation successful
==> Building image from preset: 'fallback'
  -> -k /boot/vmlinuz-linux -c /etc/mkinitcpio.conf -g /boot/initramfs-linux-fallback.img -S autodetect
==> Starting build: 3.0-ARCH
  -> Parsing hook: [base]
  -> Parsing hook: [udev]
  -> Parsing hook: [pata]
  -> Parsing hook: [scsi]
  -> Parsing hook: [sata]
  -> Parsing hook: [filesystems]
  -> Parsing hook: [usbinput]
==> Generating module dependencies
==> Creating gzip initcpio image: /boot/initramfs-linux-fallback.img
23397 blocks
==> Image generation successful
Optional dependencies for linux
    crda: to set the correct wireless channels of your country
( 77/102) installing logrotate                     [######################] 100%
( 78/102) installing lvm2                          [######################] 100%
( 79/102) installing texinfo                       [######################] 100%
( 80/102) installing groff                         [######################] 100%
Optional dependencies for groff
    netpbm: for use together with man -H command interaction in browsers
    psutils: for use together with man -H command interaction in browsers
( 81/102) installing man-db                        [######################] 100%
it's recommended to create an initial
database running as root:
"/usr/bin/mandb --quiet"
Optional dependencies for man-db
    less
    gzip
( 82/102) installing man-pages                     [######################] 100%
( 83/102) installing mdadm                         [######################] 100%
( 84/102) installing nano                          [######################] 100%
( 85/102) installing pacman-mirrorlist             [######################] 100%
( 86/102) installing pacman                        [######################] 100%
Optional dependencies for pacman
    fakeroot: for makepkg usage as normal user
    curl: for rankmirrors usage
( 87/102) installing pcmciautils                   [######################] 100%
( 88/102) installing libnl                         [######################] 100%
( 89/102) installing libpcap                       [######################] 100%
( 90/102) installing ppp                           [######################] 100%
( 91/102) installing procps                        [######################] 100%
( 92/102) installing psmisc                        [######################] 100%
( 93/102) installing reiserfsprogs                 [######################] 100%
( 94/102) installing eventlog                      [######################] 100%
( 95/102) installing syslog-ng                     [######################] 100%
Optional dependencies for syslog-ng
    logrotate: for rotating log files
( 96/102) installing tar                           [######################] 100%
( 97/102) installing usbutils                      [######################] 100%
Optional dependencies for usbutils
    python2: for lsusb.py usage
    coreutils: for lsusb.py usage
( 98/102) installing vi                            [######################] 100%
Optional dependencies for vi
    mailx: used by the preserve command for notification
( 99/102) installing wget                          [######################] 100%
Optional dependencies for wget
    ca-certificates: HTTPS downloads
(100/102) installing dbus-core                     [######################] 100%
(101/102) installing wpa_supplicant                [######################] 100%
Optional dependencies for wpa_supplicant
    wpa_supplicant_gui: wpa_gui program
(102/102) installing xfsprogs                      [######################] 100%
Generating locales...
  de_DE.UTF-8... done
  en_US.UTF-8... done
Generation complete.
[root@ARCH user]# pacman -S git make --needed
warning: git-1.7.6.1-1 is up to date -- skipping
warning: make-3.82-3 is up to date -- skipping
 there is nothing to do
[root@ARCH user]# git clone git://projects.archlinux.org/archiso.git
Cloning into archiso...
remote: Counting objects: 3059, done.
remote: Compressing objects: 100% (1266/1266), done.
remote: Total 3059 (delta 1606), reused 3059 (delta 1606)
Receiving objects: 100% (3059/3059), 1.29 MiB | 54 KiB/s, done.
Resolving deltas: 100% (1606/1606), done.
[root@ARCH user]#  make -C archiso/archiso DESTDIR=/tmp/chroot install
make: Entering directory `/home/user/archiso/archiso'
# install to sbin since script only usable by root
install -D -m 755 mkarchiso /tmp/chroot/usr/sbin/mkarchiso
# testiso can be used by anyone
install -D -m 755 testiso /tmp/chroot/usr/bin/testiso
# hooks/install are needed by mkinitcpio
install -D -m 644 hooks/archiso /tmp/chroot/lib/initcpio/hooks/archiso
install -D -m 644 install/archiso /tmp/chroot/lib/initcpio/install/archiso
install -D -m 644 archiso_pxe_nbd /tmp/chroot/lib/initcpio/archiso_pxe_nbd
install -D -m 644 hooks/archiso_pxe_nbd /tmp/chroot/lib/initcpio/hooks/archiso_pxe_nbd
install -D -m 644 install/archiso_pxe_nbd /tmp/chroot/lib/initcpio/install/archiso_pxe_nbd
install -D -m 644 hooks/archiso_loop_mnt /tmp/chroot/lib/initcpio/hooks/archiso_loop_mnt
install -D -m 644 install/archiso_loop_mnt /tmp/chroot/lib/initcpio/install/archiso_loop_mnt
# install examples
install -d -m 755 /tmp/chroot/usr/share/archiso/
cp -r ../configs /tmp/chroot/usr/share/archiso/
install -d -m 755 /tmp/chroot/usr/share/archiso/
install -D -m 644 ../README /tmp/chroot/usr/share/doc/archiso/README
make: Leaving directory `/home/user/archiso/archiso'
[root@ARCH user]# mv kernel26-crusoe-2.6.36.1-3-i686.pkg.tar.xz /tmp/chroot/tmp/
[root@ARCH user]# linux32 mkarchroot -r bash /tmp/chroot
[root@ARCH /]# mknod /dev/loop0 b 7 0
[root@ARCH /]# echo 'ftp://mirror.internode.on.net/pub/archlinux/$repo/os/$arch
> ' >> /etc/pacman.d/mirrorlist
[root@ARCH /]# cat etc/pacman.d/mirrorlist 
Server = ftp://mirror.aarnet.edu.au/pub/archlinux/$repo/os/$arch
ftp://mirror.internode.on.net/pub/archlinux/$repo/os/$arch

[root@ARCH /]# nano /etc/pacman.d/mirrorlist 
[root@ARCH /]# cat etc/pacman.d/mirrorlist 
Server = ftp://mirror.aarnet.edu.au/pub/archlinux/$repo/os/$arch
Server = ftp://mirror.internode.on.net/pub/archlinux/$repo/os/$arch

[root@ARCH /]# pacman -S devtools libisoburn squashfs-tools
resolving dependencies...
looking for inter-conflicts...

Targets (27): libffi-3.0.10-1  python-3.2.1-1  pyalpm-0.4.3-1  namcap-3.1-1
              libedit-20110802_3.0-1  openssh-5.8p2-9
              ca-certificates-20110502+nmu1-1  neon-0.29.6-2  apr-1.4.5-1
              mpfr-3.0.1.p4-2  libmpc-0.9-2  isl-0.07-1  cloog-0.16.3-1
              ppl-0.11.2-2  gcc-4.6.1-4  libtool-2.4-4  unixodbc-2.3.0-1
              apr-util-1.3.12-2  sqlite3-3.7.7.1-1  subversion-1.6.17-6
              rsync-3.0.8-2  devtools-0.9.27-1  libburn-1.1.4-1
              libisofs-1.1.4-1  libisoburn-1.1.4-1  lzo2-2.06-1
              squashfs-tools-4.2-1

Total Download Size:    0.00 MB
Total Installed Size:   200.78 MB

Proceed with installation? [Y/n] y
(27/27) checking package integrity                 [######################] 100%
(27/27) checking for file conflicts                [######################] 100%
( 1/27) installing libffi                          [######################] 100%
( 2/27) installing python                          [######################] 100%
Optional dependencies for python
    tk: for tkinter
    sqlite3
( 3/27) installing pyalpm                          [######################] 100%
( 4/27) installing namcap                          [######################] 100%
( 5/27) installing libedit                         [######################] 100%
( 6/27) installing openssh                         [######################] 100%
( 7/27) installing ca-certificates                 [######################] 100%
( 8/27) installing neon                            [######################] 100%
( 9/27) installing apr                             [######################] 100%
(10/27) installing mpfr                            [######################] 100%
(11/27) installing libmpc                          [######################] 100%
(12/27) installing isl                             [######################] 100%
(13/27) installing cloog                           [######################] 100%
(14/27) installing ppl                             [######################] 100%
(15/27) installing gcc                             [######################] 100%
(16/27) installing libtool                         [######################] 100%
(17/27) installing unixodbc                        [######################] 100%
(18/27) installing apr-util                        [######################] 100%
(19/27) installing sqlite3                         [######################] 100%
(20/27) installing subversion                      [######################] 100%
Optional dependencies for subversion
    libgnome-keyring
    kdeutils-kwallet
    bash-completion: for svn bash completion
(21/27) installing rsync                           [######################] 100%
(22/27) installing devtools                        [######################] 100%
(23/27) installing libburn                         [######################] 100%
(24/27) installing libisofs                        [######################] 100%
(25/27) installing libisoburn                      [######################] 100%
(26/27) installing lzo2                            [######################] 100%
(27/27) installing squashfs-tools                  [######################] 100%
[root@ARCH /]# cp -r /usr/share/archiso/configs/releng/ /tmp/
[root@ARCH /]# cd /tmp/releng/
[root@ARCH releng]# ls
aitab.core	  core.exclude.i686    mkinitcpio.conf	root-image
aitab.netinstall  core.exclude.x86_64  packages.i686	syslinux
build.sh	  isolinux	       packages.x86_64	syslinux.dual
[root@ARCH releng]# cd ..
[root@ARCH tmp]# ls
kernel26-crusoe-2.6.36.1-3-i686.pkg.tar.xz  releng
[root@ARCH tmp]# cd ..
[root@ARCH /]# ls
bin   dev  home  media	opt   root  sbin  sys  usr
boot  etc  lib	 mnt	proc  run   srv   tmp  var
[root@ARCH /]# mkdir pkgs
[root@ARCH /]# mv /tmp/kernel26-crusoe-2.6.36.1-3-i686.pkg.tar.xz pkgs/
[root@ARCH /]# cd pkgs/
[root@ARCH pkgs]# ls
kernel26-crusoe-2.6.36.1-3-i686.pkg.tar.xz
[root@ARCH pkgs]# repo-add customrepo.db.tar.gz * 
==> Adding package 'kernel26-crusoe-2.6.36.1-3-i686.pkg.tar.xz'
bsdtar: Failed to set default locale
  -> Creating 'desc' db entry...
  -> Computing md5 checksums...
  -> Creating 'depends' db entry...
==> Creating updated database file 'customrepo.db.tar.gz'
bsdtar: Failed to set default locale
[root@ARCH pkgs]# ls
customrepo.db  customrepo.db.tar.gz  kernel26-crusoe-2.6.36.1-3-i686.pkg.tar.xz
[root@ARCH pkgs]# nano /etc/pacman.conf
[root@ARCH pkgs]# pacman -Syy
:: Synchronizing package databases...
 core                     50.3K  193.9K/s 00:00:00 [######################] 100%
 extra                   626.4K  244.9K/s 00:00:03 [######################] 100%
 community               452.7K  322.9K/s 00:00:01 [######################] 100%
 customrepo                0.7K   15.9M/s 00:00:00 [######################] 100%
[root@ARCH pkgs]# 

I was initially having errors with the kernel in the base install conflicting with the kernel26-crusoe kernel from AUR which I added using the custom repo. Adding the linux kernel into the exclude file did not help so I modified the build.sh to install kernel26-crusoe. The remaining packages from "base" are installed from packages.i686

#!/bin/bash

set -e -u

iso_name=archlinux
iso_label="ARCH_$(date +%Y%m)"
iso_version=$(date +%Y.%m.%d)
install_dir=arch
arch=$(uname -m)
work_dir=work
out_dir=out
verbose=""

script_path=$(readlink -f ${0%/*})

# Base installation (root-image)
make_basefs() {
#    mkarchiso ${verbose} -w "${work_dir}" -D "${install_dir}" -p "base" create
     mkarchiso ${verbose} -w "${work_dir}" -D "${install_dir}" -p  kernel26-crusoe create
     mkarchiso ${verbose} -w "${work_dir}" -D "${install_dir}" -p "memtest86+ syslinux mkinitcpio-nfs-utils nbd" create
}

# Additional packages (root-image)
make_packages() {
    mkarchiso ${verbose} -w "${work_dir}" -D "${install_dir}" -p "$(grep -v ^# ${script_path}/packages.${arch})" create
}

# Customize installation (root-image)
make_customize_root_image() {
    if [[ ! -e ${work_dir}/build.${FUNCNAME} ]]; then
        cp -af ${script_path}/root-image ${work_dir}
        chmod 750 ${work_dir}/root-image/etc/sudoers.d
        chmod 440 ${work_dir}/root-image/etc/sudoers.d/g_wheel
        mkdir -p ${work_dir}/root-image/etc/pacman.d
        wget -O ${work_dir}/root-image/etc/pacman.d/mirrorlist http://www.archlinux.org/mirrorlist/all/
        sed -i "s/#Server/Server/g" ${work_dir}/root-image/etc/pacman.d/mirrorlist
        chroot ${work_dir}/root-image /usr/sbin/locale-gen
        chroot ${work_dir}/root-image /usr/sbin/useradd -m -p "" -g users -G "audio,disk,optical,wheel" arch
        : > ${work_dir}/build.${FUNCNAME}
    fi
}

# Copy mkinitcpio archiso hooks (root-image)
make_setup_mkinitcpio() {
       if [[ ! -e ${work_dir}/build.${FUNCNAME} ]]; then
        local _hook
        for _hook in archiso archiso_pxe_nbd archiso_loop_mnt; do
            cp /lib/initcpio/hooks/${_hook} ${work_dir}/root-image/lib/initcpio/hooks
            cp /lib/initcpio/install/${_hook} ${work_dir}/root-image/lib/initcpio/install
        done
        cp /lib/initcpio/archiso_pxe_nbd ${work_dir}/root-image/lib/initcpio
        : > ${work_dir}/build.${FUNCNAME}
   fi
}

# Prepare ${install_dir}/boot/
make_boot() {
    if [[ ! -e ${work_dir}/build.${FUNCNAME} ]]; then
        local _src=${work_dir}/root-image
        local _dst_boot=${work_dir}/iso/${install_dir}/boot
        mkdir -p ${_dst_boot}/${arch}
        mkinitcpio \
            -c ${script_path}/mkinitcpio.conf \
            -b ${_src} \
            -k /boot/vmlinuz26-crusoe \
            -g ${_dst_boot}/${arch}/archiso.img
        mv ${_src}/boot/vmlinuz26-crusoe ${_dst_boot}/${arch}/vmlinuz
        cp ${_src}/boot/memtest86+/memtest.bin ${_dst_boot}/memtest
        cp ${_src}/usr/share/licenses/common/GPL2/license.txt ${_dst_boot}/memtest.COPYING
        : > ${work_dir}/build.${FUNCNAME}
    fi
}

# Prepare /${install_dir}/boot/syslinux
make_syslinux() {
    if [[ ! -e ${work_dir}/build.${FUNCNAME} ]]; then
        local _src_syslinux=${work_dir}/root-image/usr/lib/syslinux
        local _dst_syslinux=${work_dir}/iso/${install_dir}/boot/syslinux
        mkdir -p ${_dst_syslinux}
        sed "s|%ARCHISO_LABEL%|${iso_label}|g;
            s|%INSTALL_DIR%|${install_dir}|g;
            s|%ARCH%|${arch}|g" ${script_path}/syslinux/syslinux.cfg > ${_dst_syslinux}/syslinux.cfg
        cp ${script_path}/syslinux/splash.png ${_dst_syslinux}
        cp ${_src_syslinux}/*.c32 ${_dst_syslinux}
        cp ${_src_syslinux}/*.com ${_dst_syslinux}
        cp ${_src_syslinux}/*.0 ${_dst_syslinux}
        cp ${_src_syslinux}/memdisk ${_dst_syslinux}
        mkdir -p ${_dst_syslinux}/hdt
        wget -O - http://pciids.sourceforge.net/v2.2/pci.ids | gzip -9 > ${_dst_syslinux}/hdt/pciids.gz
        cat ${work_dir}/root-image/lib/modules/*-ARCH/modules.alias | gzip -9 > ${_dst_syslinux}/hdt/modalias.gz
        : > ${work_dir}/build.${FUNCNAME}
    fi
}

# Prepare /isolinux
make_isolinux() {
    if [[ ! -e ${work_dir}/build.${FUNCNAME} ]]; then
        mkdir -p ${work_dir}/iso/isolinux
        sed "s|%INSTALL_DIR%|${install_dir}|g" ${script_path}/isolinux/isolinux.cfg > ${work_dir}/iso/isolinux/isolinux.cfg
        cp ${work_dir}/root-image/usr/lib/syslinux/isolinux.bin ${work_dir}/iso/isolinux/
        cp ${work_dir}/root-image/usr/lib/syslinux/isohdpfx.bin ${work_dir}/iso/isolinux/
        : > ${work_dir}/build.${FUNCNAME}
    fi
}

# Split out /lib/modules from root-image (makes more "dual-iso" friendly)
make_lib_modules() {
    if [[ ! -e ${work_dir}/build.${FUNCNAME} ]]; then
        mv ${work_dir}/root-image/lib/modules ${work_dir}/lib-modules
        : > ${work_dir}/build.${FUNCNAME}
    fi
}

# Split out /usr/share from root-image (makes more "dual-iso" friendly)
make_usr_share() {
    if [[ ! -e ${work_dir}/build.${FUNCNAME} ]]; then
        mv ${work_dir}/root-image/usr/share ${work_dir}/usr-share
        : > ${work_dir}/build.${FUNCNAME}
    fi
}

# Make [core] repository, keep "any" pkgs in a separate fs (makes more "dual-iso" friendly)
make_core_repo() {
    if [[ ! -e ${work_dir}/build.${FUNCNAME} ]]; then
        local _url _urls _pkg_name _cached_pkg _dst _pkgs
        mkdir -p ${work_dir}/repo-core-any
        mkdir -p ${work_dir}/repo-core-${arch}
        pacman -Sy
        _pkgs=$(comm -2 -3 <(pacman -Sql core | sort | sed 's@^@core/@') \
                           <(grep -v ^# ${script_path}/core.exclude.${arch} | sort | sed 's@^@core/@'))
        _urls=$(pacman -Sddp ${_pkgs})
        pacman -Swdd --noconfirm ${_pkgs}
        for _url in ${_urls}; do
            _pkg_name=${_url##*/}
            _cached_pkg=/var/cache/pacman/pkg/${_pkg_name}
            _dst=${work_dir}/repo-core-${arch}/${_pkg_name}
            cp ${_cached_pkg} ${_dst}
            repo-add -q ${work_dir}/repo-core-${arch}/core.db.tar.gz ${_dst}
            if [[ ${_pkg_name} == *any.pkg.tar* ]]; then
                mv ${_dst} ${work_dir}/repo-core-any/${_pkg_name}
                ln -sf ../any/${_pkg_name} ${_dst}
            fi
        done
        : > ${work_dir}/build.${FUNCNAME}
    fi
}

# Process aitab
# args: $1 (core | netinstall)
make_aitab() {
    local _iso_type=${1}
    if [[ ! -e ${work_dir}/build.${FUNCNAME}_${_iso_type} ]]; then
        sed "s|%ARCH%|${arch}|g" ${script_path}/aitab.${_iso_type} > ${work_dir}/iso/${install_dir}/aitab
        : > ${work_dir}/build.${FUNCNAME}_${_iso_type}
    fi
}

# Build all filesystem images specified in aitab (.fs .fs.sfs .sfs)
make_prepare() {
    mkarchiso ${verbose} -w "${work_dir}" -D "${install_dir}" prepare
}

# Build ISO
# args: $1 (core | netinstall)
make_iso() {
    local _iso_type=${1}
    mkarchiso ${verbose} -w "${work_dir}" -D "${install_dir}" checksum
    mkarchiso ${verbose} -w "${work_dir}" -D "${install_dir}" -L "${iso_label}" -o "${out_dir}" iso "${iso_name}-${iso_version}-${_iso_type}-${arch}.iso"
}

# Build dual-iso images from ${work_dir}/i686/iso and ${work_dir}/x86_64/iso
# args: $1 (core | netinstall)
make_dual() {
    local _iso_type=${1}
    if [[ ! -e ${work_dir}/dual/build.${FUNCNAME}_${_iso_type} ]]; then
        if [[ ! -d ${work_dir}/i686/iso || ! -d ${work_dir}/x86_64/iso ]]; then
            echo "ERROR: i686 or x86_64 builds does not exist."
            _usage 1
        fi
        local _src_one _src_two _cfg
        if [[ ${arch} == "i686" ]]; then
            _src_one=${work_dir}/i686/iso
            _src_two=${work_dir}/x86_64/iso
        else
            _src_one=${work_dir}/x86_64/iso
            _src_two=${work_dir}/i686/iso
        fi
        mkdir -p ${work_dir}/dual/iso
        cp -a -l -f ${_src_one} ${work_dir}/dual
        cp -a -l -n ${_src_two} ${work_dir}/dual
        rm -f ${work_dir}/dual/iso/${install_dir}/aitab
        rm -f ${work_dir}/dual/iso/${install_dir}/boot/syslinux/syslinux.cfg
        if [[ ${_iso_type} == "core" ]]; then
            if [[ ! -e ${work_dir}/dual/iso/${install_dir}/any/repo-core-any.sfs ||
                  ! -e ${work_dir}/dual/iso/${install_dir}/i686/repo-core-i686.sfs ||
                  ! -e ${work_dir}/dual/iso/${install_dir}/x86_64/repo-core-x86_64.sfs ]]; then
                    echo "ERROR: core_iso_single build is not found."
                    _usage 1
            fi
        else
            rm -f ${work_dir}/dual/iso/${install_dir}/any/repo-core-any.sfs
            rm -f ${work_dir}/dual/iso/${install_dir}/i686/repo-core-i686.sfs
            rm -f ${work_dir}/dual/iso/${install_dir}/x86_64/repo-core-x86_64.sfs
        fi
        paste -d"\n" <(sed "s|%ARCH%|i686|g" ${script_path}/aitab.${_iso_type}) \
                     <(sed "s|%ARCH%|x86_64|g" ${script_path}/aitab.${_iso_type}) | uniq > ${work_dir}/dual/iso/${install_dir}/aitab
        for _cfg in ${script_path}/syslinux.dual/*.cfg; do
            sed "s|%ARCHISO_LABEL%|${iso_label}|g;
                 s|%INSTALL_DIR%|${install_dir}|g" ${_cfg} > ${work_dir}/dual/iso/${install_dir}/boot/syslinux/${_cfg##*/}
        done
        mkarchiso ${verbose} -w "${work_dir}/dual" -D "${install_dir}" checksum
        mkarchiso ${verbose} -w "${work_dir}/dual" -D "${install_dir}" -L "${iso_label}" -o "${out_dir}" iso "${iso_name}-${iso_version}-${_iso_type}-dual.iso"
        : > ${work_dir}/dual/build.${FUNCNAME}_${_iso_type}
    fi
}

purge_single ()
{
    if [[ -d ${work_dir} ]]; then
        find ${work_dir} -mindepth 1 -maxdepth 1 \
            ! -path ${work_dir}/iso -prune \
            | xargs rm -rf
    fi
}

purge_dual ()
{
    if [[ -d ${work_dir}/dual ]]; then
        find ${work_dir}/dual -mindepth 1 -maxdepth 1 \
            ! -path ${work_dir}/dual/iso -prune \
            | xargs rm -rf
    fi
}

clean_single ()
{
    rm -rf ${work_dir}
    rm -f ${out_dir}/${iso_name}-${iso_version}-*-${arch}.iso
}

clean_dual ()
{
    rm -rf ${work_dir}/dual
    rm -f ${out_dir}/${iso_name}-${iso_version}-*-dual.iso
}

make_common_single() {
    make_basefs
    make_packages
    make_customize_root_image
    make_setup_mkinitcpio
    make_boot
    make_syslinux
    make_isolinux
    make_lib_modules
    make_usr_share
    make_aitab $1
    make_prepare $1
    make_iso $1
}

_usage ()
{
    echo "usage ${0} [options] command <command options>"
    echo
    echo " General options:"
    echo "    -N <iso_name>      Set an iso filename (prefix)"
    echo "                        Default: ${iso_name}"
    echo "    -V <iso_version>   Set an iso version (in filename)"
    echo "                        Default: ${iso_version}"
    echo "    -L <iso_label>     Set an iso label (disk label)"
    echo "                        Default: ${iso_label}"
    echo "    -D <install_dir>   Set an install_dir (directory inside iso)"
    echo "                        Default: ${install_dir}"
    echo "    -w <work_dir>      Set the working directory"
    echo "                        Default: ${work_dir}"
    echo "    -o <out_dir>       Set the output directory"
    echo "                        Default: ${out_dir}"
    echo "    -v                 Enable verbose output"
    echo "    -h                 This help message"
    echo
    echo " Commands:"
    echo "   build <mode> <type>"
    echo "      Build selected .iso by <mode> and <type>"
    echo "   purge <mode>"
    echo "      Clean working directory except iso/ directory of build <mode>"
    echo "   clean <mode>"
    echo "      Clean working directory and .iso file in output directory of build <mode>"
    echo
    echo " Command options:"
    echo "         <mode> Valid values 'single' or 'dual'"
    echo "         <type> Valid values 'netinstall', 'core' or 'all'"
    exit ${1}
}

if [[ ${EUID} -ne 0 ]]; then
    echo "This script must be run as root."
    _usage 1
fi

while getopts 'N:V:L:D:w:o:vh' arg; do
    case "${arg}" in
        N) iso_name="${OPTARG}" ;;
        V) iso_version="${OPTARG}" ;;
        L) iso_label="${OPTARG}" ;;
        D) install_dir="${OPTARG}" ;;
        w) work_dir="${OPTARG}" ;;
        o) out_dir="${OPTARG}" ;;
        v) verbose="-v" ;;
        h|?) _usage 0 ;;
        *)
            _msg_error "Invalid argument '${arg}'" 0
            _usage 1
            ;;
    esac
done

shift $((OPTIND - 1))

if [[ $# -lt 1 ]]; then
    echo "No command specified"
    _usage 1
fi
command_name="${1}"

if [[ $# -lt 2 ]]; then
    echo "No command mode specified"
    _usage 1
fi
command_mode="${2}"

if [[ ${command_name} == "build" ]]; then
    if [[ $# -lt 3 ]]; then
        echo "No build type specified"
        _usage 1
    fi
command_type="${3}"
fi

if [[ ${command_mode} == "single" ]]; then
    work_dir=${work_dir}/${arch}
fi

case "${command_name}" in
    build)
        case "${command_mode}" in
            single)
                case "${command_type}" in
                    netinstall)
                        make_common_single netinstall
                        ;;
                    core)
                        make_core_repo
                        make_common_single core
                        ;;
                    all)
                        make_common_single netinstall
                        make_core_repo
                        make_common_single core
                        ;;
                    *)
                        echo "Invalid build type '${command_type}'"
                        _usage 1
                        ;;
                esac
                ;;
            dual)
                case "${command_type}" in
                    netinstall)
                        make_dual netinstall
                        ;;
                    core)
                        make_dual core
                        ;;
                    all)
                        make_dual netinstall
                        make_dual core
                        ;;
                    *)
                        echo "Invalid build type '${command_type}'"
                        _usage 1
                        ;;
                esac
                ;;
            *)
                echo "Invalid build mode '${command_mode}'"
                _usage 1
                ;;
        esac
        ;;
    purge)
        case "${command_mode}" in
            single)
                purge_single
                ;;
            dual)
                purge_dual
                ;;
            *)
                echo "Invalid purge mode '${command_mode}'"
                _usage 1
                ;;
        esac
        ;;
    clean)
        case "${command_mode}" in
            single)
                clean_single
                ;;
            dual)
                clean_dual
                ;;
            *)
                echo "Invalid clean mode '${command_mode}'"
                _usage 1
                ;;
        esac
        ;;
    *)
        echo "Invalid command name '${command_name}'"
        _usage 1
        ;;
esac

Since I have removed base so I can install a custom kernel, I have added the following packages from base into the packages.i686 file

bash
binutils
bzip2
coreutils
cronie
cryptsetup
device-mapper
dhcpcd
diffutils
e2fsprogs
file
filesystem
findutils
gawk
gcc-libs
gettext
glibc
grep
grub
gzip
heirloom-mailx
initscripts
iputils
jfsutils
less
libpipeline
licenses
kernel26-crusoe
logrotate
lvm2
man-db
man-pages
mdadm
nano
pacman
pciutils
pcmciautils
perl
ppp
procps
psmisc
reiserfsprogs
sed
shadow
sysfsutils
syslog-ng
sysvinit
tar
texinfo
udev
usbutils
util-linux
vi
wget
which
wpa_supplicant
xfsprogs

Offline

#19 2011-09-05 01:11:14

djgera
Developer
From: Buenos Aires - Argentina
Registered: 2008-12-24
Posts: 723
Website

Re: [SOLVED] Archiso - i686 build on X86_64 - invalid architecture error

Add 'linux' to provides array in PKGBUILD of kernel26-crusoe wink

Offline

#20 2011-09-05 01:14:44

ArchMed
Member
Registered: 2011-08-27
Posts: 20

Re: [SOLVED] Archiso - i686 build on X86_64 - invalid architecture error

OMG how did I miss that.
Dude you are a legend

Offline

#21 2011-09-05 12:56:30

ArchMed
Member
Registered: 2011-08-27
Posts: 20

Re: [SOLVED] Archiso - i686 build on X86_64 - invalid architecture error

I have the kernel working well now and I have moved onto trying creating a live cd that will run gnome 3.0.
When I looked through the files for your build I did not notice aufs or unionfs anywhere. Firstly is your build designed to run as a live image and if so how are you doing that?
I am having issues with getting gnome to boot properly. I get to the stage where gdm appears and I can put in the password for the regular user then it crashes when gnome-session tries to start and then returns back to gdm login screen. I strongly suspect this is because I have not included aufs or other unions file system yet. Can you please give me some guidance on this.

Edit: I am testing the image on a kvm/qemu virtual machine.

Thank you once again for all your help. I really appreciate it.

Last edited by ArchMed (2011-09-05 12:57:22)

Offline

#22 2011-09-05 14:49:17

djgera
Developer
From: Buenos Aires - Argentina
Registered: 2008-12-24
Posts: 723
Website

Re: [SOLVED] Archiso - i686 build on X86_64 - invalid architecture error

For gnome in archiso see here https://bbs.archlinux.org/viewtopic.php?id=122403

Yes, there is not union filesystem. The desing is at block layer level (using dm-snapshot) instead of vfs level.

Basically is:

mknod /dev/loop132 b 7 132
losetup -r /dev/loop132 /home/vm/chroot32.ext4
dd of=/tmp/chroot32.cow bs=1 count=0 seek=$(blockdev --getsz /dev/loop132)
mknod /dev/loop232 b 7 232
losetup /dev/loop232 /tmp/chroot32.cow
echo "0 $(blockdev --getsz /dev/loop132) snapshot /dev/loop132 /dev/loop232 N 8" | dmsetup create chroot32
mkdir /tmp/chroot32
mount /dev/mapper/chroot32 /tmp/chroot32
Documentation/device-mapper/snapshot.txt wrote:

*) snapshot <origin> <COW device> <persistent?> <chunksize>

A snapshot of the <origin> block device is created. Changed chunks of
<chunksize> sectors will be stored on the <COW device>.  Writes will
only go to the <COW device>.  Reads will come from the <COW device> or
from <origin> for unchanged data.  <COW device> will often be
smaller than the origin and if it fills up the snapshot will become
useless and be disabled, returning errors.  So it is important to monitor
the amount of free space and expand the <COW device> before it fills up.

<persistent?> is P (Persistent) or N (Not persistent - will not survive
after reboot).
The difference is that for transient snapshots less metadata must be
saved on disk - they can be kept in memory by the kernel.

Offline

#23 2011-09-05 21:43:51

ArchMed
Member
Registered: 2011-08-27
Posts: 20

Re: [SOLVED] Archiso - i686 build on X86_64 - invalid architecture error

Where is the code snippet from?

mknod /dev/loop132 b 7 132
losetup -r /dev/loop132 /home/vm/chroot32.ext4
dd of=/tmp/chroot32.cow bs=1 count=0 seek=$(blockdev --getsz /dev/loop132)
mknod /dev/loop232 b 7 232
losetup /dev/loop232 /tmp/chroot32.cow
echo "0 $(blockdev --getsz /dev/loop132) snapshot /dev/loop132 /dev/loop232 N 8" | dmsetup create chroot32
mkdir /tmp/chroot32
mount /dev/mapper/chroot32 /tmp/chroot32

I read the other post you recommended however he did not mention anything about creating a ~/.xinitrc or other files required to get gnome to boot.
I aready tried the following:

Edit inittab and changed the follwing

#id:3:initdefault:
id:5:initdefault:
x:5:respawn:/usr/sbin/gdm -nodaemon

Edit rc.conf

DAEMONS=(hwclock @syslog-ng dbus networkmanager @crond)

I decided to create a both ~/.xinitrc for arch and /etc/skel/.xinitrc just in case but as expected this has made no difference.

Currently the image loads gdm but once I enter the password it begins to start gnome 3 and crashes soon after returning back to the gdm screen. This is on kvm/qemu virtual machine. I do not expect it to start gnome 3 but I do expect it should fall back to gnome panel.
I thought it should fall back to gnome panel by default if the graphics card can't support 3D.

I created an identical image with the only change being that inittab was set to boot 3 and go straight to console. However the booted image appears to be read only and I am not sure if this is the main issue or if there is something inherently wrong with how I have approached installing gnome onto my cd.

Edit: Just in case you need it.
packages.x86_64

linux-ck
linux-ck-headers
aif
b43-fwcutter
btrfs-progs-unstable
crda
curl
ddrescue
dhclient
dialog
dmraid
dnsmasq
dnsutils
dosfstools
elinks
gnu-netcat
hdparm
inetutils
ipw2100-fw
ipw2200-fw
irssi
lftp
lilo
linux-atm
mtools
netcfg
nfs-utils
nilfs-utils
nmap
ntfs-3g
ntfsprogs
ntp
openconnect
openssh
openvpn
parted
pptpclient
rp-pppoe
rsync
smartmontools
speedtouch
tcpdump
vpnc
wireless_tools
wpa_actiond
zd1211-firmware
xf86-video-nouveau
nouveau-dri
mesa
xf86-video-ati
xf86-video-vesa
dbus
xorg-server
xorg-xinit
xorg-utils
xorg-server-utils
networkmanager
network-manager-applet
gnome
gnome-extra
gdm
firefox
chromium
gnome-keyring

Last edited by ArchMed (2011-09-05 21:51:35)

Offline

#24 2011-09-05 21:50:01

djgera
Developer
From: Buenos Aires - Argentina
Registered: 2008-12-24
Posts: 723
Website

Re: [SOLVED] Archiso - i686 build on X86_64 - invalid architecture error

ArchMed wrote:

Where is the code snippet from?

In nothing place, they are the steps to do the same thing as in archiso hook.

avail memory? with what video driver? all packages needed installed? Verify this.

xinitrc is for xinit/startx nothing to do about gdm wink

We are going beyond the topic...

Last edited by djgera (2011-09-05 21:52:41)

Offline

#25 2011-09-05 21:53:31

ArchMed
Member
Registered: 2011-08-27
Posts: 20

Re: [SOLVED] Archiso - i686 build on X86_64 - invalid architecture error

Sorry I edit my previous post with the package list while you were replying. Didn't expect such a quick response.
I want an Nvidia driver for the computer I intend to use it on however I put both nouveau and vesa so I can test it on the VM.
I know xinitrc is just to do with startx but I'm at the stage of trying everything at present I have no clue why it fails after you put the password in.
The password is correct and it works when I login at the shell using it.
I might start a new thread about these issues in that case.
Thanks again.

Last edited by ArchMed (2011-09-05 21:56:17)

Offline

Board footer

Powered by FluxBB