Browse Source

hybrid iso image + arm64 fix

master
crims0n 4 years ago
parent
commit
53d8eb9308
  1. 4
      linux-live/buildconfig
  2. 73
      linux-live/minioslib
  3. 1
      linux-live/pkglists/hostreq.list

4
linux-live/buildconfig

@ -57,8 +57,8 @@ APT_OPTIONS2="--no-install-recommends"
#LIVE_TYPE="casper" #LIVE_TYPE="casper"
LIVE_TYPE="livekit" LIVE_TYPE="livekit"
#BOOT_TYPE="minios" BOOT_TYPE="hybrid"
BOOT_TYPE="slax" #BOOT_TYPE=""
UNION_BUILD_TYPE="overlayfs" UNION_BUILD_TYPE="overlayfs"
#UNION_BUILD_TYPE="aufs" #UNION_BUILD_TYPE="aufs"

73
linux-live/minioslib

@ -84,7 +84,7 @@ function console_colours() {
# ================================================================= # =================================================================
function help() { function help() {
# if $1 is set, use $1 as headline message in help() # if $1 is set, use $1 as headline message in help()
if grep 'LANG="ru_RU.UTF-8"' /etc/default/locale > /dev/null 2>&1; then if grep 'LANG="ru_RU.UTF-8"' /etc/default/locale >/dev/null 2>&1; then
if [ -z ${1+x} ]; then if [ -z ${1+x} ]; then
echo -e "${LIGHTYELLOW}Этот скрипт собирает загружаемый ISO образ $SYSTEMNAME.${ENDCOLOUR}" echo -e "${LIGHTYELLOW}Этот скрипт собирает загружаемый ISO образ $SYSTEMNAME.${ENDCOLOUR}"
echo -e echo -e
@ -166,7 +166,7 @@ function create_livekitname_install_symlink() {
if [ "$(readlink /usr/bin/$LIVEKITNAME-install)" != "$SCRIPT_DIR/install" ]; then if [ "$(readlink /usr/bin/$LIVEKITNAME-install)" != "$SCRIPT_DIR/install" ]; then
rm -f /usr/bin/$LIVEKITNAME-install rm -f /usr/bin/$LIVEKITNAME-install
ln -s $SCRIPT_DIR/install /usr/bin/$LIVEKITNAME-install ln -s $SCRIPT_DIR/install /usr/bin/$LIVEKITNAME-install
if grep 'LANG="ru_RU.UTF-8"' /etc/default/locale > /dev/null 2>&1; then if grep 'LANG="ru_RU.UTF-8"' /etc/default/locale >/dev/null 2>&1; then
echo -e "Символическая ссылка ${MAGENTA}/usr/bin/$LIVEKITNAME-install${ENDCOLOUR} была обновлена." echo -e "Символическая ссылка ${MAGENTA}/usr/bin/$LIVEKITNAME-install${ENDCOLOUR} была обновлена."
echo -e "Теперь она указывает на ${MAGENTA}$SCRIPT_DIR/install${ENDCOLOUR}." echo -e "Теперь она указывает на ${MAGENTA}$SCRIPT_DIR/install${ENDCOLOUR}."
else else
@ -175,7 +175,7 @@ function create_livekitname_install_symlink() {
fi fi
fi fi
if [ "$0" != "/usr/bin/$LIVEKITNAME-install" ]; then if [ "$0" != "/usr/bin/$LIVEKITNAME-install" ]; then
if grep 'LANG="ru_RU.UTF-8"' /etc/default/locale > /dev/null 2>&1; then if grep 'LANG="ru_RU.UTF-8"' /etc/default/locale >/dev/null 2>&1; then
echo -e "Вы можете использовать команду ${CYAN}$LIVEKITNAME-install${ENDCOLOUR} для запуска этой программы." echo -e "Вы можете использовать команду ${CYAN}$LIVEKITNAME-install${ENDCOLOUR} для запуска этой программы."
else else
echo -e "You can use the ${CYAN}$LIVEKITNAME-install${ENDCOLOUR} command to run this program." echo -e "You can use the ${CYAN}$LIVEKITNAME-install${ENDCOLOUR} command to run this program."
@ -183,7 +183,7 @@ function create_livekitname_install_symlink() {
fi fi
else else
ln -s $SCRIPT_DIR/install /usr/bin/$LIVEKITNAME-install ln -s $SCRIPT_DIR/install /usr/bin/$LIVEKITNAME-install
if grep 'LANG="ru_RU.UTF-8"' /etc/default/locale > /dev/null 2>&1; then if grep 'LANG="ru_RU.UTF-8"' /etc/default/locale >/dev/null 2>&1; then
echo -e "Символическая ссылка ${MAGENTA}/usr/bin/$LIVEKITNAME-install${ENDCOLOUR} была добавлена" echo -e "Символическая ссылка ${MAGENTA}/usr/bin/$LIVEKITNAME-install${ENDCOLOUR} была добавлена"
echo -e "для ${MAGENTA}$SCRIPT_DIR/install${ENDCOLOUR}." echo -e "для ${MAGENTA}$SCRIPT_DIR/install${ENDCOLOUR}."
@ -200,14 +200,14 @@ function create_livekitname_install_symlink() {
# ================================================================= # =================================================================
function create_completion() { function create_completion() {
if [ -d /etc/bash_completion.d ]; then if [ -d /etc/bash_completion.d ]; then
if [ ! -f /etc/bash_completion.d/$LIVEKITNAME-install ] || ! grep "${CMD[*]}" /etc/bash_completion.d/$LIVEKITNAME-install > /dev/null 2>&1; then if [ ! -f /etc/bash_completion.d/$LIVEKITNAME-install ] || ! grep "${CMD[*]}" /etc/bash_completion.d/$LIVEKITNAME-install >/dev/null 2>&1; then
cat <<EOF >/etc/bash_completion.d/$LIVEKITNAME-install cat <<EOF >/etc/bash_completion.d/$LIVEKITNAME-install
#/usr/bin/env bash #/usr/bin/env bash
complete -W "${CMD[*]}" $LIVEKITNAME-install complete -W "${CMD[*]}" $LIVEKITNAME-install
EOF EOF
fi fi
if [ "$0" != "/usr/bin/$LIVEKITNAME-install" ]; then if [ "$0" != "/usr/bin/$LIVEKITNAME-install" ]; then
if grep 'LANG="ru_RU.UTF-8"' /etc/default/locale > /dev/null 2>&1; then if grep 'LANG="ru_RU.UTF-8"' /etc/default/locale >/dev/null 2>&1; then
echo -e "Дополнение команд работает только при использовании команды ${CYAN}$LIVEKITNAME-install${ENDCOLOUR}." echo -e "Дополнение команд работает только при использовании команды ${CYAN}$LIVEKITNAME-install${ENDCOLOUR}."
echo -e echo -e
else else
@ -688,7 +688,7 @@ function build_live() {
mv $BUILD_DIR/boot/initrfs.img $PARENT_DIR/image/$LIVEKITNAME/boot/initrfs.img mv $BUILD_DIR/boot/initrfs.img $PARENT_DIR/image/$LIVEKITNAME/boot/initrfs.img
cp -r $SCRIPT_DIR/linux-live/bootfiles/* $PARENT_DIR/image/$LIVEKITNAME cp -r $SCRIPT_DIR/linux-live/bootfiles/* $PARENT_DIR/image/$LIVEKITNAME
if [ $PACKAGE_VARIANT = "minimal" ]; then if [ $PACKAGE_VARIANT = "minimal" ]; then
sed -i 's/minios.flags=perch/minios.flags=perch,automount/g' $PARENT_DIR/image/$LIVEKITNAME/boot/syslinux.cfg sed -i 's/minios.flags=perch/minios.flags=perch,automount/g' $PARENT_DIR/image/$LIVEKITNAME/boot/syslinux.cfg
sed -i 's/minios.flags= /minios.flags=automount /g' $PARENT_DIR/image/$LIVEKITNAME/boot/syslinux.cfg sed -i 's/minios.flags= /minios.flags=automount /g' $PARENT_DIR/image/$LIVEKITNAME/boot/syslinux.cfg
@ -747,15 +747,30 @@ function build_iso() {
B="-b $LIVEKITNAME/boot/isolinux.bin -c $LIVEKITNAME/boot/isolinux.boot" B="-b $LIVEKITNAME/boot/isolinux.bin -c $LIVEKITNAME/boot/isolinux.boot"
C="-no-emul-boot -boot-load-size 4 -boot-info-table" if [ $BOOT_TYPE = "hybrid" ]; then
C="-no-emul-boot -boot-load-size 4 -boot-info-table -eltorito-alt-boot"
else
C="-no-emul-boot -boot-load-size 4 -boot-info-table"
fi
# ▼ должно быть только перенаправление ошибки! # ▼ должно быть только перенаправление ошибки!
M=genisoimage if [ -x "$(which xorriso 2>>$OUTPUT)" ] && [ $BOOT_TYPE = "hybrid" ]; then
M="xorriso -as mkisofs -isohybrid-mbr $DIR/$LIVEKITNAME/boot/syslinux/isohdpfx.bin"
D="" D=" -isohybrid-gpt-basdat -e"
elif [ -x "$(which genisoimage 2>>$OUTPUT)" ]; then
E="" M=genisoimage
if [ $BOOT_TYPE = "hybrid" ]; then
D="-efi-boot"
else
D=""
fi
fi
if [ $BOOT_TYPE = "hybrid" ]; then
E="EFI/boot/efiboot.img -no-emul-boot"
else
E=""
fi
#VER="$SYSTEMNAME $VER" #VER="$SYSTEMNAME $VER"
VER="$SYSTEMNAME" VER="$SYSTEMNAME"
@ -764,11 +779,23 @@ function build_iso() {
rm $ISO_DIR/$LIVEKITNAME-$DISTRIBUTION-$PACKAGE_VARIANT-$DISTRIBUTION_ARCH-$COMP_TYPE-$LIVE_TYPE-*.iso >>$OUTPUT 2>&1 rm $ISO_DIR/$LIVEKITNAME-$DISTRIBUTION-$PACKAGE_VARIANT-$DISTRIBUTION_ARCH-$COMP_TYPE-$LIVE_TYPE-*.iso >>$OUTPUT 2>&1
fi fi
if if [ $BOOT_TYPE = "hybrid" ]; then
! $M -f -r -J -l -V "$VER" -A "$VER" \ if [ ! -d $DIR/EFI ]; then
$B $C $D $E -o $ISO $DIR cp -r $SCRIPT_DIR/linux-live/bootfiles/EFI $DIR
then fi
exit 1 if
! $M -hide-rr-moved -f -r -J -l -V "$VER" -A "$VER" \
$B $C $D $E -o $ISO $DIR
then
exit 1
fi
else
if
! $M -f -r -J -l -V "$VER" -A "$VER" \
$B $C $D $E -o $ISO $DIR
then
exit 1
fi
fi fi
echo ">>> $ISO created" echo ">>> $ISO created"
@ -943,7 +970,15 @@ function hostreq_pkg_list() {
$APT_CMD install -y \ $APT_CMD install -y \
$(grep -vE "^\s*#" $SCRIPT_DIR/linux-live/pkglists/hostreq.list | tr "\n" " ") >>$OUTPUT 2>&1 $(grep -vE "^\s*#" $SCRIPT_DIR/linux-live/pkglists/hostreq.list | tr "\n" " ") >>$OUTPUT 2>&1
else else
$APT_CMD install -y sudo debootstrap genisoimage >>$OUTPUT 2>&1 $APT_CMD install -y \
sudo debootstrap genisoimage >>$OUTPUT 2>&1
fi
if [ $DISTRIBUTION_ARCH = "arm64" ]; then
$APT_CMD install -y \
grub-efi-arm64-bin >>$OUTPUT 2>&1
else
$APT_CMD install -y \
grub-efi-amd64-bin >>$OUTPUT 2>&1
fi fi
} }

1
linux-live/pkglists/hostreq.list

@ -10,5 +10,4 @@ zstd
xorriso xorriso
genisoimage genisoimage
grub-pc-bin grub-pc-bin
grub-efi-amd64-bin
mtools mtools
Loading…
Cancel
Save