Commit 246a0041 authored by Aaron Griffin's avatar Aaron Griffin
Browse files

Initial commit of syslinux based iso config



Includes vesamenu config... needs testing
Signed-off-by: default avatarAaron Griffin <aaronmgriffin@gmail.com>
parent f77ddc0e
ver=2009.12
kver=2.6.31-ARCH
WORKDIR=work
ARCH?=$(shell uname -m)
BOOTLOADER?=syslinux
PWD=$(shell pwd)
NETname=$(PWD)/archlinux-$(ver)-netinstall-$(ARCH).iso
COREname=$(PWD)/archlinux-$(ver)-core-$(ARCH).iso
PACKAGES="$(shell cat packages.$(ARCH)) $(BOOTLOADER)"
all: net-iso core-iso
# Rules for each type of image
core-iso: $(COREname)
net-iso: $(NETname)
$(COREname): core-pkgs base-fs
mkarchiso -p syslinux iso $(WORKDIR) $@
isohybrid $@
$(NETname): base-fs
mkarchiso -p syslinux iso $(WORKDIR) $@
isohybrid $@
# This is the main rule for make the working filesystem.
base-fs: root-image boot-files initcpio overlay iso-mounts syslinux
# Rules for make the root-image for base filesystem.
root-image: $(WORKDIR)/root-image/.arch-chroot
$(WORKDIR)/root-image/.arch-chroot:
mkarchiso -p $(PACKAGES) create $(WORKDIR)
# Rule for make /boot
boot-files: root-image
cp -r $(WORKDIR)/root-image/boot $(WORKDIR)/iso/
cp -r boot-files/* $(WORKDIR)/iso/boot/
# Rules for initcpio images
initcpio: $(WORKDIR)/iso/boot/archiso.img
$(WORKDIR)/iso/boot/archiso.img: initcpio.cfg root-image
mkdir -p $(WORKDIR)/iso/boot
mkinitcpio -c ./initcpio.cfg -b $(WORKDIR)/root-image -k $(kver) -g $@
# overlay filesystem
overlay:
mkdir -p $(WORKDIR)/overlay/etc/pacman.d
cp -r overlay $(WORKDIR)/
wget -O $(WORKDIR)/overlay/etc/pacman.d/mirrorlist http://www.archlinux.org/mirrorlist/$(ARCH)/all/
sed -i "s/#Server/Server/g" $(WORKDIR)/overlay/etc/pacman.d/mirrorlist
# Rule to process isomounts file.
iso-mounts: $(WORKDIR)/isomounts
$(WORKDIR)/isomounts: isomounts root-image
sed "s|@ARCH@|$(ARCH)|g" isomounts > $@
# Rule for make the [core] repo packages
core-pkgs:
./download-repo.sh core $(WORKDIR)/core-pkgs
# Rules for bootloaders
syslinux: root-image
mkdir -p $(WORKDIR)/iso/boot/isolinux
cp $(WORKDIR)/root-image/usr/lib/syslinux/*.c32 $(WORKDIR)/iso/boot/isolinux/
cp $(WORKDIR)/root-image/usr/lib/syslinux/isolinux.bin $(WORKDIR)/iso/boot/isolinux/
# Clean-up all work
clean:
rm -rf $(WORKDIR) $(NETname) $(COREname)
.PHONY: all core-iso net-iso
.PHONY: base-fs
.PHONY: root-image boot-files initcpio overlay iso-mounts
.PHONY: core-pkgs
.PHONY: syslinux
.PHONY: clean
splashsmall.rle
0e2009.0107
Troubleshooting, Help:
----------------------------------
Problem with your IDE drives? Try booting the 0earchide07 image.
Usefull kernelparameters in case of trouble:
0eacpi=off07
0enoapic07
0epci=routeirq07
Append these to the available flavors, ex. arch noapic
0eF107 -> Start screen, 0eF207 -> Boot options
DEFAULT vesamenu.c32
PROMPT 0
MENU TITLE Arch Linux Live ISO Menu
MENU BACKGROUND background.png
MENU ROWS 14
MENU TABMSGROW 22
MENU CMDLINEROW 22
MENU ENDROW 24
TIMEOUT 0
LABEL arch
MENU LABEL ^A: Boot Arch Linux Live ISO
KERNEL /boot/vmlinuz26
APPEND lang=en locale=en_US.UTF-8 archisolabel=XXX tmpfs_size=75% initrd=/boot/archiso.img
LABEL help
MENU LABEL ^S: Help
KERNEL cat.c32 help.msg
Arch Linux Live CD - 2009.01
Release Notes
--------------------------
** TODO **
#!/bin/sh
# This script downloads a entire pacman repo to a dir
# using the locally configured best mirror.
#
# Copyright (c) 2009 Aaron Griffin <aaronmgriffin@gmail.com>
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 2 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
REPO="$1"
DEST="$2"
REPO_CHANGED=n
if [ -z "$REPO" -o -z "$DEST" ]; then
echo "usage: $(basename $0) <reponame> <dest-dir>"
exit 1
fi
if [ $EUID -ne 0 ]; then
echo "This script must be run as root (for pacman -Sp)"
exit 1
fi
[ -d "$DEST" ] || mkdir -p "$DEST"
#update repos
/usr/bin/pacman -Sy
#Ensure we have core/pkgname format, so we don't get crap from other repos
PKGS=$(/usr/bin/pacman -Sl $REPO | cut -d' ' -f1,2 | tr ' ' '/')
if [ -n "$PKGS" ]; then
baseurl=""
cachedir="/var/cache/pacman/pkg"
for url in $(/usr/bin/pacman -Sp $PKGS | grep '://'); do
baseurl="$(dirname "$url")" #save for later
pkgname="$(basename "$url")"
cachedpkg="$cachedir/$pkgname"
if [ ! -e "$DEST/$pkgname" ]; then
if [ -e "$cachedpkg" ]; then
cp -v "$cachedpkg" "$DEST/$pkgname"
REPO_CHANGED=y
else
wget -nv "$url" -O "$DEST/$pkgname"
REPO_CHANGED=y
fi
fi
done
if [ "$REPO_CHANGED" = "y" ]; then
wget -nv "$baseurl/$REPO.db.tar.gz" -O "$DEST/$REPO.db.tar.gz"
fi
else
echo "No packages to download... what'd you break?"
exit 1
fi
# vim:set ft=sh
MODULES=""
BINARIES=""
FILES=""
HOOKS="base archiso-early udev archiso pata scsi sata usb fw pcmcia filesystems usbinput"
Arch Linux
Installation and Live-CDs
----------------------------
All CDs and USB images are installation mediums and Live CDs
which can be used as maintenance and rescue systems.
FTP-ISOs/Images:
----------------
These are the preferred install mediums for Arch Linux.
You can always get up to date packages using these mediums.
archlinux-2009.02-ftp-i686.iso i686/32bit CD-ISO
archlinux-2009.02-ftp-i686.img i686/32bit USB-Image
archlinux-2009.02-ftp-x86_64.iso x86_64/64bit CD-ISO
archlinux-2009.02-ftp-x86_64.img x86_64/64bit USB-Image
For those who have problems with GRUB not loading, we offer the following
ISOs with the isolinux bootloader:
archlinux-2009.02-isolinux-ftp-i686.iso i686/32bit CD-ISO
archlinux-2009.02-isolinux-ftp-x86_64.iso x86_64/64bit CD-ISO
Core-ISOs/Images:
-----------------
These are for offline installations when no Internet access is available
to install the base system.
archlinux-2009.02-core-i686.iso i686/32bit CD-ISO
archlinux-2009.02-core-i686.img i686/32bit USB-Image
archlinux-2009.02-core-x86_64.iso x86_64/64bit CD-ISO
archlinux-2009.02-core-x86_64.img x86_64/64bit USB-Image
How to use these installation images:
-------------------------------------
Please ensure the sha1sum for your downloaded file matches the checksum
in the the SHA1SUMS file in this directory.
See section in the "Arch Linux Install Guide":
http://wiki.archlinux.org/index.php/Official_Arch_Linux_Install_Guide
For the USB-Images see:
http://wiki.archlinux.org/index.php/Install_from_USB_stick
Happy installing!
Happy ARCHing!
- Arch Linux Release Engineering team
# archiso isomounts file
# img - location of image/directory to mount relative to addons directory
# arch - architecture of this image
# mount point - absolute location on the post-initrd root
# type - either 'bind' or 'squashfs' for now
# syntax: <img> <arch> <mount point> <type>
# ORDER MATTERS! Files take top-down precedence. Be careful
overlay.sqfs @ARCH@ / squashfs
core-pkgs.sqfs @ARCH@ /src/core/pkg squashfs
root-image.sqfs @ARCH@ / squashfs
#!/bin/sh
#
aif -p interactive
# vim: set ft=sh:
cmdline_param ()
{
for param in ${CMDLINE}; do
case "${param}" in
$1=*) echo "${param##*=}"; return ;;
*) continue ;;
esac
done
[ -n "${2}" ] && echo "${2}"
}
#!/bin/sh
. /etc/archiso/functions
shell="$(cmdline_param shell)"
[ -n "${shell}" ] && shell="/bin/bash"
[ ! -e "${shell}" ] && shell="/bin/sh"
exec ${shell}
# /etc/fstab: static file system information
# <file system> <dir> <type> <options> <dump> <pass>
aufs / aufs noauto 0 0
none /dev/pts devpts defaults 0 0
none /dev/shm tmpfs defaults 0 0
/dev/cdrom /bootcd iso9660 ro,user,noauto 0 0
### Auto generated entries get added here:
root:x:0:root
bin:x:1:root,bin,daemon
daemon:x:2:root,bin,daemon
sys:x:3:root,bin
adm:x:4:root,daemon
tty:x:5:
disk:x:6:root,arch
lp:x:7:daemon
mem:x:8:
kmem:x:9:
wheel:x:10:root,arch
ftp:x:11:
mail:x:12:
uucp:x:14:
log:x:19:root
locate:x:21:
smmsp:x:25:
http:x:33:
games:x:50:
network:x:90:
video:x:91:
audio:x:92:arch
optical:x:93:arch
floppy:x:94:
storage:x:95:
scanner:x:96:
power:x:98:
nobody:x:99:
users:x:100:arch
root:::root
bin:::root,bin,daemon
daemon:::root,bin,daemon
sys:::root,bin
adm:::root,daemon
tty:::
disk:::root,arch
lp:::daemon
mem:::
kmem:::
wheel:::root,arch
ftp:::
mail:::
uucp:::
log:::root
locate:::
smmsp:::
http:::
games:::
network:x::
video:x::
audio:::arch
optical:::arch
floppy:x::
storage:x::
scanner:x::
power:x::
nobody:::
users:::arch
#
# /etc/hosts: static lookup table for host names
#
#<ip-address> <hostname.domain.org> <hostname>
127.0.0.1 localhost.localdomain localhost archiso
# End of file

Arch Linux Live ISO (\l)
\s-\r \m.
Default logins "root" and "arch" have no password.
To begin installation, login as root.
# Configuration file for locale-gen
#
# lists of locales that are to be generated by the locale-gen command.
#
# Each line is of the form:
#
# <locale> <charset>
#
# where <locale> is one of the locales given in /usr/share/i18n/locales
# and <charset> is one of the character sets listed in /usr/share/i18n/charmaps
#
# Examples:
# en_US ISO-8859-1
# en_US.UTF-8 UTF-8
# de_DE ISO-8859-1
# de_DE@euro ISO-8859-15
#
# The locale-gen command will generate all the locales,
# placing them in /usr/lib/locale.
#
# A list of supported locales is included in this file.
# Uncomment the ones you need.
#
#aa_DJ.UTF-8 UTF-8
#aa_DJ ISO-8859-1
#aa_ER UTF-8
#aa_ER@saaho UTF-8
#aa_ET UTF-8
#af_ZA.UTF-8 UTF-8
#af_ZA ISO-8859-1
#am_ET UTF-8
#an_ES.UTF-8 UTF-8
#an_ES ISO-8859-15
#ar_AE.UTF-8 UTF-8
#ar_AE ISO-8859-6
#ar_BH.UTF-8 UTF-8
#ar_BH ISO-8859-6
#ar_DZ.UTF-8 UTF-8
#ar_DZ ISO-8859-6
#ar_EG.UTF-8 UTF-8
#ar_EG ISO-8859-6
#ar_IN UTF-8
#ar_IQ.UTF-8 UTF-8
#ar_IQ ISO-8859-6
#ar_JO.UTF-8 UTF-8
#ar_JO ISO-8859-6
#ar_KW.UTF-8 UTF-8
#ar_KW ISO-8859-6
#ar_LB.UTF-8 UTF-8
#ar_LB ISO-8859-6
#ar_LY.UTF-8 UTF-8
#ar_LY ISO-8859-6
#ar_MA.UTF-8 UTF-8
#ar_MA ISO-8859-6
#ar_OM.UTF-8 UTF-8
#ar_OM ISO-8859-6
#ar_QA.UTF-8 UTF-8
#ar_QA ISO-8859-6
#ar_SA.UTF-8 UTF-8
#ar_SA ISO-8859-6
#ar_SD.UTF-8 UTF-8
#ar_SD ISO-8859-6
#ar_SY.UTF-8 UTF-8
#ar_SY ISO-8859-6
#ar_TN.UTF-8 UTF-8
#ar_TN ISO-8859-6
#ar_YE.UTF-8 UTF-8
#ar_YE ISO-8859-6
#az_AZ.UTF-8 UTF-8
#be_BY.UTF-8 UTF-8
#be_BY CP1251
#bg_BG.UTF-8 UTF-8
#bg_BG CP1251
#bn_BD UTF-8
#bn_IN UTF-8
#br_FR.UTF-8 UTF-8
#br_FR ISO-8859-1
#br_FR@euro ISO-8859-15
#bs_BA.UTF-8 UTF-8
#bs_BA ISO-8859-2
#byn_ER UTF-8
#ca_ES.UTF-8 UTF-8
#ca_ES ISO-8859-1
#ca_ES@euro ISO-8859-15
#cs_CZ.UTF-8 UTF-8
#cs_CZ ISO-8859-2
#cy_GB.UTF-8 UTF-8
#cy_GB ISO-8859-14
#da_DK.UTF-8 UTF-8
#da_DK ISO-8859-1
#de_AT.UTF-8 UTF-8
#de_AT ISO-8859-1
#de_AT@euro ISO-8859-15
#de_BE.UTF-8 UTF-8
#de_BE ISO-8859-1
#de_BE@euro ISO-8859-15
#de_CH.UTF-8 UTF-8
#de_CH ISO-8859-1
#de_DE.UTF-8 UTF-8
#de_DE ISO-8859-1
#de_DE@euro ISO-8859-15
#de_LU.UTF-8 UTF-8
#de_LU ISO-8859-1
#de_LU@euro ISO-8859-15
#el_GR.UTF-8 UTF-8
#el_GR ISO-8859-7
#en_AU.UTF-8 UTF-8
#en_AU ISO-8859-1
#en_BW.UTF-8 UTF-8
#en_BW ISO-8859-1
#en_CA.UTF-8 UTF-8
#en_CA ISO-8859-1
#en_DK.UTF-8 UTF-8
#en_DK ISO-8859-1
#en_GB.UTF-8 UTF-8
#en_GB ISO-8859-1
#en_HK.UTF-8 UTF-8
#en_HK ISO-8859-1
#en_IE.UTF-8 UTF-8
#en_IE ISO-8859-1
#en_IE@euro ISO-8859-15
#en_IN UTF-8
#en_NZ.UTF-8 UTF-8
#en_NZ ISO-8859-1
#en_PH.UTF-8 UTF-8
#en_PH ISO-8859-1
#en_SG.UTF-8 UTF-8
#en_SG ISO-8859-1
en_US.UTF-8 UTF-8
en_US ISO-8859-1
#en_ZA.UTF-8 UTF-8
#en_ZA ISO-8859-1
#en_ZW.UTF-8 UTF-8
#en_ZW ISO-8859-1
#es_AR.UTF-8 UTF-8
#es_AR ISO-8859-1
#es_BO.UTF-8 UTF-8
#es_BO ISO-8859-1
#es_CL.UTF-8 UTF-8
#es_CL ISO-8859-1
#es_CO.UTF-8 UTF-8
#es_CO ISO-8859-1
#es_CR.UTF-8 UTF-8
#es_CR ISO-8859-1
#es_DO.UTF-8 UTF-8
#es_DO ISO-8859-1
#es_EC.UTF-8 UTF-8
#es_EC ISO-8859-1
#es_ES.UTF-8 UTF-8
#es_ES ISO-8859-1
#es_ES@euro ISO-8859-15
#es_GT.UTF-8 UTF-8
#es_GT ISO-8859-1
#es_HN.UTF-8 UTF-8
#es_HN ISO-8859-1
#es_MX.UTF-8 UTF-8
#es_MX ISO-8859-1
#es_NI.UTF-8 UTF-8
#es_NI ISO-8859-1
#es_PA.UTF-8 UTF-8
#es_PA ISO-8859-1
#es_PE.UTF-8 UTF-8
#es_PE ISO-8859-1
#es_PR.UTF-8 UTF-8
#es_PR ISO-8859-1
#es_PY.UTF-8 UTF-8
#es_PY ISO-8859-1
#es_SV.UTF-8 UTF-8
#es_SV ISO-8859-1
#es_US.UTF-8 UTF-8
#es_US ISO-8859-1
#es_UY.UTF-8 UTF-8
#es_UY ISO-8859-1
#es_VE.UTF-8 UTF-8
#es_VE ISO-8859-1
#et_EE.UTF-8 UTF-8
#et_EE ISO-8859-1
#et_EE.ISO-8859-15 ISO-8859-15
#eu_ES.UTF-8 UTF-8
#eu_ES ISO-8859-1
#eu_ES@euro ISO-8859-15
#fa_IR UTF-8
#fi_FI.UTF-8 UTF-8
#fi_FI ISO-8859-1
#fi_FI@euro ISO-8859-15
#fo_FO.UTF-8 UTF-8
#fo_FO ISO-8859-1
#fr_BE.UTF-8 UTF-8
#fr_BE ISO-8859-1
#fr_BE@euro ISO-8859-15
#fr_CA.UTF-8 UTF-8
#fr_CA ISO-8859-1
#fr_CH.UTF-8 UTF-8
#fr_CH ISO-8859-1
#fr_FR.UTF-8 UTF-8
#fr_FR ISO-8859-1
#fr_FR@euro ISO-8859-15
#fr_LU.UTF-8 UTF-8
#fr_LU ISO-8859-1
#fr_LU@euro ISO-8859-15
#ga_IE.UTF-8 UTF-8
#ga_IE ISO-8859-1
#ga_IE@euro ISO-8859-15
#gd_GB.UTF-8 UTF-8
#gd_GB ISO-8859-15
#gez_ER UTF-8
#gez_ER@abegede UTF-8
#gez_ET UTF-8
#gez_ET@abegede UTF-8
#gl_ES.UTF-8 UTF-8
#gl_ES ISO-8859-1
#gl_ES@euro ISO-8859-15
#gu_IN UTF-8
#gv_GB.UTF-8 UTF-8
#gv_GB ISO-8859-1
#he_IL.UTF-8 UTF-8
#he_IL ISO-8859-8
#hi_IN UTF-8
#hr_HR.UTF-8 UTF-8
#hr_HR ISO-8859-2
#hu_HU.UTF-8 UTF-8
#hu_HU ISO-8859-2
#id_ID.UTF-8 UTF-8