Merge branch 'master' of github.com:manjaro/manjaro-tools into stable-0.14.x
This commit is contained in:
commit
d9df09d276
12 changed files with 91 additions and 91 deletions
|
@ -1,7 +1,7 @@
|
|||
manjaro-tools
|
||||
=============
|
||||
|
||||
Manjaro-tools-0.13
|
||||
Manjaro-tools-0.14
|
||||
|
||||
User manual
|
||||
|
||||
|
@ -112,13 +112,6 @@ overriding
|
|||
# iso app id
|
||||
# iso_app_id="Manjaro Linux Live/Rescue CD"
|
||||
|
||||
# compression used, possible values xz (default, best compression), gzip, lzma, lzo, lz4
|
||||
# lz4 is faster but worst compression, may be useful for locally testing isos
|
||||
# sfs_compress=xz
|
||||
|
||||
# valid: md5, sha1, sha256, sha384, sha512
|
||||
# sfs_checksum=md5
|
||||
|
||||
# possible values: openrc,systemd
|
||||
# initsys="systemd"
|
||||
|
||||
|
|
|
@ -90,7 +90,7 @@ display_settings(){
|
|||
msg2 "images_only: %s" "${images_only}"
|
||||
msg2 "iso_only: %s" "${iso_only}"
|
||||
msg2 "persist: %s" "${persist}"
|
||||
msg2 "sign: %s" "${sign}"
|
||||
# msg2 "sign: %s" "${sign}"
|
||||
msg2 "torrent: %s" "${torrent}"
|
||||
|
||||
msg "DIST SETTINGS:"
|
||||
|
@ -102,8 +102,6 @@ display_settings(){
|
|||
msg2 "iso_label: %s" "${iso_label}"
|
||||
msg2 "iso_publisher: %s" "${iso_publisher}"
|
||||
msg2 "iso_app_id: %s" "${iso_app_id}"
|
||||
msg2 "sfs_compress: %s" "${sfs_compress}"
|
||||
msg2 "sfs_checksum: %s" "${sfs_checksum}"
|
||||
msg2 "use_overlayfs: %s" "${use_overlayfs}"
|
||||
${verbose} && msg2 "iso_fs: %s" "${iso_fs}"
|
||||
|
||||
|
@ -125,7 +123,7 @@ pretend=false
|
|||
images_only=false
|
||||
iso_only=false
|
||||
verbose=false
|
||||
sign=false
|
||||
# sign=false
|
||||
torrent=false
|
||||
persist=false
|
||||
|
||||
|
@ -143,7 +141,7 @@ usage() {
|
|||
echo ' -i <name> Init system to use'
|
||||
echo " [default: ${initsys}]"
|
||||
echo ' -m Set SquashFS image mode to persistence'
|
||||
echo ' -s Sign the iso'
|
||||
# echo ' -s Sign the sfs images'
|
||||
echo ' -c Disable clean work dir'
|
||||
echo ' -x Build images only'
|
||||
echo ' -z Generate iso only'
|
||||
|
@ -159,7 +157,7 @@ usage() {
|
|||
|
||||
orig_argv=("$@")
|
||||
|
||||
opts='p:a:b:r:t:k:i:czxsmwvqh'
|
||||
opts='p:a:b:r:t:k:i:czxmwvqh'
|
||||
|
||||
while getopts "${opts}" arg; do
|
||||
case "${arg}" in
|
||||
|
@ -170,7 +168,7 @@ while getopts "${opts}" arg; do
|
|||
t) cache_dir_iso="$OPTARG" ;;
|
||||
k) kernel="$OPTARG" ;;
|
||||
i) initsys="$OPTARG" ;;
|
||||
s) sign=true ;;
|
||||
# s) sign=true ;;
|
||||
c) clean_first=false ;;
|
||||
x) images_only=true ;;
|
||||
z) iso_only=true ;;
|
||||
|
|
|
@ -61,13 +61,6 @@
|
|||
# iso app id
|
||||
# iso_app_id="Manjaro Linux Live/Rescue CD"
|
||||
|
||||
# compression used, possible values xz (default, best compression), gzip, lzma, lzo, lz4
|
||||
# lz4 is faster but worst compression, may be useful for locally testing isos
|
||||
# sfs_compress=xz
|
||||
|
||||
# valid: md5, sha1, sha256, sha384, sha512
|
||||
# sfs_checksum=md5
|
||||
|
||||
# possible values: openrc,systemd
|
||||
# initsys="systemd"
|
||||
|
||||
|
|
|
@ -241,25 +241,6 @@ along with systemd; If not, see <http://www.gnu.org/licenses/>.
|
|||
</para></listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<!-- TODO: Need list of other available compressions -->
|
||||
<term><varname>sfs_compress=</varname></term>
|
||||
|
||||
<listitem><para>Defaults compression that will be used
|
||||
when creating the various images. Defaults to xz.
|
||||
</para></listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term><varname>sfs_checksum=</varname></term>
|
||||
|
||||
<listitem><para>Checksum that will be created against the
|
||||
final .iso file. Can be <option>md5</option> (the default),
|
||||
<option>sha1</option>, <option>sha256</option>,
|
||||
<option>sha384</option> or <option>sha512</option>.
|
||||
</para></listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term><varname>initsys=</varname></term>
|
||||
|
||||
|
|
|
@ -41,8 +41,8 @@ _mnt_overlayfs() {
|
|||
local src="${1}"
|
||||
local newroot="${2}"
|
||||
local mnt="${3}"
|
||||
local work_dir="/run/miso/cowspace/work"
|
||||
local upper_dir="/run/miso/cowspace/upper"
|
||||
local work_dir="/run/miso/overlay_root/work"
|
||||
local upper_dir="/run/miso/overlay_root/upper"
|
||||
|
||||
mkdir -p "${upper_dir}" "${work_dir}"
|
||||
|
||||
|
@ -124,6 +124,7 @@ run_hook() {
|
|||
[[ -z "${dm_snap_prefix}" ]] && dm_snap_prefix="arch"
|
||||
[[ -z "${misodevice}" ]] && misodevice="/dev/disk/by-label/${misolabel}"
|
||||
[[ -z "${cow_spacesize}" ]] && cow_spacesize="256M"
|
||||
[[ -z "${overlay_root_size}" ]] && overlay_root_size="75%"
|
||||
|
||||
if [[ -n "${cow_label}" ]]; then
|
||||
cow_device="/dev/disk/by-label/${cow_label}"
|
||||
|
@ -207,15 +208,19 @@ miso_mount_handler() {
|
|||
fi
|
||||
mkdir -p -m 0700 "/run/miso/cowspace/${cow_directory}"
|
||||
|
||||
msg -n ":: Mounting overlay root (tmpfs) filesystem, size=${overlay_root_size}..."
|
||||
mkdir -p /run/miso/overlay_root
|
||||
mount -t tmpfs -o "size=${overlay_root_size}",mode=0755 overlay_root /run/miso/overlay_root
|
||||
|
||||
local src="/run/miso/bootmnt/${misobasedir}/${arch}"
|
||||
local dest_sfs="/run/miso/sfs" dest_img="/run/miso/img"
|
||||
local lower_dir
|
||||
mkdir -p ${dest_img}
|
||||
|
||||
for sfs in livefs mhwdfs desktopfs rootfs;do
|
||||
if [[ -f "${src}/${sfs}.sfs" ]]; then
|
||||
_mnt_sfs "${src}/${sfs}.sfs" "${dest_sfs}/${sfs}"
|
||||
if [[ -f "${dest_sfs}/${sfs}/${sfs}.img" ]]; then
|
||||
mkdir -p ${dest_img}
|
||||
lower_dir=${lower_dir:-}${lower_dir:+:}"${dest_img}/${sfs}"
|
||||
_mnt_dmsnapshot "${dest_sfs}/${sfs}/${sfs}.img" "${dest_img}/${sfs}"
|
||||
else
|
||||
|
|
|
@ -129,6 +129,7 @@ run_hook() {
|
|||
[[ -z "${dm_snap_prefix}" ]] && dm_snap_prefix="arch"
|
||||
[[ -z "${misodevice}" ]] && misodevice="/dev/disk/by-label/${misolabel}"
|
||||
[[ -z "${cow_spacesize}" ]] && cow_spacesize="256M"
|
||||
[[ -z "${overlay_root_size}" ]] && overlay_root_size="75%"
|
||||
|
||||
if [[ -n "${cow_label}" ]]; then
|
||||
cow_device="/dev/disk/by-label/${cow_label}"
|
||||
|
@ -212,17 +213,21 @@ miso_mount_handler() {
|
|||
fi
|
||||
mkdir -p -m 0700 "/run/miso/cowspace/${cow_directory}"
|
||||
|
||||
local work_dir="/run/miso/cowspace"
|
||||
msg -n ":: Mounting overlay root (tmpfs) filesystem, size=${overlay_root_size}..."
|
||||
mkdir -p /run/miso/overlay_root
|
||||
mount -t tmpfs -o "size=${overlay_root_size}",mode=0755 overlay_root /run/miso/overlay_root
|
||||
|
||||
local work_dir="/run/miso/overlay_root"
|
||||
_mnt_overlayfs_root "${work_dir}" "${newroot}" "/"
|
||||
|
||||
local src="/run/miso/bootmnt/${misobasedir}/${arch}"
|
||||
local dest_sfs="/run/miso/sfs" dest_img="/run/miso/img"
|
||||
mkdir -p ${dest_img}
|
||||
|
||||
for sfs in livefs mhwdfs desktopfs rootfs;do
|
||||
if [[ -f "${src}/${sfs}.sfs" ]]; then
|
||||
_mnt_sfs "${src}/${sfs}.sfs" "${dest_sfs}/${sfs}"
|
||||
if [[ -f "${dest_sfs}/${sfs}/${sfs}.img" ]]; then
|
||||
mkdir -p ${dest_img}
|
||||
_mnt_dmsnapshot "${dest_sfs}/${sfs}/${sfs}.img" "${dest_img}/${sfs}"
|
||||
_mnt_overlayfs "${dest_img}/${sfs}" "${newroot}" "/"
|
||||
else
|
||||
|
|
|
@ -39,11 +39,16 @@ run_hook () {
|
|||
|
||||
# setup DNS resolver
|
||||
if [[ "${IPV4DNS0}" != "0.0.0.0" ]]; then
|
||||
echo "nameserver ${IPV4DNS0}" > /etc/resolv.conf
|
||||
echo "# added by miso_pxe_common hook" > /etc/resolv.conf
|
||||
echo "nameserver ${IPV4DNS0}" >> /etc/resolv.conf
|
||||
fi
|
||||
if [[ "${IPV4DNS1}" != "0.0.0.0" ]]; then
|
||||
echo "nameserver ${IPV4DNS1}" >> /etc/resolv.conf
|
||||
fi
|
||||
if [[ -n "${DNSDOMAIN}" ]]; then
|
||||
echo "search ${DNSDOMAIN}" >> /etc/resolv.conf
|
||||
echo "domain ${DNSDOMAIN}" >> /etc/resolv.conf
|
||||
fi
|
||||
fi
|
||||
}
|
||||
|
||||
|
|
|
@ -3,6 +3,10 @@
|
|||
run_hook() {
|
||||
if [[ -n "${ip}" && -n "${miso_http_srv}" ]]; then
|
||||
|
||||
# booting with http is always copy-to-ram, so set here to make sure
|
||||
# addresses are flushed and interface is set down
|
||||
copytoram="y"
|
||||
|
||||
miso_http_srv=$(eval echo ${miso_http_srv})
|
||||
[[ -z "${miso_http_spc}" ]] && miso_http_spc="75%"
|
||||
|
||||
|
|
|
@ -5,7 +5,8 @@ mkdir /oldrun
|
|||
mount -n --move /oldroot/run /oldrun
|
||||
|
||||
# Unmount all mounts now.
|
||||
umount $(mount | awk '$3 ~/^\/oldroot/ {print $3}' | sort -r)
|
||||
#umount $(mount | awk '$3 ~/^\/oldroot/ {print $3}' | sort -r)
|
||||
umount $(mount | awk '$3 ~/^\/oldroot/ {if($3 != "/run/miso/bootmnt") print $3}' | sort -r)
|
||||
|
||||
# Remove all dm-snapshot devices.
|
||||
dmsetup remove_all
|
||||
|
|
|
@ -20,6 +20,7 @@ set_mkinicpio_hooks(){
|
|||
sed -e 's/plymouth //' -i $1
|
||||
fi
|
||||
if ! ${use_overlayfs};then
|
||||
msg2 "Setting aufs hook"
|
||||
sed -e 's/miso /miso_aufs /' -i $1
|
||||
fi
|
||||
}
|
||||
|
@ -33,20 +34,17 @@ gen_boot_args(){
|
|||
echo ${args[@]}
|
||||
}
|
||||
|
||||
set_silent_switch_root(){
|
||||
sed -e 's|"$@"|"$@" >/dev/null 2>&1|' -i $1/usr/lib/initcpio/init
|
||||
}
|
||||
|
||||
# $1: ${profile_dir}
|
||||
# $2: ${work_dir}/bootfs
|
||||
prepare_initcpio(){
|
||||
msg2 "Copying initcpio ..."
|
||||
cp /usr/lib/initcpio/hooks/miso* $2/usr/lib/initcpio/hooks
|
||||
cp /usr/lib/initcpio/install/miso* $2/usr/lib/initcpio/install
|
||||
cp /usr/lib/initcpio/miso_shutdown $2/usr/lib/initcpio
|
||||
cp /usr/lib/initcpio/hooks/miso* $1/etc/initcpio/hooks
|
||||
cp /usr/lib/initcpio/install/miso* $1/etc/initcpio/install
|
||||
cp /usr/lib/initcpio/miso_shutdown $1/etc/initcpio
|
||||
sed -e "s|/usr/lib/initcpio/|/etc/initcpio/|" -i $1/etc/initcpio/install/miso_shutdown
|
||||
}
|
||||
|
||||
gen_boot_initramfs(){
|
||||
cp $1/mkinitcpio.conf $2/etc/mkinitcpio-${iso_name}.conf
|
||||
set_mkinicpio_hooks "$2/etc/mkinitcpio-${iso_name}.conf"
|
||||
# set_silent_switch_root "$2"
|
||||
}
|
||||
|
||||
# $1: work_dir
|
||||
|
@ -87,7 +85,7 @@ vars_to_boot_conf(){
|
|||
}
|
||||
|
||||
prepare_efi_loader(){
|
||||
local efi_data=$1${DATADIR}/efiboot efi=$2/EFI/boot
|
||||
local efi_data=$1/usr/share/efi-utils efi=$2/EFI/boot
|
||||
msg2 "Preparing efi loaders ..."
|
||||
prepare_dir "${efi}"
|
||||
cp $1/usr/share/efitools/efi/PreLoader.efi ${efi}/bootx64.efi
|
||||
|
@ -120,12 +118,22 @@ check_syslinux_optional(){
|
|||
sed -e "/nonfree/ d" -i $1/syslinux.msg
|
||||
}
|
||||
|
||||
prepare_isolinux(){
|
||||
local syslinux=$1/usr/lib/syslinux/bios
|
||||
msg2 "Copying isolinux binaries ..."
|
||||
cp ${syslinux}/{{isolinux,isohdpfx}.bin,ldlinux.c32} $2
|
||||
msg2 "Copying isolinux.cfg ..."
|
||||
cp $1/usr/share/syslinux/isolinux/isolinux.cfg $2
|
||||
vars_to_boot_conf "$2/isolinux.cfg"
|
||||
}
|
||||
|
||||
prepare_syslinux(){
|
||||
local syslinux=$1/usr/lib/syslinux/bios
|
||||
msg2 "Copying syslinux binaries ..."
|
||||
cp ${syslinux}/{*.c32,lpxelinux.0,memdisk,{isolinux,isohdpfx}.bin} $2
|
||||
cp ${syslinux}/{*.c32,lpxelinux.0,memdisk} $2
|
||||
msg2 "Copying syslinux theme ..."
|
||||
cp $1${DATADIR}/syslinux-theme/* $2
|
||||
syslinux=$1/usr/share/syslinux/theme
|
||||
cp ${syslinux}/* $2
|
||||
for conf in $2/*.cfg; do
|
||||
vars_to_boot_conf "${conf}"
|
||||
done
|
||||
|
|
|
@ -97,6 +97,18 @@ prepare_ext4_img(){
|
|||
umount_img "${mnt}"
|
||||
}
|
||||
|
||||
sign_iso(){
|
||||
su ${OWNER} -c "signfile ${iso_dir}/$1"
|
||||
}
|
||||
|
||||
# $1: file
|
||||
make_checksum(){
|
||||
msg2 "Creating md5sum ..."
|
||||
cd $1
|
||||
md5sum $2.sfs > $2.md5
|
||||
cd ${OLDPWD}
|
||||
}
|
||||
|
||||
# $1: image path
|
||||
make_sfs() {
|
||||
local src="$1"
|
||||
|
@ -134,20 +146,19 @@ make_sfs() {
|
|||
|
||||
mksfs_args+=(${sfs} -noappend)
|
||||
|
||||
local highcomp="-b 256K -Xbcj x86"
|
||||
[[ "${sfs_compress}" != "xz" ]] && highcomp=""
|
||||
local highcomp="-b 256K -Xbcj x86" comp='xz'
|
||||
|
||||
if [[ "${name}" == "mhwdfs" && ${used_kernel} < "4" ]]; then
|
||||
mksfs_args+=(-comp lz4)
|
||||
else
|
||||
mksfs_args+=(-comp ${sfs_compress} ${highcomp})
|
||||
mksfs_args+=(-comp ${comp} ${highcomp})
|
||||
fi
|
||||
if ${verbose};then
|
||||
mksquashfs "${mksfs_args[@]}" >/dev/null
|
||||
else
|
||||
mksquashfs "${mksfs_args[@]}"
|
||||
fi
|
||||
|
||||
make_checksum "${dest}" "${name}"
|
||||
${persist} && rm "${src}.img"
|
||||
|
||||
show_elapsed_time "${FUNCNAME}" "${timer_start}"
|
||||
|
@ -173,10 +184,10 @@ assemble_iso(){
|
|||
-appid "${iso_app_id}" \
|
||||
-publisher "${iso_publisher}" \
|
||||
-preparer "Prepared by manjaro-tools/${0##*/}" \
|
||||
-eltorito-boot syslinux/isolinux.bin \
|
||||
-eltorito-catalog syslinux/boot.cat \
|
||||
-eltorito-boot isolinux/isolinux.bin \
|
||||
-eltorito-catalog isolinux/boot.cat \
|
||||
-no-emul-boot -boot-load-size 4 -boot-info-table \
|
||||
-isohybrid-mbr "${iso_root}/syslinux/isohdpfx.bin" \
|
||||
-isohybrid-mbr "${iso_root}/isolinux/isohdpfx.bin" \
|
||||
${efi_boot_args[@]} \
|
||||
-output "${iso_dir}/${iso_file}" \
|
||||
"${iso_root}/"
|
||||
|
@ -238,6 +249,8 @@ make_image_root() {
|
|||
pacman -Qr "${path}" > "${path}/rootfs-pkgs.txt"
|
||||
copy_overlay "${profile_dir}/root-overlay" "${path}"
|
||||
|
||||
prepare_initcpio "${path}"
|
||||
|
||||
reset_pac_conf "${path}"
|
||||
|
||||
clean_up_image "${path}"
|
||||
|
@ -345,7 +358,7 @@ make_image_boot() {
|
|||
mount_image_live "${path}"
|
||||
configure_plymouth "${path}"
|
||||
|
||||
prepare_initcpio "${profile_dir}" "${path}"
|
||||
gen_boot_initramfs "${profile_dir}" "${path}"
|
||||
|
||||
gen_boot_image "${path}"
|
||||
|
||||
|
@ -400,17 +413,29 @@ make_efi_dvd() {
|
|||
fi
|
||||
}
|
||||
|
||||
make_isolinux() {
|
||||
if [[ ! -e ${work_dir}/build.${FUNCNAME} ]]; then
|
||||
msg "Prepare [/iso/isolinux]"
|
||||
local isolinux=${iso_root}/isolinux
|
||||
mkdir -p ${isolinux}
|
||||
prepare_isolinux "${work_dir}/livefs" "${isolinux}"
|
||||
|
||||
: > ${work_dir}/build.${FUNCNAME}
|
||||
msg "Done [/iso/isolinux]"
|
||||
fi
|
||||
}
|
||||
|
||||
make_syslinux() {
|
||||
if [[ ! -e ${work_dir}/build.${FUNCNAME} ]]; then
|
||||
msg "Prepare [/iso/syslinux]"
|
||||
local syslinux=${iso_root}/syslinux
|
||||
msg "Prepare [/iso/${iso_name}/boot/syslinux]"
|
||||
local syslinux=${iso_root}/${iso_name}/boot/syslinux
|
||||
mkdir -p ${syslinux}
|
||||
prepare_syslinux "${work_dir}/livefs" "${syslinux}"
|
||||
mkdir -p ${syslinux}/hdt
|
||||
# gzip -c -9 ${work_dir}/rootfs/usr/share/hwdata/pci.ids > ${syslinux}/hdt/pciids.gz
|
||||
# gzip -c -9 ${work_dir}/livefs/usr/lib/modules/*-MANJARO/modules.alias > ${syslinux}/hdt/modalias.gz
|
||||
: > ${work_dir}/build.${FUNCNAME}
|
||||
msg "Done [/iso/syslinux]"
|
||||
msg "Done [/iso/${iso_name}/boot/syslinux]"
|
||||
fi
|
||||
}
|
||||
|
||||
|
@ -441,9 +466,6 @@ check_requirements(){
|
|||
import ${LIBDIR}/util-iso-${iso_fs}.sh
|
||||
}
|
||||
|
||||
sign_iso(){
|
||||
su ${OWNER} -c "signfile ${iso_dir}/$1"
|
||||
}
|
||||
|
||||
make_torrent(){
|
||||
local fn=${iso_file}.torrent
|
||||
|
@ -452,21 +474,9 @@ make_torrent(){
|
|||
mktorrent ${mktorrent_args[*]} -o ${iso_dir}/${fn} ${iso_dir}/${iso_file}
|
||||
}
|
||||
|
||||
# $1: file
|
||||
make_checksum(){
|
||||
msg "Creating [%s] sum ..." "${sfs_checksum}"
|
||||
cd ${iso_dir}
|
||||
local cs=$(${sfs_checksum}sum $1)
|
||||
msg2 "%s sum: %s" "${sfs_checksum}" "${cs##*/}"
|
||||
echo "${cs}" > ${iso_dir}/$1.${sfs_checksum}
|
||||
msg "Done [%s] sum" "${sfs_checksum}"
|
||||
}
|
||||
|
||||
compress_images(){
|
||||
local timer=$(get_timer)
|
||||
run_safe "make_iso"
|
||||
make_checksum "${iso_file}"
|
||||
${sign} && sign_iso "${iso_file}"
|
||||
${torrent} && make_torrent
|
||||
user_own "${iso_dir}" "-R"
|
||||
show_elapsed_time "${FUNCNAME}" "${timer}"
|
||||
|
@ -489,6 +499,7 @@ prepare_images(){
|
|||
run_safe "make_image_mhwd"
|
||||
fi
|
||||
run_safe "make_image_boot"
|
||||
run_safe "make_isolinux"
|
||||
run_safe "make_syslinux"
|
||||
if [[ "${target_arch}" == "x86_64" ]]; then
|
||||
run_safe "make_efi_usb"
|
||||
|
|
|
@ -301,10 +301,6 @@ init_buildiso(){
|
|||
|
||||
[[ -z ${iso_app_id} ]] && iso_app_id='Manjaro Linux Live/Rescue CD'
|
||||
|
||||
[[ -z ${sfs_compress} ]] && sfs_compress='xz'
|
||||
|
||||
[[ -z ${sfs_checksum} ]] && sfs_checksum='md5'
|
||||
|
||||
[[ -z ${initsys} ]] && initsys="systemd"
|
||||
|
||||
[[ -z ${kernel} ]] && kernel="linux44"
|
||||
|
|
Loading…
Reference in a new issue