Add script archiso2dual, a tool for merging two archiso images
The installation is separated from main archiso. Signed-off-by: Gerardo Exequiel Pozzi <vmlinuz386@yahoo.com.ar>
This commit is contained in:
parent
81a7198c9c
commit
1a80486e95
7 changed files with 625 additions and 0 deletions
13
archiso2dual/Makefile
Normal file
13
archiso2dual/Makefile
Normal file
|
@ -0,0 +1,13 @@
|
|||
all:
|
||||
|
||||
install: all
|
||||
install -D -m 755 archiso2dual $(DESTDIR)/usr/sbin/archiso2dual
|
||||
install -d -m 644 $(DESTDIR)/usr/share/archiso2dual/
|
||||
install -D -m 644 isomounts.i686 $(DESTDIR)/usr/share/archiso2dual/isomounts.i686
|
||||
install -D -m 644 isomounts.x86_64 $(DESTDIR)/usr/share/archiso2dual/isomounts.x86_64
|
||||
install -D -m 644 isomounts.x86_64-i686 $(DESTDIR)/usr/share/archiso2dual/isomounts.x86_64-i686
|
||||
install -D -m 644 isolinux.cfg $(DESTDIR)/usr/share/archiso2dual/isolinux.cfg
|
||||
|
||||
uninstall:
|
||||
rm -f $(DESTDIR)/usr/sbin/archiso2dual
|
||||
rm -rf $(DESTDIR)/usr/share/archiso2dual
|
49
archiso2dual/README
Normal file
49
archiso2dual/README
Normal file
|
@ -0,0 +1,49 @@
|
|||
Tree structure of an iso image archlinux-2010.02.25-core-dual.iso (652MB)
|
||||
running with profile "full":
|
||||
|
||||
# tree -h -I *.c32
|
||||
.
|
||||
|-- [ 92] any
|
||||
| `-- [ 29M] usrshare.sqfs
|
||||
|-- [ 496] boot
|
||||
| |-- [ 140] i686
|
||||
| | |-- [5.6M] archiso.img
|
||||
| | `-- [1.7M] vmlinuz26
|
||||
| |-- [1.6K] isolinux
|
||||
| | |-- [ 0] boot.cat
|
||||
| | |-- [ 14K] isolinux.bin
|
||||
| | |-- [2.5K] isolinux.cfg
|
||||
| | `-- [ 25K] memdisk
|
||||
| |-- [157K] memtest
|
||||
| |-- [ 18K] memtest.COPYING
|
||||
| |-- [ 70] releasenotes.txt
|
||||
| |-- [ 44K] splash.png
|
||||
| |-- [ 140] x86_64
|
||||
| | |-- [5.7M] archiso.img
|
||||
| | `-- [1.9M] vmlinuz26
|
||||
| |-- [ 38K] x86test
|
||||
| `-- [ 18K] x86test.COPYING
|
||||
|-- [ 260] i686
|
||||
| |-- [209M] core-pkgs.sqfs
|
||||
| |-- [ 24M] libmodules.sqfs
|
||||
| |-- [8.0K] overlay.sqfs
|
||||
| `-- [ 58M] root-image.sqfs
|
||||
|-- [ 210] isomounts.i686
|
||||
|-- [ 228] isomounts.x86_64
|
||||
|-- [ 226] isomounts.x86_64-i686
|
||||
`-- [ 260] x86_64
|
||||
|-- [222M] core-pkgs.sqfs
|
||||
|-- [ 25M] libmodules.sqfs
|
||||
|-- [8.0K] overlay.sqfs
|
||||
`-- [ 66M] root-image.sqfs
|
||||
|
||||
7 directories, 26 files
|
||||
|
||||
# ls -1sh
|
||||
total 1.9G
|
||||
652M archlinux-2010.02.25-core-dual.iso
|
||||
363M archlinux-2010.02.25-core-i686.iso
|
||||
385M archlinux-2010.02.25-core-x86_64.iso
|
||||
220M archlinux-2010.02.25-netinstall-dual.iso
|
||||
153M archlinux-2010.02.25-netinstall-i686.iso
|
||||
163M archlinux-2010.02.25-netinstall-x86_64.iso
|
457
archiso2dual/archiso2dual
Executable file
457
archiso2dual/archiso2dual
Executable file
|
@ -0,0 +1,457 @@
|
|||
#!/bin/bash
|
||||
|
||||
#
|
||||
# Join two Arch Linux iso images of i686 and x86_64 architecture.
|
||||
# Contributed for archiso by Gerardo Exequiel Pozzi <vmlinuz386@yahoo.com.ar>
|
||||
#
|
||||
|
||||
set -e -u
|
||||
|
||||
publisher="Arch Linux <http://www.archlinux.org>"
|
||||
application="Arch Linux Live/Rescue disk"
|
||||
label="ARCH_$(date +%Y%m)"
|
||||
isofile_i686=""
|
||||
isofile_x86_64=""
|
||||
imgname=""
|
||||
quiet="y"
|
||||
profile_type="basic"
|
||||
work_dir="/tmp/archiso2dual"
|
||||
isomounts_file="/usr/share/archiso2dual/isomounts"
|
||||
isolinuxcfg_file="/usr/share/archiso2dual/isolinux.cfg"
|
||||
appname=${0##*/}
|
||||
_error="0"
|
||||
_confirm="n"
|
||||
_v=""
|
||||
|
||||
iso_umount() {
|
||||
echo "Executing: ${FUNCNAME}"
|
||||
trap - 0 1 2 15
|
||||
umount ${_v} ${work_dir}/i686/mnt
|
||||
umount ${_v} ${work_dir}/x86_64/mnt
|
||||
}
|
||||
|
||||
iso_mount() {
|
||||
echo "Executing: ${FUNCNAME}"
|
||||
trap 'iso_umount' 0 1 2 15
|
||||
mount ${_v} -t udf -o ro,loop ${isofile_i686} ${work_dir}/i686/mnt
|
||||
mount ${_v} -t udf -o ro,loop ${isofile_x86_64} ${work_dir}/x86_64/mnt
|
||||
}
|
||||
|
||||
kernel_copy() {
|
||||
echo "Executing: ${FUNCNAME}"
|
||||
for _arch in i686 x86_64; do
|
||||
cp ${_v} $work_dir/${_arch}/mnt/boot/archiso.img $work_dir/iso/boot/${_arch}/archiso.img
|
||||
cp ${_v} $work_dir/${_arch}/mnt/boot/vmlinuz26 $work_dir/iso/boot/${_arch}/vmlinuz26
|
||||
done
|
||||
}
|
||||
|
||||
isolinux_copy() {
|
||||
echo "Executing: ${FUNCNAME}"
|
||||
cp ${_v} $work_dir/i686/mnt/boot/{memtest*,releasenotes.txt,splash.png,x86test*} $work_dir/iso/boot/
|
||||
cp ${_v} $work_dir/i686/mnt/boot/isolinux/*.c32 $work_dir/iso/boot/isolinux/
|
||||
cp ${_v} $work_dir/i686/mnt/boot/isolinux/memdisk $work_dir/iso/boot/isolinux/
|
||||
cp ${_v} $work_dir/i686/mnt/boot/isolinux/isolinux.bin $work_dir/iso/boot/isolinux/
|
||||
}
|
||||
|
||||
isolinuxcfg_copy() {
|
||||
echo "Executing: ${FUNCNAME}"
|
||||
sed "s|XXX|${label}|g" ${isolinuxcfg_file} > $work_dir/iso/boot/isolinux/isolinux.cfg
|
||||
}
|
||||
|
||||
isomounts_copy() {
|
||||
echo "Executing: ${FUNCNAME}"
|
||||
cp ${_v} ${isomounts_file}.i686 $work_dir/iso/
|
||||
cp ${_v} ${isomounts_file}.x86_64 $work_dir/iso/
|
||||
cp ${_v} ${isomounts_file}.x86_64-i686 $work_dir/iso/
|
||||
}
|
||||
|
||||
squashfs_copy() {
|
||||
echo "Executing: ${FUNCNAME}"
|
||||
for _arch in i686 x86_64; do
|
||||
cp ${_v} $work_dir/${_arch}/mnt/*.sqfs $work_dir/iso/${_arch}/
|
||||
done
|
||||
}
|
||||
|
||||
make_iso() {
|
||||
echo "Executing: ${FUNCNAME}"
|
||||
if [ "${quiet}" = "y" ]; then
|
||||
_qflag="-quiet"
|
||||
else
|
||||
_qflag=""
|
||||
fi
|
||||
mkisofs ${_v} ${_qflag} -r -l \
|
||||
-b boot/isolinux/isolinux.bin -c boot/isolinux/boot.cat \
|
||||
-uid 0 -gid 0 \
|
||||
-udf -allow-limited-size -iso-level 3 \
|
||||
-input-charset utf-8 -p "prepared by archiso2dual" \
|
||||
-no-emul-boot -boot-load-size 4 -boot-info-table \
|
||||
-publisher "${publisher}" \
|
||||
-A "${application}" \
|
||||
-V "${label}" \
|
||||
-o "${imgname}" "${work_dir}/iso/"
|
||||
isohybrid -offset 1 "${imgname}"
|
||||
}
|
||||
|
||||
unsquashfs_image() {
|
||||
echo "Executing: ${FUNCNAME}"
|
||||
img=${1}
|
||||
arch=${2}
|
||||
rm -rf ${work_dir}/tmp/${arch}/${img}
|
||||
if [ "${quiet}" = "y" ]; then
|
||||
unsquashfs -d ${work_dir}/tmp/${arch}/${img} $work_dir/iso/${arch}/${img}.sqfs > /dev/null
|
||||
else
|
||||
unsquashfs -d ${work_dir}/tmp/${arch}/${img} $work_dir/iso/${arch}/${img}.sqfs
|
||||
fi
|
||||
}
|
||||
|
||||
mksquashfs_image() {
|
||||
echo "Executing: ${FUNCNAME}"
|
||||
img=${1}
|
||||
arch=${2}
|
||||
rm -f ${work_dir}/iso/${arch}/${img}.sqfs
|
||||
if [ "${quiet}" = "y" ]; then
|
||||
mksquashfs ${work_dir}/tmp/${arch}/${img} ${work_dir}/iso/${arch}/${img}.sqfs > /dev/null
|
||||
else
|
||||
mksquashfs ${work_dir}/tmp/${arch}/${img} ${work_dir}/iso/${arch}/${img}.sqfs
|
||||
fi
|
||||
}
|
||||
|
||||
usrshare_copy_from_root_image() {
|
||||
echo "Executing: ${FUNCNAME}"
|
||||
cp -a ${work_dir}/tmp/i686/root-image/usr/share ${work_dir}/tmp/any/usrshare
|
||||
}
|
||||
|
||||
usrshare_purge() {
|
||||
echo "Executing: ${FUNCNAME}"
|
||||
rm -rf ${work_dir}/tmp/any/usrshare/man
|
||||
rm -rf ${work_dir}/tmp/any/usrshare/info
|
||||
rm -rf ${work_dir}/tmp/any/usrshare/doc
|
||||
}
|
||||
|
||||
usrshare_make_image() {
|
||||
echo "Executing: ${FUNCNAME}"
|
||||
mksquashfs_image usrshare any
|
||||
}
|
||||
|
||||
libmodules_make_image() {
|
||||
echo "Executing: ${FUNCNAME}"
|
||||
for _arch in i686 x86_64; do
|
||||
mksquashfs_image libmodules ${_arch}
|
||||
done
|
||||
}
|
||||
|
||||
libmodules_copy_from_root_image() {
|
||||
echo "Executing: ${FUNCNAME}"
|
||||
for _arch in i686 x86_64; do
|
||||
cp -a ${work_dir}/tmp/${_arch}/root-image/lib/modules ${work_dir}/tmp/${_arch}/libmodules
|
||||
done
|
||||
}
|
||||
|
||||
root_image_extract() {
|
||||
echo "Executing: ${FUNCNAME}"
|
||||
for _arch in i686 x86_64; do
|
||||
unsquashfs_image root-image ${_arch}
|
||||
done
|
||||
}
|
||||
|
||||
root_image_make_image() {
|
||||
echo "Executing: ${FUNCNAME}"
|
||||
for _arch in i686 x86_64; do
|
||||
mksquashfs_image root-image ${_arch}
|
||||
done
|
||||
}
|
||||
|
||||
root_image_remove_usrshare() {
|
||||
echo "Executing: ${FUNCNAME}"
|
||||
for _arch in i686 x86_64; do
|
||||
rm -rf ${work_dir}/tmp/${_arch}/root-image/usr/share
|
||||
done
|
||||
}
|
||||
|
||||
root_image_remove_libmodules() {
|
||||
echo "Executing: ${FUNCNAME}"
|
||||
for _arch in i686 x86_64; do
|
||||
rm -rf ${work_dir}/tmp/${_arch}/root-image/lib/modules
|
||||
done
|
||||
}
|
||||
|
||||
root_image_purge() {
|
||||
echo "Executing: ${FUNCNAME}"
|
||||
for _arch in i686 x86_64; do
|
||||
rm -rf ${work_dir}/tmp/${_arch}/root-image/boot
|
||||
rm -rf ${work_dir}/tmp/${_arch}/root-image/usr/include
|
||||
rm -rf ${work_dir}/tmp/${_arch}/root-image/usr/src
|
||||
done
|
||||
}
|
||||
|
||||
make_workspace() {
|
||||
echo "Executing: ${FUNCNAME}"
|
||||
for _arch in i686 x86_64; do
|
||||
mkdir ${_v} -p ${work_dir}/iso/${_arch}
|
||||
mkdir ${_v} -p ${work_dir}/iso/boot/${_arch}
|
||||
mkdir ${_v} -p ${work_dir}/${_arch}/mnt
|
||||
mkdir ${_v} -p ${work_dir}/tmp/${_arch}
|
||||
done
|
||||
mkdir ${_v} -p ${work_dir}/iso/boot/isolinux
|
||||
mkdir ${_v} -p ${work_dir}/iso/any
|
||||
mkdir ${_v} -p ${work_dir}/tmp/any
|
||||
}
|
||||
|
||||
do_common_begin() {
|
||||
make_workspace
|
||||
|
||||
iso_mount
|
||||
|
||||
kernel_copy
|
||||
isolinux_copy
|
||||
squashfs_copy
|
||||
|
||||
iso_umount
|
||||
|
||||
isolinuxcfg_copy
|
||||
isomounts_copy
|
||||
}
|
||||
|
||||
do_common_end() {
|
||||
make_iso
|
||||
}
|
||||
|
||||
do_basic() {
|
||||
do_common_begin
|
||||
do_common_end
|
||||
}
|
||||
|
||||
do_split_us() {
|
||||
do_common_begin
|
||||
|
||||
root_image_extract
|
||||
|
||||
usrshare_copy_from_root_image
|
||||
usrshare_make_image
|
||||
|
||||
root_image_remove_usrshare
|
||||
root_image_make_image
|
||||
|
||||
do_common_end
|
||||
}
|
||||
|
||||
do_split_lm() {
|
||||
do_common_begin
|
||||
|
||||
root_image_extract
|
||||
|
||||
usrshare_copy_from_root_image
|
||||
usrshare_make_image
|
||||
|
||||
libmodules_copy_from_root_image
|
||||
libmodules_make_image
|
||||
|
||||
root_image_remove_usrshare
|
||||
root_image_remove_libmodules
|
||||
root_image_make_image
|
||||
|
||||
do_common_end
|
||||
}
|
||||
|
||||
do_purge_us() {
|
||||
do_common_begin
|
||||
|
||||
root_image_extract
|
||||
|
||||
usrshare_copy_from_root_image
|
||||
usrshare_purge
|
||||
usrshare_make_image
|
||||
|
||||
libmodules_copy_from_root_image
|
||||
libmodules_make_image
|
||||
|
||||
root_image_remove_usrshare
|
||||
root_image_remove_libmodules
|
||||
root_image_make_image
|
||||
|
||||
do_common_end
|
||||
}
|
||||
|
||||
do_full() {
|
||||
do_common_begin
|
||||
|
||||
root_image_extract
|
||||
|
||||
usrshare_copy_from_root_image
|
||||
usrshare_purge
|
||||
usrshare_make_image
|
||||
|
||||
libmodules_copy_from_root_image
|
||||
libmodules_make_image
|
||||
|
||||
root_image_remove_usrshare
|
||||
root_image_remove_libmodules
|
||||
root_image_purge
|
||||
root_image_make_image
|
||||
|
||||
do_common_end
|
||||
}
|
||||
|
||||
|
||||
|
||||
show_help()
|
||||
{
|
||||
exitvalue=${1}
|
||||
echo
|
||||
echo "${appname} [options] -3 <i686.iso> -6 <x86_64.iso> -o <output.iso>"
|
||||
echo
|
||||
echo " needed options:"
|
||||
echo " -3 <i686.iso> Path to i686 source iso image"
|
||||
echo " -6 <x86_64.iso> Path to x86_64 source iso image"
|
||||
echo " -o <output.iso> Path to dual target iso image"
|
||||
echo
|
||||
echo " general options:"
|
||||
echo " -M <isomounts> Path to isomounts files [basename]
|
||||
(default to '${isomounts_file}'"
|
||||
echo " -S <isolinux> Path to isolinux.cfg file
|
||||
(default to '${isolinuxcfg_file}'"
|
||||
echo " -w <workdir> Set work directory
|
||||
(default to '${work_dir}')"
|
||||
echo " -T <profile> Type of target image (work is done on root-image.sqfs):
|
||||
basic: join both images, no changes in *.sqfs
|
||||
split_us: 'basic' + split usr/share/
|
||||
split_lm: 'split_us' + split lib/modules/
|
||||
purge_us: 'split_us' + prune usr/share/{doc,info,man}/
|
||||
full: 'purge_us' + prune boot/ usr/include/ usr/src/
|
||||
(default to '${profile_type}')"
|
||||
echo " -L <label> Set a label for the disk [max 11 chars]
|
||||
(default to '${label}')"
|
||||
echo " -P <publisher> Set a publisher for the disk
|
||||
(default to '${publisher}')"
|
||||
echo " -A <application> Set an application name for the disk
|
||||
(default to '${application}')"
|
||||
echo " -y Confirm execution (otherwise only show configuration)"
|
||||
echo " -v Enable verbose output"
|
||||
echo " -h This message"
|
||||
exit ${exitvalue}
|
||||
}
|
||||
|
||||
show_config() {
|
||||
echo
|
||||
echo "${appname} : Configuration settings"
|
||||
echo " source iso i686 image: ${isofile_i686}"
|
||||
echo " source iso x86_64 image: ${isofile_x86_64}"
|
||||
echo " target iso image: ${imgname}"
|
||||
echo " isomounts file: ${isomounts_file}.{i686,x86_64,x86_64-i686}"
|
||||
echo " isolinux.cfg file: ${isolinuxcfg_file}"
|
||||
echo " working directory: ${work_dir}"
|
||||
echo " profile: ${profile_type}"
|
||||
echo " label: ${label}"
|
||||
echo " publisher: ${publisher}"
|
||||
echo " application: ${application}"
|
||||
echo
|
||||
}
|
||||
|
||||
options_check() {
|
||||
if [ "x${isofile_i686}" = "x" ]; then
|
||||
echo "*ERROR*: -3 <i686.iso> must be specified"
|
||||
_error="1"
|
||||
fi
|
||||
|
||||
if [ "x${isofile_x86_64}" = "x" ]; then
|
||||
echo "*ERROR*: -6 <x86_64.iso> must be specified"
|
||||
_error="1"
|
||||
fi
|
||||
|
||||
if [ "x${imgname}" = "x" ]; then
|
||||
echo "*ERROR*: -o <output.iso> must be specified"
|
||||
_error="1"
|
||||
fi
|
||||
|
||||
if [ ${_error} = "1" ]; then
|
||||
show_help 1
|
||||
fi
|
||||
}
|
||||
|
||||
sanity_check() {
|
||||
echo
|
||||
if [ ! -f "${isofile_i686}" ]; then
|
||||
echo "*ERROR*: ${isofile_i686} does not exist"
|
||||
_error="1"
|
||||
fi
|
||||
|
||||
if [ ! -f "${isofile_x86_64}" ]; then
|
||||
echo "*ERROR*: ${isofile_x86_64} does not exist"
|
||||
_error="1"
|
||||
fi
|
||||
|
||||
if [ -f "${imgname}" ]; then
|
||||
echo "*ERROR*: ${imgname} already exists, aborting"
|
||||
_error="1"
|
||||
fi
|
||||
|
||||
if [ ! -f "${isomounts_file}.i686" ]; then
|
||||
echo "*ERROR*: ${isomounts_file}.i686 does not exist, , specify one with -M option"
|
||||
_error="1"
|
||||
fi
|
||||
|
||||
if [ ! -f "${isomounts_file}.x86_64" ]; then
|
||||
echo "*ERROR*: ${isomounts_file}.x86_64 does not exist, , specify one with -M option"
|
||||
_error="1"
|
||||
fi
|
||||
|
||||
if [ ! -f "${isomounts_file}.x86_64-i686" ]; then
|
||||
echo "*ERROR*: ${isomounts_file}.x86_64-i686 does not exist, , specify one with -M option"
|
||||
_error="1"
|
||||
fi
|
||||
|
||||
if [ ! -f "${isolinuxcfg_file}" ]; then
|
||||
echo "*ERROR*: ${isolinuxcfg_file} does not exist, specify one with -S option"
|
||||
_error="1"
|
||||
fi
|
||||
|
||||
if [ -d "${work_dir}" ]; then
|
||||
echo "*ERROR*: work directory ${work_dir} is present, first delete it"
|
||||
_error="1"
|
||||
fi
|
||||
|
||||
if [ ${_error} = "1" ]; then
|
||||
exit 1
|
||||
fi
|
||||
}
|
||||
|
||||
if [ "$EUID" != "0" ]; then
|
||||
echo "*ERROR*: This script must be run as root."
|
||||
exit 1
|
||||
fi
|
||||
|
||||
while getopts '3:6:o:T:M:S:L:P:A:yvh' arg; do
|
||||
case "${arg}" in
|
||||
3) isofile_i686="${OPTARG}" ;;
|
||||
6) isofile_x86_64="${OPTARG}" ;;
|
||||
o) imgname="${OPTARG}" ;;
|
||||
T) case "${OPTARG}" in
|
||||
"basic"|"split_us"|"split_lm"|"purge_us"|"full") profile_type="${OPTARG}" ;;
|
||||
*) echo; echo "*ERROR*: invalid argument in -T option: ${profile_type}"; show_help 1 ;;
|
||||
esac
|
||||
;;
|
||||
M) isomounts_file="${OPTARG}" ;;
|
||||
S) isolinuxcfg_file="${OPTARG}" ;;
|
||||
L) label="${OPTARG}" ;;
|
||||
P) publisher="${OPTARG}" ;;
|
||||
A) application="${OPTARG}" ;;
|
||||
w) work_dir="${OPTARG}" ;;
|
||||
y) _confirm="y" ;;
|
||||
v) quiet="n"; _v="-v" ;;
|
||||
h|?) show_help 0 ;;
|
||||
*) echo; echo "*ERROR*: invalid argument '${arg}'"; show_help 1 ;;
|
||||
esac
|
||||
done
|
||||
|
||||
options_check
|
||||
sanity_check
|
||||
show_config
|
||||
|
||||
if [ "${_confirm}" != "y" ]; then
|
||||
echo
|
||||
echo "If configuration is correct, re-execute with -y"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# wiiiiiipuuuuu :)
|
||||
do_${profile_type}
|
91
archiso2dual/isolinux.cfg
Normal file
91
archiso2dual/isolinux.cfg
Normal file
|
@ -0,0 +1,91 @@
|
|||
DEFAULT vesamenu.c32
|
||||
PROMPT 0
|
||||
MENU TITLE Arch Linux
|
||||
MENU BACKGROUND /boot/splash.png
|
||||
TIMEOUT 3000
|
||||
|
||||
# TODO: Replace these crappy messages with something useful
|
||||
F1 boot.txt
|
||||
F2 options.txt
|
||||
F3 help.txt
|
||||
|
||||
MENU WIDTH 78
|
||||
MENU MARGIN 4
|
||||
MENU ROWS 8
|
||||
MENU VSHIFT 10
|
||||
MENU TIMEOUTROW 13
|
||||
MENU TABMSGROW 11
|
||||
MENU CMDLINEROW 11
|
||||
MENU HELPMSGROW 16
|
||||
MENU HELPMSGENDROW 29
|
||||
|
||||
# Refer to http://syslinux.zytor.com/wiki/index.php/Doc/menu
|
||||
|
||||
MENU COLOR border 30;44 #40ffffff #a0000000 std
|
||||
MENU COLOR title 1;36;44 #9033ccff #a0000000 std
|
||||
MENU COLOR sel 7;37;40 #e0ffffff #20ffffff all
|
||||
MENU COLOR unsel 37;44 #50ffffff #a0000000 std
|
||||
MENU COLOR help 37;40 #c0ffffff #a0000000 std
|
||||
MENU COLOR timeout_msg 37;40 #80ffffff #00000000 std
|
||||
MENU COLOR timeout 1;37;40 #c0ffffff #00000000 std
|
||||
MENU COLOR msg07 37;40 #90ffffff #a0000000 std
|
||||
MENU COLOR tabmsg 31;40 #30ffffff #00000000 std
|
||||
|
||||
LABEL arch32
|
||||
TEXT HELP
|
||||
Boot the Arch Linux (i686) live medium. It allows you to install Arch Linux or
|
||||
perform system maintenance.
|
||||
ENDTEXT
|
||||
MENU LABEL Boot Arch Linux (i686)
|
||||
KERNEL /boot/i686/vmlinuz26
|
||||
APPEND initrd=/boot/i686/archiso.img archisolabel=XXX isomounts=isomounts.i686 tmpfs_size=75% locale=en_US.UTF-8
|
||||
|
||||
LABEL arch64
|
||||
TEXT HELP
|
||||
Boot the Arch Linux (x86_64) live medium. It allows you to install Arch Linux or
|
||||
perform system maintenance.
|
||||
ENDTEXT
|
||||
MENU LABEL Boot Arch Linux (x86_64)
|
||||
KERNEL /boot/x86_64/vmlinuz26
|
||||
APPEND initrd=/boot/x86_64/archiso.img archisolabel=XXX isomounts=isomounts.x86_64 tmpfs_size=75% locale=en_US.UTF-8
|
||||
|
||||
LABEL arch64-32
|
||||
TEXT HELP
|
||||
Boot the Arch Linux (x86_64 kernel / i686 userspace ) live medium. It allows you to install Arch Linux or
|
||||
perform system maintenance.
|
||||
ENDTEXT
|
||||
MENU LABEL Boot Arch Linux (x86_64/i686)
|
||||
KERNEL /boot/x86_64/vmlinuz26
|
||||
APPEND initrd=/boot/x86_64/archiso.img archisolabel=XXX isomounts=isomounts.x86_64-i686 tmpfs_size=75% locale=en_US.UTF-8
|
||||
|
||||
LABEL normal
|
||||
TEXT HELP
|
||||
Continue normal booting procedure.
|
||||
ENDTEXT
|
||||
MENU LABEL Boot normally
|
||||
LOCALBOOT
|
||||
|
||||
LABEL existing
|
||||
TEXT HELP
|
||||
Boot an existing operating system. Press TAB to edit the disk and partition
|
||||
number to boot.
|
||||
ENDTEXT
|
||||
MENU LABEL Boot existing OS
|
||||
KERNEL chain.c32
|
||||
APPEND hd0 0
|
||||
|
||||
# http://www.memtest.org/
|
||||
LABEL memtest
|
||||
MENU LABEL Run Memtest86+ (RAM test)
|
||||
KERNEL /boot/memtest
|
||||
|
||||
# http://www.vortex.prodigynet.co.uk/x86test/
|
||||
LABEL x86test
|
||||
MENU LABEL Run x86test (CPU test)
|
||||
KERNEL /boot/x86test
|
||||
|
||||
LABEL reboot
|
||||
MENU LABEL Reboot
|
||||
KERNEL reboot.c32
|
||||
|
||||
ONTIMEOUT arch32
|
5
archiso2dual/isomounts.i686
Normal file
5
archiso2dual/isomounts.i686
Normal file
|
@ -0,0 +1,5 @@
|
|||
i686/overlay.sqfs i686 / squashfs
|
||||
i686/core-pkgs.sqfs i686 /src/core/pkg squashfs
|
||||
any/usrshare.sqfs i686 /usr/share squashfs
|
||||
i686/libmodules.sqfs i686 /lib/modules squashfs
|
||||
i686/root-image.sqfs i686 / squashfs
|
5
archiso2dual/isomounts.x86_64
Normal file
5
archiso2dual/isomounts.x86_64
Normal file
|
@ -0,0 +1,5 @@
|
|||
x86_64/overlay.sqfs x86_64 / squashfs
|
||||
x86_64/core-pkgs.sqfs x86_64 /src/core/pkg squashfs
|
||||
any/usrshare.sqfs x86_64 /usr/share squashfs
|
||||
x86_64/libmodules.sqfs x86_64 /lib/modules squashfs
|
||||
x86_64/root-image.sqfs x86_64 / squashfs
|
5
archiso2dual/isomounts.x86_64-i686
Normal file
5
archiso2dual/isomounts.x86_64-i686
Normal file
|
@ -0,0 +1,5 @@
|
|||
x86_64/overlay.sqfs x86_64 / squashfs
|
||||
x86_64/core-pkgs.sqfs x86_64 /src/core/pkg squashfs
|
||||
any/usrshare.sqfs x86_64 /usr/share squashfs
|
||||
x86_64/libmodules.sqfs x86_64 /lib/modules squashfs
|
||||
i686/root-image.sqfs x86_64 / squashfs
|
Loading…
Add table
Add a link
Reference in a new issue