removed some stupidity
This commit is contained in:
parent
effc58ec52
commit
512b1b2597
2 changed files with 4 additions and 205 deletions
|
@ -97,17 +97,6 @@ $CHROOTCMD /bin/bash /tmp/install_base.sh || error
|
||||||
message "clear /tmp"
|
message "clear /tmp"
|
||||||
$CHROOTCMD /usr/bin/rm -Rf /tmp/* || error
|
$CHROOTCMD /usr/bin/rm -Rf /tmp/* || error
|
||||||
|
|
||||||
message "writing nanodesk-installer.sh into /root"
|
|
||||||
#first get the installed kernel version
|
|
||||||
KERNEL_VER="$($CHROOTCMD /usr/bin/dpkg -l "linux-image-*" |
|
|
||||||
grep "^ii"|
|
|
||||||
awk '{print $2}' |
|
|
||||||
grep -E 'linux-image-[0-9]\.([0-9]|[0-9][0-9])\.([0-9]|[0-9][0-9])-([0-9]|[0-9][0-9]).*-amd64$')"
|
|
||||||
message "using Kernel ${YELLOW}${KERNEL_VER}${ENDCOLOR}"
|
|
||||||
sudo sed "s/%KERNEL_VER%/${KERNEL_VER}/g" templates/nanodesk-installer.tpl.sh > build/tmp/nanodesk-installer.sh
|
|
||||||
sudo cp build/tmp/nanodesk-installer.sh build/chroot/root/nanodesk-installer.sh
|
|
||||||
sudo chmod +x build/chroot/root/nanodesk-installer.sh
|
|
||||||
|
|
||||||
message "write nanodesk version $VERSION into rootdir/usr/share/nanodesk/version"
|
message "write nanodesk version $VERSION into rootdir/usr/share/nanodesk/version"
|
||||||
echo $VERSION > rootdir/usr/share/nanodesk/version
|
echo $VERSION > rootdir/usr/share/nanodesk/version
|
||||||
|
|
||||||
|
@ -117,6 +106,7 @@ sudo cp -r rootdir/* build/chroot/
|
||||||
|
|
||||||
message "correct file permissions"
|
message "correct file permissions"
|
||||||
$CHROOTCMD /usr/bin/chmod 440 /etc/sudoers
|
$CHROOTCMD /usr/bin/chmod 440 /etc/sudoers
|
||||||
|
$CHROOTCMD /usr/bin/chmod 755 /root/nanodesk-installer.sh
|
||||||
|
|
||||||
### liveboot part, https://www.willhaley.com/blog/custom-debian-live-environment/
|
### liveboot part, https://www.willhaley.com/blog/custom-debian-live-environment/
|
||||||
message "make squashfs"
|
message "make squashfs"
|
||||||
|
@ -127,9 +117,10 @@ sudo mksquashfs \
|
||||||
-comp xz \
|
-comp xz \
|
||||||
-e boot || error
|
-e boot || error
|
||||||
|
|
||||||
|
|
||||||
message "copy kernel and initrd images"
|
message "copy kernel and initrd images"
|
||||||
cp build/chroot/boot/vmlinuz-$(echo $KERNEL_VER|sed 's/linux-image-//g') build/staging/live/vmlinuz || error
|
cp build/chroot/boot/vmlinuz-* build/staging/live/vmlinuz || error
|
||||||
cp build/chroot/boot/initrd.img-$(echo $KERNEL_VER|sed 's/linux-image-//g') build/staging/live/initrd || error
|
cp build/chroot/boot/initrd.img-* build/staging/live/initrd || error
|
||||||
|
|
||||||
message "generate isolinux.cfg"
|
message "generate isolinux.cfg"
|
||||||
sed "s/%VERSION%/${VERSION}/g" templates/isolinux.tpl.cfg > build/staging/isolinux/isolinux.cfg
|
sed "s/%VERSION%/${VERSION}/g" templates/isolinux.tpl.cfg > build/staging/isolinux/isolinux.cfg
|
||||||
|
|
|
@ -1,192 +0,0 @@
|
||||||
#!/bin/bash
|
|
||||||
|
|
||||||
### installer for nanodesk
|
|
||||||
### By: DeltaLima
|
|
||||||
### 2023
|
|
||||||
###
|
|
||||||
### this is just a hobby, nothing serious. i know the debian installer and other
|
|
||||||
### exist, but i wanted to try some handcrafted installation.
|
|
||||||
|
|
||||||
|
|
||||||
CHROOTCMD="chroot /mnt/"
|
|
||||||
|
|
||||||
##message () {
|
|
||||||
## echo "== " $1
|
|
||||||
##}
|
|
||||||
|
|
||||||
# colors for colored output 8)
|
|
||||||
RED="\e[31m"
|
|
||||||
GREEN="\e[32m"
|
|
||||||
YELLOW="\e[33m"
|
|
||||||
ENDCOLOR="\e[0m"
|
|
||||||
|
|
||||||
function message() {
|
|
||||||
case $1 in
|
|
||||||
warn)
|
|
||||||
MESSAGE_TYPE="${YELLOW}WARN${ENDCOLOR}"
|
|
||||||
;;
|
|
||||||
error)
|
|
||||||
MESSAGE_TYPE="${RED}ERROR${ENDCOLOR}"
|
|
||||||
;;
|
|
||||||
info|*)
|
|
||||||
MESSAGE_TYPE="${GREEN}INFO${ENDCOLOR}"
|
|
||||||
;;
|
|
||||||
esac
|
|
||||||
|
|
||||||
if [ "$1" == "info" ] || [ "$1" == "warn" ] || [ "$1" == "error" ]
|
|
||||||
then
|
|
||||||
MESSAGE=$2
|
|
||||||
else
|
|
||||||
MESSAGE=$1
|
|
||||||
fi
|
|
||||||
|
|
||||||
echo -e "[${MESSAGE_TYPE}] $MESSAGE"
|
|
||||||
}
|
|
||||||
|
|
||||||
error () {
|
|
||||||
message error "ERROR!"
|
|
||||||
exit 1
|
|
||||||
}
|
|
||||||
|
|
||||||
finish () {
|
|
||||||
message "removing firststart dialoge from jwm config"
|
|
||||||
$CHROOTCMD /usr/bin/sed -i '/firstlogin\/welcome/d' /etc/jwm/system.jwmrc || error
|
|
||||||
|
|
||||||
message "removing installer files from target"
|
|
||||||
$CHROOTCMD /usr/bin/rm -Rf /root/nanodesk-installer.sh || error
|
|
||||||
|
|
||||||
message "removing live-packages from target"
|
|
||||||
$CHROOTCMD /usr/bin/apt -y purge 'live-boot*' 'live-tools*'
|
|
||||||
|
|
||||||
message "autoremove unneeded dependencies"
|
|
||||||
$CHROOTCMD /usr/bin/apt -y autoremove
|
|
||||||
|
|
||||||
|
|
||||||
message "we are now ready to boot from $target"
|
|
||||||
exit 0
|
|
||||||
}
|
|
||||||
|
|
||||||
if [ "$1" == "--help" ] || [ -z "$1" ]
|
|
||||||
then
|
|
||||||
echo "Usage: $0 [OPTION] TARGETDEVICE
|
|
||||||
Example: $0 /dev/sda1
|
|
||||||
|
|
||||||
TARGETDEVICE: blockdevice already formatted with filesystem like ext4
|
|
||||||
|
|
||||||
Options:
|
|
||||||
--help: Show this helptext
|
|
||||||
|
|
||||||
$0 trys to install grub into the mbr of the given targetdevice.
|
|
||||||
We simply cut the last character away from the targetdevice,
|
|
||||||
so /dev/sda1 gets /dev/sda, where grub will be installed."
|
|
||||||
exit 1
|
|
||||||
fi
|
|
||||||
|
|
||||||
target="$1"
|
|
||||||
if [ ! -b "$target" ]
|
|
||||||
then
|
|
||||||
message "$target does not exist or is not a blockdevice."
|
|
||||||
error
|
|
||||||
fi
|
|
||||||
|
|
||||||
message " ----==== nanodesk Installer ====----"
|
|
||||||
message "Make sure you have a linux compatible filesystem at $target"
|
|
||||||
message warn "!! The installer immediately begins to write things to disk !!"
|
|
||||||
message warn "!! The installer only works reliable with legacy BIOS boot !!"
|
|
||||||
message
|
|
||||||
message "I will mount $target to /mnt/. I try to install grub to ${target::-1}"
|
|
||||||
message
|
|
||||||
message "Are you sure to install nanodesk to $target?"
|
|
||||||
message "To continue type 'YES' and enter, to cancel type anything else or CTRL+C"
|
|
||||||
|
|
||||||
read -p "> " DOINSTALL
|
|
||||||
test "$DOINSTALL" == "YES" || error
|
|
||||||
|
|
||||||
message "... GOOD LUCK!"
|
|
||||||
message "mounting $target to /mnt/"
|
|
||||||
mount $target /mnt || error
|
|
||||||
|
|
||||||
message "copy systemfiles"
|
|
||||||
rsync -aHx / /mnt/ || error
|
|
||||||
|
|
||||||
message "bind mount dev proc sys"
|
|
||||||
for m in dev proc sys
|
|
||||||
do
|
|
||||||
mount -o bind /$m /mnt/$m || error
|
|
||||||
done
|
|
||||||
|
|
||||||
message "creating /boot directory"
|
|
||||||
mkdir -p /mnt/boot/ || error
|
|
||||||
|
|
||||||
message "create tmp script for reinstalling grub and kernel"
|
|
||||||
cat <<\EOF > /mnt/tmp/reinstall_kernel.sh
|
|
||||||
DEBIAN_FRONTEND=noninteractive
|
|
||||||
export DEBIAN_FRONTEND
|
|
||||||
#/usr/bin/apt --yes purge 'linux-image-*' 'grub-*'
|
|
||||||
/usr/bin/apt --yes --reinstall install \
|
|
||||||
linux-image-amd64 \
|
|
||||||
%KERNEL_VER% \
|
|
||||||
grub-pc grub-pc-bin \
|
|
||||||
grub-common \
|
|
||||||
grub2-common \
|
|
||||||
os-prober
|
|
||||||
EOF
|
|
||||||
|
|
||||||
message "install kernel and grub"
|
|
||||||
$CHROOTCMD /bin/bash /tmp/reinstall_kernel.sh || error
|
|
||||||
|
|
||||||
message "modify /etc/default/grub"
|
|
||||||
$CHROOTCMD /usr/bin/sed -i 's/GRUB_DISTRIBUTOR=.*/GRUB_DISTRIBUTOR=\"nanodesk \`cat \/usr\/share\/nanodesk\/version\`\"/g' /etc/default/grub
|
|
||||||
|
|
||||||
message "grub-install $target"
|
|
||||||
$CHROOTCMD grub-install ${target::-1} || error
|
|
||||||
|
|
||||||
message "create initramfs"
|
|
||||||
$CHROOTCMD /usr/sbin/update-initramfs.orig.initramfs-tools -k all -c || error
|
|
||||||
|
|
||||||
message "update-grub"
|
|
||||||
$CHROOTCMD /usr/sbin/update-grub || error
|
|
||||||
|
|
||||||
message "create fstab"
|
|
||||||
echo "UUID=$(blkid -o value -s UUID $target) / $(blkid -o value -s TYPE $target) defaults 0 1" >> /mnt/etc/fstab
|
|
||||||
|
|
||||||
message "activating swap if present in fstab"
|
|
||||||
SWAP="$(blkid -o list | grep swap | awk '{print $5}')"
|
|
||||||
test -n "$SWAP" && echo "UUID=$SWAP none swap defaults 0 0" >> /mnt/etc/fstab
|
|
||||||
|
|
||||||
message "Cleanup and create own [U]ser or [K]eep everything as it is?"
|
|
||||||
read -p "> " USERSTEP
|
|
||||||
|
|
||||||
STEPFINISH=0
|
|
||||||
while [ $STEPFINISH != 1 ]
|
|
||||||
do
|
|
||||||
case $USERSTEP in
|
|
||||||
u|U)
|
|
||||||
message "please change root pw"
|
|
||||||
$CHROOTCMD /usr/bin/passwd root || error
|
|
||||||
|
|
||||||
message "deleting user 'debian'"
|
|
||||||
$CHROOTCMD /usr/bin/id -u debian && $CHROOTCMD /usr/sbin/userdel -f debian || error
|
|
||||||
|
|
||||||
message "removing user 'debian' from sudoers"
|
|
||||||
$CHROOTCMD /usr/bin/sed -i '/^debian/d' /etc/sudoers || error
|
|
||||||
|
|
||||||
message "please enter a name for a new user"
|
|
||||||
read -p "> " NEWUSER
|
|
||||||
$CHROOTCMD /usr/sbin/adduser $NEWUSER || error
|
|
||||||
|
|
||||||
message "adding $NEWUSER to sudo group"
|
|
||||||
$CHROOTCMD /usr/sbin/usermod -G sudo $NEWUSER || error
|
|
||||||
$CHROOTCMD /usr/bin/ln -s -f /usr/share/nanodesk/pixmaps/nanodesk-installed.xpm /usr/share/nanodesk/pixmaps/nanodesk.xpm || error
|
|
||||||
$CHROOTCMD /usr/bin/ln -s -f /usr/share/nanodesk/pixmaps/nanodesk-bw-installed.xpm /usr/share/nanodesk/pixmaps/nanodesk-bw.xpm || error
|
|
||||||
|
|
||||||
STEPFINISH=1
|
|
||||||
|
|
||||||
;;
|
|
||||||
k|K)
|
|
||||||
finish
|
|
||||||
;;
|
|
||||||
esac
|
|
||||||
done
|
|
||||||
|
|
||||||
finish
|
|
Loading…
Reference in a new issue