Browse Source

update

master
crims0n 5 years ago
parent
commit
0608796a2b
  1. 1
      build_modules
  2. 75
      linux-live/minioslib

1
build_modules

@ -15,6 +15,7 @@ fi
set -u
. $SCRIPT_DIR/linux-live/minioslib || exit 1
. $SCRIPT_DIR/linux-live/config || exit 1
. $SCRIPT_DIR/linux-live/livekitlib|| exit 1
# don't change! use ./autoinstall instead
UNATTENDED="0"

75
linux-live/minioslib

@ -1512,7 +1512,7 @@ function module_check_build_dir() {
else
# ▼ должно быть только перенаправление ошибки!
if [ "$(ls -A $MODULE_UPPER_DIR)" != "" ]; then
echo -e "${MAGENTA}$MODULE_UPPER_DIR{ENDCOLOUR} is not empty."
echo -e "${MAGENTA}$MODULE_UPPER_DIR${ENDCOLOUR} is not empty."
module_cleanup
module_check_mounted
echo -e "The working directory is ${MAGENTA}$MODULE_MERGED_DIR${ENDCOLOUR}."
@ -1526,15 +1526,43 @@ function module_check_build_dir() {
function module_chroot_mount_fs() {
echo -e "=====> the ${CYAN}${FUNCNAME[0]}${ENDCOLOUR} function is executing ..."
local MODULES MODULE_LOWER_DIR
#if [ ! -d $MODULE_MERGED_DIR/dev ]; then
# mkdir $MODULE_MERGED_DIR/dev
#fi
module_check_mounted
MODULES_LIST=""
MODULES=($PARENT_DIR/image/$LIVEKITNAME/*.$BEXT)
for ((i = ${#MODULES[@]} - 1; i >= 0; i--)); do
MODULE_LOWER_DIR=$(basename ${MODULES[$i]} .$BEXT)
mkdir -p $MODULES_DIR/lower/$MODULE_LOWER_DIR-lower
mount ${MODULES[$i]} $MODULES_DIR/lower/$MODULE_LOWER_DIR-lower
MODULES_LIST=$MODULES_LIST":""$MODULES_DIR/lower/$MODULE_LOWER_DIR-lower"
done
MODULES_LIST=${MODULES_LIST:1}
mkdir -p $MODULE_UPPER_DIR $MODULE_WORK_DIR $MODULE_MERGED_DIR
mount -t overlay overlay -o lowerdir=$BUILD_DIR,upperdir=$MODULE_UPPER_DIR,workdir=$MODULE_WORK_DIR $MODULE_MERGED_DIR
mount -t overlay overlay -o lowerdir=$MODULES_LIST,upperdir=$MODULE_UPPER_DIR,workdir=$MODULE_WORK_DIR $MODULE_MERGED_DIR
if [ ! -d $MODULE_MERGED_DIR/dev ]; then
mkdir -p $MODULE_MERGED_DIR/dev
fi
if [ ! -d $MODULE_MERGED_DIR/run ]; then
mkdir -p $MODULE_MERGED_DIR/run
fi
if [ ! -d $MODULE_MERGED_DIR/proc ]; then
mkdir -p $MODULE_MERGED_DIR/proc
fi
if [ ! -d $MODULE_MERGED_DIR/sys ]; then
mkdir -p $MODULE_MERGED_DIR/sys
fi
if [ ! -d $MODULE_MERGED_DIR/tmp ]; then
mkdir -p $MODULE_MERGED_DIR/tmp
fi
: 'if [ -f /.dockerenv ] || [ "$container" = "podman" ]; then
ln -s /dev $MODULE_MERGED_DIR/dev
@ -1555,6 +1583,8 @@ function module_chroot_mount_fs() {
function module_chroot_umount_fs() {
echo -e "=====> the ${CYAN}${FUNCNAME[0]}${ENDCOLOUR} function is executing ..."
local MODULES MODULE_LOWER_DIR
: 'if [ -f /.dockerenv ] || [ "$container" = "podman" ]; then
set +e
rm -f $MODULE_MERGED_DIR/dev >>$OUTPUT 2>&1
@ -1576,6 +1606,12 @@ function module_chroot_umount_fs() {
set -e
#fi
MODULES=($PARENT_DIR/image/$LIVEKITNAME/*.$BEXT)
for ((i = ${#MODULES[@]} - 1; i >= 0; i--)); do
MODULE_LOWER_DIR=$(basename ${MODULES[$i]} .$BEXT)
umount $MODULES_DIR/lower/$MODULE_LOWER_DIR-lower
done
module_check_mounted
}
@ -1618,8 +1654,8 @@ EOF
EOF
# clean up useless stuff
rm -rf $MODULE_UPPER_DIR/boot
rm -rf $MODULE_UPPER_DIR/tmp/* $MODULE_UPPER_DIR/root/.bash_history >>$OUTPUT 2>&1
rm -rf $MODULE_UPPER_DIR/boot $MODULE_UPPER_DIR/dev $MODULE_UPPER_DIR/proc $MODULE_UPPER_DIR/sys $MODULE_UPPER_DIR/rmp $MODULE_UPPER_DIR/run
rm -f $MODULE_UPPER_DIR/root/.bash_history >>$OUTPUT 2>&1
rm -rf $MODULE_UPPER_DIR/.cache
find $MODULE_UPPER_DIR/var/log/ -type f | xargs rm -f >>$OUTPUT 2>&1
rm -f $MODULE_UPPER_DIR/etc/ssh/ssh_host*
@ -1645,11 +1681,17 @@ function build_modules() {
cd $SCRIPT_DIR/linux-live/modules
for LIST in *; do
for MODULE in *; do
MODULE_UPPER_DIR="$MODULES_DIR/$LIST-upper"
MODULE_WORK_DIR="$MODULES_DIR/$LIST-work"
MODULE_MERGED_DIR="$MODULES_DIR/$LIST-merged"
if (ls $PARENT_DIR/image/$LIVEKITNAME/*.$BEXT | grep -q $MODULE 2>/dev/null); then
echo -e "${RED}!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!${ENDCOLOUR}"
echo -e "Please remove ${MAGENTA}$PARENT_DIR/image/$LIVEKITNAME/$MODULE.$BEXT${ENDCOLOUR} if you want to build ${MAGENTA}$MODULE${ENDCOLOUR}."
echo -e "${RED}!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!${ENDCOLOUR}"
else
MODULE_UPPER_DIR="$MODULES_DIR/$MODULE-upper"
MODULE_WORK_DIR="$MODULES_DIR/$MODULE-work"
MODULE_MERGED_DIR="$MODULES_DIR/$MODULE-merged"
module_check_build_dir
@ -1678,18 +1720,18 @@ function build_modules() {
LIVE_TYPE=$LIVE_TYPE \
sudo DEBIAN_FRONTEND=$DEBIAN_FRONTEND_TYPE \
$APT_CMD install $APT_OPTIONS \
$(grep -vE "^\s*#" $SCRIPT_DIR/linux-live/modules/$LIST | tr "\n" " ") >>$OUTPUT 2>&1
$(grep -vE "^\s*#" $SCRIPT_DIR/linux-live/modules/$MODULE | tr "\n" " ") >>$OUTPUT 2>&1
else
chroot $MODULE_MERGED_DIR sudo DEBIAN_FRONTEND=$DEBIAN_FRONTEND_TYPE \
$APT_CMD update >>$OUTPUT 2>&1 &&
chroot $MODULE_MERGED_DIR sudo DEBIAN_FRONTEND=$DEBIAN_FRONTEND_TYPE \
$APT_CMD install $APT_OPTIONS \
$(grep -vE "^\s*#" $SCRIPT_DIR/linux-live/modules/$LIST | tr "\n" " ") >>$OUTPUT 2>&1
$(grep -vE "^\s*#" $SCRIPT_DIR/linux-live/modules/$MODULE | tr "\n" " ") >>$OUTPUT 2>&1
fi
module_chroot_finish_up
if [ $LIST = "02-xubuntu" ]; then
if [ $MODULE = "02-xubuntu" ]; then
(cd $SCRIPT_DIR/linux-live/rootcopy-modules/02-xubuntu && cp --parents -afr * $MODULE_MERGED_DIR/)
if cat $MODULE_MERGED_DIR/etc/passwd | grep /home/live; then
@ -1715,7 +1757,7 @@ fi
ln -s /usr/share/backgrounds/MiniOS.png /usr/share/xfce4/backdrops/xubuntu-wallpaper.png
EOF
if [ -d $BUILD_DIR/etc/lightdm ]; then
if [ -d $MODULE_MERGED_DIR/etc/lightdm ]; then
cat <<EOF >$MODULE_MERGED_DIR/etc/lightdm/lightdm.conf
[Seat:*]
autologin-session=xubuntu
@ -1724,9 +1766,9 @@ autologin-user-timeout=0
EOF
fi
if [ -d $BUILD_DIR/etc/NetworkManager ]; then
if [ -d $MODULE_MERGED_DIR/etc/NetworkManager ]; then
echo "Disable dhclient.service autostart." >>$OUTPUT 2>&1
chroot $BUILD_DIR systemctl disable dhclient >>$OUTPUT 2>&1
chroot $MODULE_MERGED_DIR systemctl disable dhclient >>$OUTPUT 2>&1
fi
fi
@ -1741,9 +1783,10 @@ EOF
COREFS="$COREFS $i"
fi
done
mksquashfs $COREFS $PARENT_DIR/image/$LIVEKITNAME/$LIST.$BEXT -comp $COMP_TYPE -b 1024K -always-use-fragments -keep-as-directory -noappend || exit'
mksquashfs $COREFS $PARENT_DIR/image/$LIVEKITNAME/$MODULE.$BEXT -comp $COMP_TYPE -b 1024K -always-use-fragments -keep-as-directory -noappend || exit'
mksquashfs $MODULE_UPPER_DIR $PARENT_DIR/image/$LIVEKITNAME/$LIST.$BEXT -comp $COMP_TYPE -b 1024K -always-use-fragments -noappend || exit
mksquashfs $MODULE_UPPER_DIR $PARENT_DIR/image/$LIVEKITNAME/$MODULE.$BEXT -comp $COMP_TYPE -b 1024K -always-use-fragments -noappend || exit
fi
done
}
Loading…
Cancel
Save