From 1b75302363cead14497485d1df4a8bcd955c7d6c Mon Sep 17 00:00:00 2001 From: crims0n Date: Fri, 15 Jan 2021 19:32:52 +0000 Subject: [PATCH 01/26] Update README.md --- README.md | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/README.md b/README.md index adb5d89..cb6f817 100644 --- a/README.md +++ b/README.md @@ -5,11 +5,11 @@ Синтаксис: ./install [start_cmd] [-] [end_cmd] minios-install [start_cmd] [-] [end_cmd] - запуск от start_cmd до end_cmd - если start_cmd опущен, выполняются все команды, начиная с первой - если end_cmd опущен, выполняются все команды до последней - введите одну команду, чтобы запустить определенную команду - введите '-' как единственный аргумент для запуска всех команд +>запуск от start_cmd до end_cmd +>если start_cmd опущен, выполняются все команды, начиная с первой +>если end_cmd опущен, выполняются все команды до последней +>введите одну команду, чтобы запустить определенную команду +>введите '-' как единственный аргумент для запуска всех команд Примеры:./install build_bootstrap - build_chroot ./install - build_chroot From 296f947232d2ee3c335d3dc9dcc9a973511a3149 Mon Sep 17 00:00:00 2001 From: crims0n Date: Fri, 15 Jan 2021 19:33:36 +0000 Subject: [PATCH 02/26] Update README.md --- README.md | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/README.md b/README.md index cb6f817..ef1f8a0 100644 --- a/README.md +++ b/README.md @@ -3,13 +3,13 @@ Поддерживаемые команды : setup_host build_bootstrap build_chroot build_live build_iso -Синтаксис: ./install [start_cmd] [-] [end_cmd] -minios-install [start_cmd] [-] [end_cmd] ->запуск от start_cmd до end_cmd ->если start_cmd опущен, выполняются все команды, начиная с первой ->если end_cmd опущен, выполняются все команды до последней ->введите одну команду, чтобы запустить определенную команду ->введите '-' как единственный аргумент для запуска всех команд +Синтаксис: `./install [start_cmd] [-] [end_cmd]` +`minios-install [start_cmd] [-] [end_cmd]` +запуск от start_cmd до end_cmd +если start_cmd опущен, выполняются все команды, начиная с первой +если end_cmd опущен, выполняются все команды до последней +введите одну команду, чтобы запустить определенную команду +введите '-' как единственный аргумент для запуска всех команд Примеры:./install build_bootstrap - build_chroot ./install - build_chroot From d7486122ab85eeee7b45c3da598991e64f1bc3aa Mon Sep 17 00:00:00 2001 From: crims0n Date: Fri, 15 Jan 2021 22:58:43 +0300 Subject: [PATCH 03/26] commit on master --- README.md | 5 ++++- linux-live/minioslib | 1 + 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index ef1f8a0..0254351 100644 --- a/README.md +++ b/README.md @@ -1,10 +1,13 @@ # MiniOS Live + Этот скрипт собирает загружаемый ISO образ MiniOS. Поддерживаемые команды : setup_host build_bootstrap build_chroot build_live build_iso Синтаксис: `./install [start_cmd] [-] [end_cmd]` -`minios-install [start_cmd] [-] [end_cmd]` + + `minios-install [start_cmd] [-] [end_cmd]` + запуск от start_cmd до end_cmd если start_cmd опущен, выполняются все команды, начиная с первой если end_cmd опущен, выполняются все команды до последней diff --git a/linux-live/minioslib b/linux-live/minioslib index 2d176ee..b06a323 100644 --- a/linux-live/minioslib +++ b/linux-live/minioslib @@ -21,6 +21,7 @@ function common_variables() { # Эта переменная задаётся в файле ./install #ISO_DIR=$SCRIPT_DIR/iso #ISO_DIR=/build/nfs/iso + #ISO_DIR="$(dirname "$SCRIPT_DIR")" BUILD_TEST_ISO="1" From 3d87b69f073457314d4aaf0dfb04b91b2920a4e2 Mon Sep 17 00:00:00 2001 From: crims0n Date: Sat, 16 Jan 2021 00:28:18 +0300 Subject: [PATCH 04/26] added comments --- install | 2 ++ linux-live/minioslib | 37 ++++++++++++++++++++----------------- 2 files changed, 22 insertions(+), 17 deletions(-) diff --git a/install b/install index 8b74319..8fbed38 100755 --- a/install +++ b/install @@ -7,6 +7,8 @@ set -u # treat unset variable as error SCRIPT_DIR="$(dirname "$(readlink -f "$0")")" PARENT_DIR="$(dirname "$SCRIPT_DIR")" ISO_DIR="$(dirname "$SCRIPT_DIR")" +#ISO_DIR=$SCRIPT_DIR/iso +#ISO_DIR=/build/nfs/iso . $SCRIPT_DIR/linux-live/minioslib || exit 1 #. $SCRIPT_DIR/linux-live/installlib || exit 1 diff --git a/linux-live/minioslib b/linux-live/minioslib index b06a323..76c9648 100644 --- a/linux-live/minioslib +++ b/linux-live/minioslib @@ -18,16 +18,17 @@ function common_variables() { # log #OUTPUT="/$LIVEKITNAME.log" - # Эта переменная задаётся в файле ./install - #ISO_DIR=$SCRIPT_DIR/iso - #ISO_DIR=/build/nfs/iso - #ISO_DIR="$(dirname "$SCRIPT_DIR")" - + # if = "1", creates a second iso with a constant filename + # если ="1", создаёт второй iso с постоянным именем файла BUILD_TEST_ISO="1" + # if = "1", creates a copy of minios-live in chroot /opt + # если ="1", создаёт копию minios-live в chroot /opt DEV_SYSTEM="1" - CREATE_BACKUP="1" + # if ="1", creates backup in parent folder + # если ="1", создаёт резервную копию в родительской папке + CREATE_BACKUP="0" DEBIAN_FRONTEND_TYPE="noninteractive" #DEBIAN_FRONTEND_TYPE="ncurses" @@ -568,8 +569,10 @@ function build_iso() { VER="$SYSTEMNAME $VER" - if ! $M -hide-rr-moved -f -r -J -l -V "$VER" -A "$VER" \ - $B $C $D $E -o $ISO $DIR; then + if + ! $M -hide-rr-moved -f -r -J -l -V "$VER" -A "$VER" \ + $B $C $D $E -o $ISO $DIR + then exit 1 fi @@ -641,12 +644,12 @@ function hostreq_pkg_list() { echo -e "${YELLOW}=====> installing required software for host system ...${ENDCOLOUR}" if [ -f $SCRIPT_DIR/linux-live/pkglists/hostreq.list ]; then sudo DEBIAN_FRONTEND=$DEBIAN_FRONTEND_TYPE \ - $APT_CMD update >>$OUTPUT 2>&1 && + $APT_CMD update >>$OUTPUT 2>&1 && $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 sudo DEBIAN_FRONTEND=$DEBIAN_FRONTEND_TYPE \ - $APT_CMD update >>$OUTPUT 2>&1 && + $APT_CMD update >>$OUTPUT 2>&1 && $APT_CMD install -y binutils debootstrap squashfs-tools xorriso grub-pc-bin grub-efi-$DISTRIBUTION_ARCH-bin mtools >>$OUTPUT 2>&1 fi } @@ -659,7 +662,7 @@ function prereq_pkg_list() { $APT_CMD upgrade $APT_OPTIONS >>$OUTPUT 2>&1 && echo -e "${YELLOW}=====> installing packages ...${ENDCOLOUR}" && $APT_CMD install $APT_OPTIONS \ - $(grep -vE "^\s*#" $SCRIPT_DIR/pkglists/prereq.list | tr "\n" " ") >>$OUTPUT 2>&1 + $(grep -vE "^\s*#" $SCRIPT_DIR/pkglists/prereq.list | tr "\n" " ") >>$OUTPUT 2>&1 else # we need to install systemd first, to configure machine id $APT_CMD update >>$OUTPUT 2>&1 && @@ -674,12 +677,12 @@ function main_pkg_list() { echo -e "${YELLOW}=====> installing main packages for chroot system ...${ENDCOLOUR}" if [ -f $SCRIPT_DIR/pkglists/hostreq.list ]; then sudo DEBIAN_FRONTEND=$DEBIAN_FRONTEND_TYPE \ - $APT_CMD update >>$OUTPUT 2>&1 && + $APT_CMD update >>$OUTPUT 2>&1 && $APT_CMD install $APT_OPTIONS \ - $(grep -vE "^\s*#" $SCRIPT_DIR/pkglists/main.list | tr "\n" " ") >>$OUTPUT 2>&1 + $(grep -vE "^\s*#" $SCRIPT_DIR/pkglists/main.list | tr "\n" " ") >>$OUTPUT 2>&1 else sudo DEBIAN_FRONTEND=$DEBIAN_FRONTEND_TYPE \ - $APT_CMD update >>$OUTPUT 2>&1 && + $APT_CMD update >>$OUTPUT 2>&1 && $APT_CMD install $APT_OPTIONS ubuntu-minimal resolvconf xz-utils linux-image-generic >>$OUTPUT 2>&1 fi } @@ -688,9 +691,9 @@ function other_pkg_list() { echo -e "${YELLOW}=====> installing other packages for chroot system ...${ENDCOLOUR}" if [ -f $SCRIPT_DIR/pkglists/hostreq.list ]; then sudo DEBIAN_FRONTEND=$DEBIAN_FRONTEND_TYPE \ - $APT_CMD update >>$OUTPUT 2>&1 && + $APT_CMD update >>$OUTPUT 2>&1 && $APT_CMD install $APT_OPTIONS \ - $(grep -vE "^\s*#" $SCRIPT_DIR/pkglists/other.list | tr "\n" " ") >>$OUTPUT 2>&1 + $(grep -vE "^\s*#" $SCRIPT_DIR/pkglists/other.list | tr "\n" " ") >>$OUTPUT 2>&1 fi } From 874f733d72a1ece1b685aee58cbcd013e976b127 Mon Sep 17 00:00:00 2001 From: crims0n Date: Sat, 16 Jan 2021 00:31:13 +0300 Subject: [PATCH 05/26] commit on master --- linux-live/minioslib | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/linux-live/minioslib b/linux-live/minioslib index 76c9648..b46523d 100644 --- a/linux-live/minioslib +++ b/linux-live/minioslib @@ -12,11 +12,11 @@ function common_variables() { # normal - OUTPUT="/dev/stdout" + # OUTPUT="/dev/stdout" # silent - #OUTPUT="/dev/null" + OUTPUT="/dev/null" # log - #OUTPUT="/$LIVEKITNAME.log" + # OUTPUT="/$LIVEKITNAME.log" # if = "1", creates a second iso with a constant filename # если ="1", создаёт второй iso с постоянным именем файла From 43e05b26738e5e64c66a4ae05bae58ff9722c9a0 Mon Sep 17 00:00:00 2001 From: crims0n Date: Sat, 16 Jan 2021 01:09:54 +0300 Subject: [PATCH 06/26] added build of the xorg module --- linux-live/modules/01-xorg/build | 9 +++++++++ 1 file changed, 9 insertions(+) create mode 100644 linux-live/modules/01-xorg/build diff --git a/linux-live/modules/01-xorg/build b/linux-live/modules/01-xorg/build new file mode 100644 index 0000000..1bd8a1d --- /dev/null +++ b/linux-live/modules/01-xorg/build @@ -0,0 +1,9 @@ +#!/bin/bash + +apt-get update +apt-get install -y \ + xorg + xterm \ + blackbox + +savechanges /01-xorg.sb \ No newline at end of file From 20a44a8f19f8395d3d4b558579180ba8f1945a90 Mon Sep 17 00:00:00 2001 From: crims0n Date: Sat, 16 Jan 2021 01:15:16 +0300 Subject: [PATCH 07/26] changed module name --- linux-live/modules/{01-xorg => 02-xorg}/build | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) rename linux-live/modules/{01-xorg => 02-xorg}/build (78%) diff --git a/linux-live/modules/01-xorg/build b/linux-live/modules/02-xorg/build similarity index 78% rename from linux-live/modules/01-xorg/build rename to linux-live/modules/02-xorg/build index 1bd8a1d..e23eab4 100644 --- a/linux-live/modules/01-xorg/build +++ b/linux-live/modules/02-xorg/build @@ -6,4 +6,4 @@ apt-get install -y \ xterm \ blackbox -savechanges /01-xorg.sb \ No newline at end of file +savechanges /02-xorg.sb \ No newline at end of file From 21894738c81d34833a5317b965c4c4e9fc877af8 Mon Sep 17 00:00:00 2001 From: crims0n Date: Sat, 16 Jan 2021 01:17:11 +0300 Subject: [PATCH 08/26] commit on master --- linux-live/minioslib | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/linux-live/minioslib b/linux-live/minioslib index b46523d..1b22cef 100644 --- a/linux-live/minioslib +++ b/linux-live/minioslib @@ -35,7 +35,7 @@ function common_variables() { APT_CMD="apt" - APT_OPTIONS="-y --no-install-recommends" + APT_OPTIONS="-y" #--no-install-recommends" } # ================================================================= From 013d45362f3cd67a083f6a338f43e62eaaccfd9c Mon Sep 17 00:00:00 2001 From: crims0n Date: Sat, 16 Jan 2021 01:22:17 +0300 Subject: [PATCH 09/26] commit on master --- linux-live/config | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/linux-live/config b/linux-live/config index 0fd931f..aa0055c 100644 --- a/linux-live/config +++ b/linux-live/config @@ -21,7 +21,7 @@ SYSTEMNAME="MiniOS" SYSTEMVER="2021" # -DISTRIBUTION="bionic" +DISTRIBUTION="focal" # DISTRIBUTION_ARCH="amd64" From f60f2e00c0ab24132fd623655e207fd95bd6ad72 Mon Sep 17 00:00:00 2001 From: crims0n Date: Sat, 16 Jan 2021 01:45:02 +0300 Subject: [PATCH 10/26] commit on master --- linux-live/minioslib | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/linux-live/minioslib b/linux-live/minioslib index 1b22cef..a821b30 100644 --- a/linux-live/minioslib +++ b/linux-live/minioslib @@ -13,10 +13,8 @@ function common_variables() { # normal # OUTPUT="/dev/stdout" - # silent - OUTPUT="/dev/null" # log - # OUTPUT="/$LIVEKITNAME.log" + OUTPUT="/$LIVEKITNAME.log" # if = "1", creates a second iso with a constant filename # если ="1", создаёт второй iso с постоянным именем файла From 707cbb224f42af01db1c44b103297ef95f13c688 Mon Sep 17 00:00:00 2001 From: crims0n Date: Sat, 16 Jan 2021 02:15:40 +0300 Subject: [PATCH 11/26] commit on master --- linux-live/build | 2 ++ 1 file changed, 2 insertions(+) diff --git a/linux-live/build b/linux-live/build index f62cf58..e1d5c32 100644 --- a/linux-live/build +++ b/linux-live/build @@ -72,4 +72,6 @@ for i in $MKMOD; do done mksquashfs $COREFS $LIVEKITDATA/$LIVEKITNAME/01-core.$BEXT -comp xz -b 1024K -always-use-fragments -keep-as-directory || exit +echo $LIVEKITDATA > /tmp/livekitdata + cd $CWD From f066c22e6ecba6519ca3761ccd30d61d92a12eb3 Mon Sep 17 00:00:00 2001 From: crims0n Date: Sat, 16 Jan 2021 03:04:21 +0300 Subject: [PATCH 12/26] commit on master --- linux-live/build | 4 +- linux-live/config | 3 + linux-live/minioslib | 45 +++++++------ linux-live/rootcopy/usr/bin/genminiosiso | 85 ++++++++---------------- 4 files changed, 56 insertions(+), 81 deletions(-) diff --git a/linux-live/build b/linux-live/build index e1d5c32..4e0d3e0 100644 --- a/linux-live/build +++ b/linux-live/build @@ -70,8 +70,8 @@ for i in $MKMOD; do COREFS="$COREFS /$i" fi done -mksquashfs $COREFS $LIVEKITDATA/$LIVEKITNAME/01-core.$BEXT -comp xz -b 1024K -always-use-fragments -keep-as-directory || exit +mksquashfs $COREFS $LIVEKITDATA/$LIVEKITNAME/01-core.$BEXT -comp $COMP_TYPE -b 1024K -always-use-fragments -keep-as-directory || exit echo $LIVEKITDATA > /tmp/livekitdata -cd $CWD +cd $CWD \ No newline at end of file diff --git a/linux-live/config b/linux-live/config index aa0055c..681ccbb 100644 --- a/linux-live/config +++ b/linux-live/config @@ -32,6 +32,9 @@ DISTRIBUTION_VARIANT="minbase" # DISTRIBUTION_URL="http://ru.archive.ubuntu.com/ubuntu" +# +COMP_TYPE="xz" + # Kernel file, will be copied to your Live Kit # Your kernel must support aufs and squashfs. Debian Jessie's kernel is ready # out of the box. diff --git a/linux-live/minioslib b/linux-live/minioslib index a821b30..30cf788 100644 --- a/linux-live/minioslib +++ b/linux-live/minioslib @@ -14,7 +14,7 @@ function common_variables() { # normal # OUTPUT="/dev/stdout" # log - OUTPUT="/$LIVEKITNAME.log" + OUTPUT="/var/log/$LIVEKITNAME.log" # if = "1", creates a second iso with a constant filename # если ="1", создаёт второй iso с постоянным именем файла @@ -22,7 +22,7 @@ function common_variables() { # if = "1", creates a copy of minios-live in chroot /opt # если ="1", создаёт копию minios-live в chroot /opt - DEV_SYSTEM="1" + DEV_SYSTEM="0" # if ="1", creates backup in parent folder # если ="1", создаёт резервную копию в родительской папке @@ -103,7 +103,7 @@ function help() { echo -e "\tПримеры:${LIGHTYELLOW}$0 build_bootstrap - build_chroot${ENDCOLOUR}" echo -e "\t\t${LIGHTYELLOW}$0 - build_chroot${ENDCOLOUR}" echo -e "\t\t${LIGHTYELLOW}$0 build_bootstrap -${ENDCOLOUR}" - echo -e "\t\t${LIGHTYELLOW}$0 cleanup${ENDCOLOUR}" + echo -e "\t\t${LIGHTYELLOW}$0 build_iso${ENDCOLOUR}" echo -e "\t\t${LIGHTYELLOW}$0 -${ENDCOLOUR}" exit 0 else @@ -129,7 +129,7 @@ function help() { echo -e "\tExamples:${LIGHTYELLOW}$0 build_bootstrap - build_chroot${ENDCOLOUR}" echo -e "\t\t${LIGHTYELLOW}$0 - build_chroot${ENDCOLOUR}" echo -e "\t\t${LIGHTYELLOW}$0 build_bootstrap -${ENDCOLOUR}" - echo -e "\t\t${LIGHTYELLOW}$0 cleanup${ENDCOLOUR}" + echo -e "\t\t${LIGHTYELLOW}$0 build_iso${ENDCOLOUR}" echo -e "\t\t${LIGHTYELLOW}$0 -${ENDCOLOUR}" exit 0 fi @@ -251,7 +251,8 @@ function check_mounted() { function check_build_dir() { echo -e "=====> the ${CYAN}${FUNCNAME[0]}${ENDCOLOUR} function is executing ..." - if [ "$(ls -A $BUILD_DIR >>$OUTPUT 2>&1)" != "" ]; then + # ▼ должно быть только перенаправление ошибки! + if [ "$(ls -A $BUILD_DIR 2>>$OUTPUT)" != "" ]; then echo -e "${MAGENTA}$BUILD_DIR${ENDCOLOUR} is not empty." cleanup check_mounted @@ -437,7 +438,7 @@ function build_bootstrap() { current_process export DEBIAN_FRONTEND=noninteractive - debootstrap --arch=$DISTRIBUTION_ARCH --variant=$DISTRIBUTION_VARIANT $DISTRIBUTION $BUILD_DIR $DISTRIBUTION_URL >>$OUTPUT 2>&1 + debootstrap --arch=$DISTRIBUTION_ARCH --variant=$DISTRIBUTION_VARIANT $DISTRIBUTION $BUILD_DIR $DISTRIBUTION_URL >>$OUTPUT 2>>$OUTPUT } function copy_build_scripts() { @@ -551,11 +552,12 @@ function build_iso() { B="-b boot/syslinux/isolinux.bin -c boot/syslinux/boot.cat" C="-no-emul-boot -boot-load-size 4 -boot-info-table -eltorito-alt-boot" - - if [ -x "$(which xorriso >>$OUTPUT 2>&1)" ]; then + # ▼ должно быть только перенаправление ошибки! + if [ -x "$(which xorriso 2>>$OUTPUT)" ]; then M="xorriso -as mkisofs -isohybrid-mbr $DIR/boot/syslinux/isohdpfx.bin" D=" -isohybrid-gpt-basdat -e" - elif [ -x "$(which genisoimage >>$OUTPUT 2>&1)" ]; then + # ▼ должно быть только перенаправление ошибки! + elif [ -x "$(which genisoimage 2>>$OUTPUT)" ]; then M=genisoimage D="-efi-boot" else @@ -569,7 +571,7 @@ function build_iso() { if ! $M -hide-rr-moved -f -r -J -l -V "$VER" -A "$VER" \ - $B $C $D $E -o $ISO $DIR + $B $C $D $E -o $ISO $DIR then exit 1 fi @@ -578,7 +580,8 @@ function build_iso() { # xorriso has hybridization built-in if [ "$(echo $M | cut -d" " -f1)" != "xorriso" ]; then - if [ -x "$(which isohybrid >>$OUTPUT 2>&1)" ]; then + # ▼ должно быть только перенаправление ошибки! + if [ -x "$(which isohybrid 2>>$OUTPUT)" ]; then isohybrid -uefi $ISO else echo ">>> No isohybrid to hybridize this ISO" @@ -642,12 +645,12 @@ function hostreq_pkg_list() { echo -e "${YELLOW}=====> installing required software for host system ...${ENDCOLOUR}" if [ -f $SCRIPT_DIR/linux-live/pkglists/hostreq.list ]; then sudo DEBIAN_FRONTEND=$DEBIAN_FRONTEND_TYPE \ - $APT_CMD update >>$OUTPUT 2>&1 && + $APT_CMD update >>$OUTPUT 2>&1 && $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 sudo DEBIAN_FRONTEND=$DEBIAN_FRONTEND_TYPE \ - $APT_CMD update >>$OUTPUT 2>&1 && + $APT_CMD update >>$OUTPUT 2>&1 && $APT_CMD install -y binutils debootstrap squashfs-tools xorriso grub-pc-bin grub-efi-$DISTRIBUTION_ARCH-bin mtools >>$OUTPUT 2>&1 fi } @@ -660,7 +663,7 @@ function prereq_pkg_list() { $APT_CMD upgrade $APT_OPTIONS >>$OUTPUT 2>&1 && echo -e "${YELLOW}=====> installing packages ...${ENDCOLOUR}" && $APT_CMD install $APT_OPTIONS \ - $(grep -vE "^\s*#" $SCRIPT_DIR/pkglists/prereq.list | tr "\n" " ") >>$OUTPUT 2>&1 + $(grep -vE "^\s*#" $SCRIPT_DIR/pkglists/prereq.list | tr "\n" " ") >>$OUTPUT 2>&1 else # we need to install systemd first, to configure machine id $APT_CMD update >>$OUTPUT 2>&1 && @@ -675,12 +678,12 @@ function main_pkg_list() { echo -e "${YELLOW}=====> installing main packages for chroot system ...${ENDCOLOUR}" if [ -f $SCRIPT_DIR/pkglists/hostreq.list ]; then sudo DEBIAN_FRONTEND=$DEBIAN_FRONTEND_TYPE \ - $APT_CMD update >>$OUTPUT 2>&1 && + $APT_CMD update >>$OUTPUT 2>&1 && $APT_CMD install $APT_OPTIONS \ - $(grep -vE "^\s*#" $SCRIPT_DIR/pkglists/main.list | tr "\n" " ") >>$OUTPUT 2>&1 + $(grep -vE "^\s*#" $SCRIPT_DIR/pkglists/main.list | tr "\n" " ") >>$OUTPUT 2>&1 else sudo DEBIAN_FRONTEND=$DEBIAN_FRONTEND_TYPE \ - $APT_CMD update >>$OUTPUT 2>&1 && + $APT_CMD update >>$OUTPUT 2>&1 && $APT_CMD install $APT_OPTIONS ubuntu-minimal resolvconf xz-utils linux-image-generic >>$OUTPUT 2>&1 fi } @@ -689,9 +692,9 @@ function other_pkg_list() { echo -e "${YELLOW}=====> installing other packages for chroot system ...${ENDCOLOUR}" if [ -f $SCRIPT_DIR/pkglists/hostreq.list ]; then sudo DEBIAN_FRONTEND=$DEBIAN_FRONTEND_TYPE \ - $APT_CMD update >>$OUTPUT 2>&1 && + $APT_CMD update >>$OUTPUT 2>&1 && $APT_CMD install $APT_OPTIONS \ - $(grep -vE "^\s*#" $SCRIPT_DIR/pkglists/other.list | tr "\n" " ") >>$OUTPUT 2>&1 + $(grep -vE "^\s*#" $SCRIPT_DIR/pkglists/other.list | tr "\n" " ") >>$OUTPUT 2>&1 fi } @@ -833,4 +836,4 @@ function chroot_finish_up() { } if [ grep ]; then echo -fi +fi \ No newline at end of file diff --git a/linux-live/rootcopy/usr/bin/genminiosiso b/linux-live/rootcopy/usr/bin/genminiosiso index 818c0ac..b386745 100755 --- a/linux-live/rootcopy/usr/bin/genminiosiso +++ b/linux-live/rootcopy/usr/bin/genminiosiso @@ -1,79 +1,48 @@ #!/bin/bash -CWD=$(pwd) -SOURCE=/run/initramfs/memory -TEMP=/tmp -REGEX='^$' - -if [ "$1" = "-e" ]; then - REGEX="$2" - shift - shift -fi +. /run/initramfs/lib/config || exit 1 -TARGET="$(readlink -f "$1")" +TMP=/tmp/changes$$ +EXCLUDE="^\$|/\$|[.]wh[.][.]wh[.]orph/|^[.]wh[.][.]wh[.]plnk/|^[.]wh[.][.]wh[.]aufs|^var/cache/|^var/backups/|^var/tmp/|^var/log/|^var/lib/apt/|^var/lib/dhcp/|^var/lib/systemd/|^sbin/fsck[.]aufs|^etc/resolv[.]conf|^root/[.]Xauthority|^root/[.]xsession-errors|^root/[.]fehbg|^root/[.]fluxbox/lastwallpaper|^root/[.]fluxbox/menu_resolution|^etc/mtab|^etc/fstab|^boot/|^dev/|^mnt/|^proc/|^run/|^sys/|^tmp/" +CHANGES=/run/initramfs/memory/changes -if [ "$TARGET" = "" ]; then +if [ "$1" = "" ]; then echo "" - echo "Generate MiniOS ISO image, adding specified modules" - echo "Regular expression is used to exclude any existing path or file with -e regex" + echo "savechanges - save all changed files in a compressed filesystem bundle" + echo " - excluding some predefined files such as /etc/mtab," + echo " temp & log files, empty directories, apt cache, and such" echo "" echo "Usage:" - echo " $0 [[ -e regex ]] target.iso [[module.sb]] [[module.sb]] ..." + echo " $0 [ target_file.sb ] [ changes_directory ]" echo "" - echo "Examples:" - echo " # to create MiniOS iso without chromium.sb module:" - echo " $0 -e 'chromium' minios_without_chromium.iso" + echo "If changes_directory is not specified, /run/initramfs/memory/changes is used." echo "" - echo " # to create MiniOS text-mode core only:" - echo " $0 -e 'firmware|xorg|desktop|apps|chromium' minios_textmode.iso" exit 1 fi -if [ -e "$SOURCE/data/boot/syslinux/isolinux.bin" ]; then - MINIOS=$SOURCE/data -fi - -if [ "$MINIOS" = "" ]; then - echo "Cannot find boot/isolinux.bin in MiniOS data" >&2 - exit 2 +if [ ! "$2" = "" ]; then + CHANGES="$2" fi -VER=2021 -DATE=$(date +%Y-%m-%d-%H-%M) -DIR=$MINIOS ; ISO=$TEMP/minios_$DATE.iso -[ -n "$1" ] && ISO="$1" +# exclude the save_file itself of course +EXCLUDE="$EXCLUDE|^""$(readlink -f "$1" | cut -b 2- | sed -r "s/[.]/[.]/")""\$" -B="-b boot/syslinux/isolinux.bin -c boot/syslinux/boot.cat" -C="-no-emul-boot -boot-load-size 4 -boot-info-table -eltorito-alt-boot" +CWD=$(pwd) -if [ -x "$(which xorriso 2> /dev/null)" ]; then - M="xorriso -as mkisofs -isohybrid-mbr $DIR/boot/syslinux/isohdpfx.bin" - D=" -isohybrid-gpt-basdat -e" -elif [ -x "$(which genisoimage 2> /dev/null)" ]; then - M=genisoimage ; D="-efi-boot" -else - M=mkisofs ; D="-eltorito-platform 0xEF -eltorito-boot" -fi +cd $CHANGES || exit -E="EFI/boot/efiboot.img -no-emul-boot" +mkdir -p $TMP +mount -t tmpfs tmpfs $TMP -VER="MiniOS $VER" +find \( -type d -printf "%p/\n" , -not -type d -print \) \ + | sed -r "s/^[.]\\///" | egrep -v "$EXCLUDE" \ + | while read FILE; do + cp --parents -afr "$FILE" "$TMP" +done -if ! $M -hide-rr-moved -f -r -J -l -V "$VER" -A "$VER" \ - $B $C $D $E -o $ISO $DIR ; then - exit 1 -fi +cd $CWD -echo ">>> $ISO created" - -# xorriso has hybridization built-in -if [ "$(echo $M | cut -d" " -f1)" != "xorriso" ]; then - if [ -x "$(which isohybrid 2> /dev/null)" ]; then - isohybrid -uefi $ISO - else - echo ">>> No isohybrid to hybridize this ISO" - fi -fi +mksquashfs $TMP "$1" -comp $COMP_TYPE -b 1024K -always-use-fragments -noappend -exit 0 \ No newline at end of file +umount $TMP +rmdir $TMP \ No newline at end of file From 48545ddce43afde0171275522f2c0c253a52f8a9 Mon Sep 17 00:00:00 2001 From: crims0n Date: Sat, 16 Jan 2021 03:40:17 +0300 Subject: [PATCH 13/26] =?UTF-8?q?=D1=83=D0=B4=D0=B0=D0=BB=D0=B8=D0=BB=20?= =?UTF-8?q?=D0=BD=D0=B5=D0=BD=D1=83=D0=B6=D0=BD=D1=83=D1=8E=20=D1=84=D1=83?= =?UTF-8?q?=D0=BD=D0=BA=D1=86=D0=B8=D1=8E,=20=D0=BD=D0=B0=D1=81=D1=82?= =?UTF-8?q?=D1=80=D0=BE=D0=B8=D0=BB=20=D0=B8=D0=B3=D0=BD=D0=BE=D1=80=D0=B8?= =?UTF-8?q?=D1=80=D0=BE=D0=B2=D0=B0=D0=BD=D0=B8=D0=B5=20=D0=BF=D0=B0=D0=BF?= =?UTF-8?q?=D0=BA=D0=B8=20.git=20=D0=BF=D1=80=D0=B8=20=D1=81=D0=B1=D0=BE?= =?UTF-8?q?=D1=80=D0=BA=D0=B5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- linux-live/minioslib | 19 ++----------------- 1 file changed, 2 insertions(+), 17 deletions(-) diff --git a/linux-live/minioslib b/linux-live/minioslib index 30cf788..36ff169 100644 --- a/linux-live/minioslib +++ b/linux-live/minioslib @@ -383,7 +383,7 @@ function create_backup() { mkdir -p $PARENT_DIR/minios-live-current (cd $SCRIPT_DIR && cp --parents -afr * $PARENT_DIR/minios-live-current) else - for file in $(find $SCRIPT_DIR -type f | sed "s,$SCRIPT_DIR/,,g" | sed "s,.script_version,,g"); do + for file in $(find $SCRIPT_DIR -path $SCRIPT_DIR/.git -prune -false -o -type f | sed "s,$SCRIPT_DIR/,,g" | sed "s,.script_version,,g"); do if ! cmp $SCRIPT_DIR/$file $PARENT_DIR/minios-live-current/$file >>$OUTPUT 2>&1; then CHANGED="1" echo -e "$file has been modified since last backup." >>$OUTPUT 2>&1 @@ -410,21 +410,6 @@ function create_backup() { # ================================================================= # ================================================================= -function select_distribution() { - # unused - echo -e "=====> the ${CYAN}${FUNCNAME[0]}${ENDCOLOUR} function is executing ..." - case $DISTRIBUTION in - bionic) - $DEBOOTSTRAP_URL=http://ru.archive.ubuntu.com/ubuntu/ - $SOURCES_LIST=$SCRIPT_DIR/linux-live/sources/bionic.list - ;; - focal) - $DEBOOTSTRAP_URL=http://ru.archive.ubuntu.com/ubuntu/ - $SOURCES_LIST=$SCRIPT_DIR/linux-live/sources/focal.list - ;; - esac -} - function create_apt_list() { echo -e "=====> the ${CYAN}${FUNCNAME[0]}${ENDCOLOUR} function is executing ..." if [ ! -f $SCRIPT_DIR/linux-live/aptsources/$DISTRIBUTION.list ]; then @@ -836,4 +821,4 @@ function chroot_finish_up() { } if [ grep ]; then echo -fi \ No newline at end of file +fi From 5d1d82b4ef7fa3b2b9f5fd37e164d2d01fa24ced Mon Sep 17 00:00:00 2001 From: crim50n Date: Sat, 16 Jan 2021 03:41:47 +0300 Subject: [PATCH 14/26] Update README.md --- README.md | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/README.md b/README.md index 0254351..819617b 100644 --- a/README.md +++ b/README.md @@ -8,11 +8,11 @@ `minios-install [start_cmd] [-] [end_cmd]` -запуск от start_cmd до end_cmd -если start_cmd опущен, выполняются все команды, начиная с первой -если end_cmd опущен, выполняются все команды до последней -введите одну команду, чтобы запустить определенную команду -введите '-' как единственный аргумент для запуска всех команд +#запуск от start_cmd до end_cmd +#если start_cmd опущен, выполняются все команды, начиная с первой +#если end_cmd опущен, выполняются все команды до последней +#введите одну команду, чтобы запустить определенную команду +#введите '-' как единственный аргумент для запуска всех команд Примеры:./install build_bootstrap - build_chroot ./install - build_chroot From 28329442fa9629342358a0d6e3510eedb7cce46c Mon Sep 17 00:00:00 2001 From: crim50n Date: Sat, 16 Jan 2021 03:42:04 +0300 Subject: [PATCH 15/26] Update README.md --- README.md | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/README.md b/README.md index 819617b..883b566 100644 --- a/README.md +++ b/README.md @@ -8,11 +8,11 @@ `minios-install [start_cmd] [-] [end_cmd]` -#запуск от start_cmd до end_cmd -#если start_cmd опущен, выполняются все команды, начиная с первой -#если end_cmd опущен, выполняются все команды до последней -#введите одну команду, чтобы запустить определенную команду -#введите '-' как единственный аргумент для запуска всех команд +.запуск от start_cmd до end_cmd +.если start_cmd опущен, выполняются все команды, начиная с первой +.если end_cmd опущен, выполняются все команды до последней +.введите одну команду, чтобы запустить определенную команду +.введите '-' как единственный аргумент для запуска всех команд Примеры:./install build_bootstrap - build_chroot ./install - build_chroot From c35ef8376b791ba875253535c2772d5ebb086db4 Mon Sep 17 00:00:00 2001 From: crim50n Date: Sat, 16 Jan 2021 03:43:43 +0300 Subject: [PATCH 16/26] Update README.md --- README.md | 16 ++++++++++------ 1 file changed, 10 insertions(+), 6 deletions(-) diff --git a/README.md b/README.md index 883b566..f99c8fb 100644 --- a/README.md +++ b/README.md @@ -6,13 +6,17 @@ Синтаксис: `./install [start_cmd] [-] [end_cmd]` - `minios-install [start_cmd] [-] [end_cmd]` + minios-install [start_cmd] [-] [end_cmd]` -.запуск от start_cmd до end_cmd -.если start_cmd опущен, выполняются все команды, начиная с первой -.если end_cmd опущен, выполняются все команды до последней -.введите одну команду, чтобы запустить определенную команду -.введите '-' как единственный аргумент для запуска всех команд +запуск от start_cmd до end_cmd + +если start_cmd опущен, выполняются все команды, начиная с первой + +если end_cmd опущен, выполняются все команды до последней + +введите одну команду, чтобы запустить определенную команду + +введите '-' как единственный аргумент для запуска всех команд Примеры:./install build_bootstrap - build_chroot ./install - build_chroot From 52a0836e35b7074f926a75eaf2e8d109edcd65f1 Mon Sep 17 00:00:00 2001 From: crim50n Date: Sat, 16 Jan 2021 03:44:02 +0300 Subject: [PATCH 17/26] Update README.md --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index f99c8fb..342692c 100644 --- a/README.md +++ b/README.md @@ -6,7 +6,7 @@ Синтаксис: `./install [start_cmd] [-] [end_cmd]` - minios-install [start_cmd] [-] [end_cmd]` + minios-install [start_cmd] [-] [end_cmd]` запуск от start_cmd до end_cmd From 811ee1fad98a29bb6dc40d7c96db195ce233def3 Mon Sep 17 00:00:00 2001 From: crim50n Date: Sat, 16 Jan 2021 03:44:25 +0300 Subject: [PATCH 18/26] Update README.md --- README.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index 342692c..e96ed56 100644 --- a/README.md +++ b/README.md @@ -4,9 +4,9 @@ Поддерживаемые команды : setup_host build_bootstrap build_chroot build_live build_iso -Синтаксис: `./install [start_cmd] [-] [end_cmd]` +Синтаксис: ./install [start_cmd] [-] [end_cmd] - minios-install [start_cmd] [-] [end_cmd]` +minios-install [start_cmd] [-] [end_cmd] запуск от start_cmd до end_cmd From c657634f17a46cbdcd0e3b946af1523d86a07664 Mon Sep 17 00:00:00 2001 From: crim50n Date: Sat, 16 Jan 2021 03:44:44 +0300 Subject: [PATCH 19/26] Update README.md --- README.md | 2 -- 1 file changed, 2 deletions(-) diff --git a/README.md b/README.md index e96ed56..08a4523 100644 --- a/README.md +++ b/README.md @@ -6,8 +6,6 @@ Синтаксис: ./install [start_cmd] [-] [end_cmd] -minios-install [start_cmd] [-] [end_cmd] - запуск от start_cmd до end_cmd если start_cmd опущен, выполняются все команды, начиная с первой From 63b3a69b21b9116a0030bdd7fecb70aa7e157c8b Mon Sep 17 00:00:00 2001 From: crims0n Date: Sat, 16 Jan 2021 00:55:26 +0000 Subject: [PATCH 20/26] Update README.md --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 08a4523..7fcfff7 100644 --- a/README.md +++ b/README.md @@ -4,7 +4,7 @@ Поддерживаемые команды : setup_host build_bootstrap build_chroot build_live build_iso -Синтаксис: ./install [start_cmd] [-] [end_cmd] +Синтаксис: `./install [start_cmd] [-] [end_cmd]` запуск от start_cmd до end_cmd From 713876160c40857b95fbc9bccfe965da95d4e2ec Mon Sep 17 00:00:00 2001 From: crims0n Date: Sat, 16 Jan 2021 00:56:03 +0000 Subject: [PATCH 21/26] Update README.md --- README.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index 7fcfff7..a6bd12b 100644 --- a/README.md +++ b/README.md @@ -4,9 +4,9 @@ Поддерживаемые команды : setup_host build_bootstrap build_chroot build_live build_iso -Синтаксис: `./install [start_cmd] [-] [end_cmd]` +**Синтаксис:** `./install [start_cmd] [-] [end_cmd]` -запуск от start_cmd до end_cmd +запуск от start_cmd до > end_cmd если start_cmd опущен, выполняются все команды, начиная с первой From 1ce539b670bcaf409f9f4b38c0fd97cc4f3834a6 Mon Sep 17 00:00:00 2001 From: crims0n Date: Sat, 16 Jan 2021 00:56:39 +0000 Subject: [PATCH 22/26] Update README.md --- README.md | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/README.md b/README.md index a6bd12b..9163454 100644 --- a/README.md +++ b/README.md @@ -6,9 +6,8 @@ **Синтаксис:** `./install [start_cmd] [-] [end_cmd]` -запуск от start_cmd до > end_cmd - -если start_cmd опущен, выполняются все команды, начиная с первой +- запуск от start_cmd до end_cmd +- если start_cmd опущен, выполняются все команды, начиная с первой если end_cmd опущен, выполняются все команды до последней From 322736281b747497d83f75b562e214a5e368faaf Mon Sep 17 00:00:00 2001 From: crims0n Date: Sat, 16 Jan 2021 00:57:35 +0000 Subject: [PATCH 23/26] Update README.md --- README.md | 12 ++++-------- 1 file changed, 4 insertions(+), 8 deletions(-) diff --git a/README.md b/README.md index 9163454..52076c4 100644 --- a/README.md +++ b/README.md @@ -2,19 +2,15 @@ Этот скрипт собирает загружаемый ISO образ MiniOS. -Поддерживаемые команды : setup_host build_bootstrap build_chroot build_live build_iso +**Поддерживаемые команды:** `setup_host build_bootstrap build_chroot build_live build_iso` **Синтаксис:** `./install [start_cmd] [-] [end_cmd]` - запуск от start_cmd до end_cmd - если start_cmd опущен, выполняются все команды, начиная с первой - -если end_cmd опущен, выполняются все команды до последней - -введите одну команду, чтобы запустить определенную команду - -введите '-' как единственный аргумент для запуска всех команд - +- если end_cmd опущен, выполняются все команды до последней +- введите одну команду, чтобы запустить определенную команду +- введите '-' как единственный аргумент для запуска всех команд Примеры:./install build_bootstrap - build_chroot ./install - build_chroot ./install build_bootstrap - From f987e47afd2f2f4ebcfe0d4cc2a87b78f7f6cd2b Mon Sep 17 00:00:00 2001 From: crims0n Date: Sat, 16 Jan 2021 00:59:57 +0000 Subject: [PATCH 24/26] Update README.md --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 52076c4..e60c181 100644 --- a/README.md +++ b/README.md @@ -11,6 +11,7 @@ - если end_cmd опущен, выполняются все команды до последней - введите одну команду, чтобы запустить определенную команду - введите '-' как единственный аргумент для запуска всех команд + Примеры:./install build_bootstrap - build_chroot ./install - build_chroot ./install build_bootstrap - From 02e8006b1a85e817ce2bfe05c7d646d015f81594 Mon Sep 17 00:00:00 2001 From: crims0n Date: Sat, 16 Jan 2021 04:02:47 +0300 Subject: [PATCH 25/26] Update README.md --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index e60c181..31a1486 100644 --- a/README.md +++ b/README.md @@ -17,3 +17,4 @@ ./install build_bootstrap - ./install cleanup ./install - + From ad3fa74ceb7bb878d69ca228d55356bcc3d5a7e1 Mon Sep 17 00:00:00 2001 From: crims0n Date: Sat, 16 Jan 2021 04:02:59 +0300 Subject: [PATCH 26/26] Update README.md --- README.md | 1 - 1 file changed, 1 deletion(-) diff --git a/README.md b/README.md index 31a1486..e60c181 100644 --- a/README.md +++ b/README.md @@ -17,4 +17,3 @@ ./install build_bootstrap - ./install cleanup ./install - -