mirror of
https://github.com/pimox/pimox7.git
synced 2026-07-03 11:11:37 +00:00
Merge pull request #24 from TuxfeatMac/master
updated automatic installer
This commit is contained in:
14
README.md
14
README.md
@@ -21,18 +21,14 @@ Install
|
|||||||
2. sudo -s
|
2. sudo -s
|
||||||
3. curl https://raw.githubusercontent.com/pimox/pimox7/master/pimox.sh | sh
|
3. curl https://raw.githubusercontent.com/pimox/pimox7/master/pimox.sh | sh
|
||||||
|
|
||||||
RPiOS64 autoinstall
|
Install from scratch, RPiOS64bit Interactive Automatic Installer
|
||||||
---
|
---
|
||||||
0. Flash and startup the latest image from https://downloads.raspberrypi.org/raspios_arm64/ .
|
0. Flash and startup the latest image from https://downloads.raspberrypi.org/raspios_arm64/ .
|
||||||
1. sudo -s
|
1. sudo -s
|
||||||
2. curl https://raw.githubusercontent.com/pimox/pimox7/master/RPiOS64autoinstall.sh > RPiOS64autoinstall.sh
|
2. curl https://raw.githubusercontent.com/pimox/pimox7/master/RPiOS64-IA-Install.sh > RPiOS64-IA-Install.sh
|
||||||
3. nano RPiOS64autoinstall.sh
|
3. chmod +x RPiOS64-IA-Install.sh
|
||||||
5. Adjust network and hostname settings.
|
4. ./RPiOS64-IA-Install.sh
|
||||||
6. chmod +x RPiOS64autoinstall.sh
|
5. Follow the pormpots
|
||||||
7. ./RPiOS64autoinstall.sh
|
|
||||||
8. Type a new root password.
|
|
||||||
9. Retype new password.
|
|
||||||
10. Do __not__ touch it untill, reboot is done.
|
|
||||||
|
|
||||||
Notes
|
Notes
|
||||||
---
|
---
|
||||||
|
|||||||
196
RPiOS64-IA-Install.sh
Normal file
196
RPiOS64-IA-Install.sh
Normal file
@@ -0,0 +1,196 @@
|
|||||||
|
# !/bin/bash
|
||||||
|
#######################################################################
|
||||||
|
# Name: RPiOS64-IA-Install.sh Version: 0.1.2 #
|
||||||
|
# Created: 07.09.2021 Modified: 13.11.2021 #
|
||||||
|
# Author: TuxfeatMac J.T. #
|
||||||
|
# Purpose: interactive, automatic, Pimox7 installation RPi4B, RPi3B+ #
|
||||||
|
#########################################################################################################################################
|
||||||
|
# Tested with image from: #
|
||||||
|
# https://downloads.raspberrypi.org/raspios_lite_arm64/images/raspios_lite_arm64-2021-11-08/2021-10-30-raspios-bullseye-arm64-lite.zip #
|
||||||
|
#########################################################################################################################################
|
||||||
|
|
||||||
|
#### SET SOME COLOURS ###################################################################################################################
|
||||||
|
NORMAL=$(tput sgr0)
|
||||||
|
RED=$(tput setaf 1)
|
||||||
|
GREEN=$(tput setaf 2)
|
||||||
|
YELLOW=$(tput setaf 3)
|
||||||
|
GREY=$(tput setaf 8)
|
||||||
|
|
||||||
|
#### SCRIPT IS MENT TO BE TO RUN AS ROOT! NOT AS PI WITH SUDO ###########################################################################
|
||||||
|
if [ $USER != root ]
|
||||||
|
then
|
||||||
|
printf "This script is ment to be to run as superuser!\n"
|
||||||
|
exit
|
||||||
|
fi
|
||||||
|
|
||||||
|
#### GET THE RPI MODEL #### EXTRA STEPS FOR RPI3B+ ##################### UNTESTED #######################################################
|
||||||
|
RPIMOD=$(cat /sys/firmware/devicetree/base/model | cut -d ' ' -f 3)
|
||||||
|
if [ $RPIMOD == 3 ]
|
||||||
|
then
|
||||||
|
printf "Edit installer.sh manually.. I hope you know what you are doing..."
|
||||||
|
exit
|
||||||
|
## WORKS BUT DOSEN'T SHOW RPI 3 WARNINGS YET ...
|
||||||
|
# [ ] ADD WARNING MESSAGES
|
||||||
|
# [ ] GET RPI3 VALUES SWAP ZRAM INSTED OF HARD CODING ?
|
||||||
|
PI3_ZRAM='1664' # zram 1,6GB
|
||||||
|
PI3_SWAP='384' # dphys-swapfile 0,4GB
|
||||||
|
##
|
||||||
|
apt install -y zram-tools
|
||||||
|
printf "SIZE=$PI3_ZRAM\nPRIORITY=100\nALGO=lz4\n" >> /etc/default/zramswap
|
||||||
|
printf "CONF_SWAPSIZE=$PI3_SWAP\n" >> /etc/dphys-swapfile
|
||||||
|
vm.swappiness=100 >> /etc/sysctl.d/99-sysctl.conf
|
||||||
|
# fix net names eth0 | enxMAC # !
|
||||||
|
RPIMAC=$(ip a | grep ether | cut -d ' ' -f 6)
|
||||||
|
printf "SUBSYSTEM==\"net\", ACTION==\"add\", DRIVERS==\"?*\", ATTR{address}==\"$RPIMAC\", ATTR{dev_id}==\"0x0\", ATTR{type}==\"1\", KERNEL==\"eth*\", NAME=\"eth0\"\n" > /etc/udev/rules.d/70-presistant-net.rules
|
||||||
|
fi
|
||||||
|
|
||||||
|
#### GET USER INPUTS #### HOSTNAME ######################################################################################################
|
||||||
|
read -p "Enter new hostname e.g. RPi4-01-PVE : " HOSTNAME
|
||||||
|
while [[ ! "$HOSTNAME" =~ ^(([a-zA-Z0-9]|[a-zA-Z0-9][a-zA-Z0-9\-]*[a-zA-Z0-9])\.)*([A-Za-z0-9]|[A-Za-z0-9][A-Za-z0-9\-]*[A-Za-z0-9])$ ]]
|
||||||
|
do
|
||||||
|
printf " --->$RED $HOSTNAME $NORMAL<--- Is NOT an valid HOSTNAME, try again...\n"
|
||||||
|
read -p "Enter new hostname e.g.: RPi4-01-PVE : " HOSTNAME
|
||||||
|
done
|
||||||
|
|
||||||
|
#### IP AND NETMASK ! ###################################################################################################################
|
||||||
|
read -p "Enter new static IP and NETMASK e.g. 192.168.0.100/24 : " RPI_IP
|
||||||
|
while [[ ! "$RPI_IP" =~ ^[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}+\/[0-9]+$ ]]
|
||||||
|
do
|
||||||
|
printf " --->$RED $RPI_IP $NORMAL<--- Is NOT an valid IPv4 ADDRESS with NETMASK, try again...\n"
|
||||||
|
read -p "IPADDRESS & NETMASK ! E.G.: 192.168.0.100/24 : " RPI_IP
|
||||||
|
done
|
||||||
|
RPI_IP_ONLY=$(echo "$RPI_IP" | cut -d '/' -f 1)
|
||||||
|
|
||||||
|
#### GATEWAY ############################################################################################################################
|
||||||
|
GATEWAY="$(echo $RPI_IP | cut -d '.' -f 1,2,3).1"
|
||||||
|
read -p"Is $GATEWAY the correct gateway ? y / n : " CORRECT
|
||||||
|
if [ "$CORRECT" != "y" ]
|
||||||
|
then
|
||||||
|
read -p "Enter the gateway e.g. 192.168.0.1 : " GATEWAY
|
||||||
|
while [[ ! "$GATEWAY" =~ ^[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}$ ]]
|
||||||
|
do
|
||||||
|
printf " --->$RED $GATEWAY $NORMAL<--- Is NOT an valid IPv4 GATEWAY, try again...\n"
|
||||||
|
read -p "THE GATEWAY IP ! E.G. 192.168.0.1 : " GATEWAY
|
||||||
|
done
|
||||||
|
fi
|
||||||
|
|
||||||
|
#### AGREE TO CHANGES ###################################################################################################################
|
||||||
|
printf "
|
||||||
|
$YELLOW#########################################################################################
|
||||||
|
=========================================================================================$NORMAL
|
||||||
|
THE NEW HOSTNAME WILL BE:$GREEN $HOSTNAME $NORMAL
|
||||||
|
=========================================================================================
|
||||||
|
THE DHCP SERVER ($YELLOW dhcpcd5 $NORMAL) WILL BE $RED REMOVED $NORMAL !!!
|
||||||
|
=========================================================================================
|
||||||
|
THE PIMOX REPO WILL BE ADDED IN : $YELLOW /etc/apt/sources.list.d/pimox.list $NORMAL CONFIGURATION :
|
||||||
|
$GRAY# Pimox 7 Development Repo$NORMAL
|
||||||
|
deb https://raw.githubusercontent.com/pimox/pimox7/master/ dev/
|
||||||
|
=========================================================================================
|
||||||
|
THE NETWORK CONFIGURATION IN : $YELLOW /etc/network/interfaces $NORMAL WILL BE $RED CHANGED $NORMAL !!! TO :
|
||||||
|
auto lo
|
||||||
|
iface lo inet loopback
|
||||||
|
iface eth0 inet manual
|
||||||
|
auto vmbr0
|
||||||
|
iface vmbr0 inet static
|
||||||
|
address $GREEN $RPI_IP $NORMAL
|
||||||
|
gateway $GREEN $GATEWAY $NORMAL
|
||||||
|
bridge-ports eth0
|
||||||
|
bridge-stp off
|
||||||
|
bridge-fd 0
|
||||||
|
=========================================================================================
|
||||||
|
THE HOSTNAMES IN : $YELLOW /etc/hosts $NORMAL WILL BE $RED OVERWRITTEN $NORMAL !!! WITH :
|
||||||
|
127.0.0.1\tlocalhost
|
||||||
|
$RPI_IP_ONLY\t$HOSTNAME
|
||||||
|
=========================================================================================
|
||||||
|
THESE STATEMENTS WILL BE $RED ADDED $NORMAL TO THE $YELLOW /boot/cmdline.txt $NORMAL IF NONE EXISTENT :
|
||||||
|
cgroup_enable=cpuset cgroup_enable=memory cgroup_memory=1
|
||||||
|
$YELLOW=========================================================================================
|
||||||
|
#########################################################################################\n $NORMAL
|
||||||
|
"
|
||||||
|
|
||||||
|
#### PROMPT FOR CONFORMATION ############################################################################################################
|
||||||
|
read -p "YOU ARE OKAY WITH THESE CHANGES ? YOUR DECLARATIONS ARE CORRECT ? CONTINUE ? y / n : " CONFIRM
|
||||||
|
if [ "$CONFIRM" != "y" ]; then exit; fi
|
||||||
|
|
||||||
|
#### SET A ROOT PWD FOR WEB GUI LOGIN ###################################################################################################
|
||||||
|
printf "
|
||||||
|
=========================================================================================
|
||||||
|
$RED ! SET YOUR ROOT PASSWORD ! $NORMAL
|
||||||
|
=========================================================================================\n
|
||||||
|
" && passwd
|
||||||
|
if [ $? != 0 ]; then exit; fi
|
||||||
|
|
||||||
|
#### BASE UPDATE, DEPENDENCIES INSTALLATION #############################################################################################
|
||||||
|
printf "
|
||||||
|
=========================================================================================
|
||||||
|
Begin installation, Normal duration on a default RPi4 ~ 30 minutes, be patient...
|
||||||
|
=========================================================================================\n
|
||||||
|
"
|
||||||
|
|
||||||
|
#### SET NEW HOSTNAME ###################################################################################################################
|
||||||
|
hostnamectl set-hostname $HOSTNAME
|
||||||
|
|
||||||
|
#### ADD SOURCE PIMOX7 + KEY & UPDATE & INSTALL RPI-KERNEL-HEADERS #######################################################################
|
||||||
|
printf "# PiMox7 Development Repo
|
||||||
|
deb https://raw.githubusercontent.com/pimox/pimox7/master/ dev/ \n" > /etc/apt/sources.list.d/pimox.list
|
||||||
|
curl https://raw.githubusercontent.com/pimox/pimox7/master/KEY.gpg | apt-key add -
|
||||||
|
apt update && apt upgrade -y && apt install -y raspberrypi-kernel-headers
|
||||||
|
|
||||||
|
#### REMOVE DHCP, CLEAN UP ###############################################################################################################
|
||||||
|
apt purge -y dhcpcd5
|
||||||
|
apt autoremove -y
|
||||||
|
|
||||||
|
#### FIX CONTAINER STATS NOT SHOWING UP IN WEB GUI #######################################################################################
|
||||||
|
if [ "$(cat /boot/cmdline.txt | grep cgroup)" != "" ]
|
||||||
|
then
|
||||||
|
printf "Seems to be already fixed!"
|
||||||
|
else
|
||||||
|
sed -i "1 s|$| cgroup_enable=cpuset cgroup_enable=memory cgroup_memory=1|" /boot/cmdline.txt
|
||||||
|
fi
|
||||||
|
|
||||||
|
#### INSTALL PIMOX7 AND REBOOT ###########################################################################################################
|
||||||
|
DEBIAN_FRONTEND=noninteractive apt install -y -o Dpkg::Options::="--force-confdef" proxmox-ve
|
||||||
|
|
||||||
|
#### RECONFIGURE NETWORK #### /etc/hosts REMOVE IPv6 #### /etc/network/interfaces.new CONFIGURE NETWORK TO CHANGE ON REBOOT ##############
|
||||||
|
printf "
|
||||||
|
=========================================================================================
|
||||||
|
$GREEN ! FIXING NETWORK CONFIGURATION.... ERRORS ARE NOMALAY FINE AND RESOLVED AFTER REBOOT ! $NORMAL
|
||||||
|
=========================================================================================
|
||||||
|
\n"
|
||||||
|
printf "127.0.0.1\tlocalhost
|
||||||
|
$RPI_IP_ONLY\t$HOSTNAME\n" > /etc/hosts
|
||||||
|
printf "auto lo
|
||||||
|
iface lo inet loopback
|
||||||
|
|
||||||
|
iface eth0 inet manual
|
||||||
|
|
||||||
|
auto vmbr0
|
||||||
|
iface vmbr0 inet static
|
||||||
|
address $RPI_IP
|
||||||
|
gateway $GATEWAY
|
||||||
|
bridge-ports eth0
|
||||||
|
bridge-stp off
|
||||||
|
bridge-fd 0 \n" > /etc/network/interfaces.new
|
||||||
|
|
||||||
|
#### CONFIGURE PIMOX7 BANNER #############################################################################################################
|
||||||
|
cp /usr/share/javascript/proxmox-widget-toolkit/proxmoxlib.js /usr/share/javascript/proxmox-widget-toolkit/proxmoxlib.js.auto.backup
|
||||||
|
SEARCH="return Ext.String.format('"
|
||||||
|
#### PLACE HOLDER BANNER BEGINN --> #### LINE 1 #### #### LINEBREAK #### -- #### LINE 2 #####
|
||||||
|
REPLACE="return Ext.String.format(' This is a unofficial development build of PVE7 - PIMOX7 - https://github.com/pimox/pimox7 Build to run a PVE7 on the RPi4. ! ! ! NO GUARANTEE NOT OFFICCIAL SUPPORTED ! ! ! ');"
|
||||||
|
sed -i "s|$SEARCH.*|$REPLACE|" /usr/share/javascript/proxmox-widget-toolkit/proxmoxlib.js
|
||||||
|
|
||||||
|
### FINAL MESSAGE ########################################################################################################################
|
||||||
|
printf "
|
||||||
|
=========================================================================================
|
||||||
|
$GREEN ! INSTALATION COMPLETED ! WAIT ! REBOOT ! $NORMAL
|
||||||
|
=========================================================================================
|
||||||
|
|
||||||
|
after rebbot the PVE web interface will be reachable here :
|
||||||
|
---> $GREEN https://$RPI_IP_ONLY:8006/ $NORMAL <---
|
||||||
|
|
||||||
|
run ---> $YELLOW apt upgrade -y $NORMAL <---
|
||||||
|
in a root shell to complete the installation.
|
||||||
|
|
||||||
|
\n" && sleep 10 && reboot
|
||||||
|
|
||||||
|
#### EOF ####
|
||||||
@@ -1,119 +0,0 @@
|
|||||||
# !/bin/bash
|
|
||||||
#################################################################
|
|
||||||
# Name: RPiOS64fullautoinst.sh Version: 0.0.2 #
|
|
||||||
# Created: 07.09.2021 Modified: 10.09.2021 #
|
|
||||||
# Author: TuxfeatMac J.T. #
|
|
||||||
# Purpose: full automated Pimox7 installation RPi4B, RPi3B+ #
|
|
||||||
#################################################################
|
|
||||||
# Tested with image from: https://downloads.raspberrypi.org/raspios_lite_arm64/images/raspios_lite_arm64-2021-05-28/2021-05-07-raspios-buster-arm64-lite.zip
|
|
||||||
#################################################################
|
|
||||||
#### BASIC SETTINGS !! PROPPERLY CONFIGURE THESE SETTINGS !! ###
|
|
||||||
HOSTNAME='RPiX-PVE-X' # set the new hostname
|
|
||||||
RPI_IP='XXX.XXX.XXX.XXX' # set new static ip address
|
|
||||||
GATEWAY='XXX.XXX.XXX.X' # set the gateway
|
|
||||||
NETMASK='/24' # set the netmask only / notation
|
|
||||||
#### ADVANCED SETTINGS ##########################################
|
|
||||||
PI3_ZRAM='1664' # zram 1,6GB
|
|
||||||
PI3_SWAP='384' # dphys-swapfile 0,4GB
|
|
||||||
CT_STATS='true' # fix cmdline.txt for GUI stats
|
|
||||||
#PI4_ZRAM='no install'
|
|
||||||
#PI4_SWAP='will be removed'
|
|
||||||
#################################################################
|
|
||||||
# ! NO TOUCHIE BELOW THIS LINE UNLEES U KNOW WHAT YOU ARE DOING !
|
|
||||||
#################################################################
|
|
||||||
|
|
||||||
#### SCRIPT IS MENT TO BE TO RUN AS ROOT! NOT AS PI WITH SUDO ###
|
|
||||||
if [ $USER != root ]
|
|
||||||
then
|
|
||||||
printf "This script is ment to be to run as superuser!\n"
|
|
||||||
exit # correct it, if u know how to improve it.
|
|
||||||
fi
|
|
||||||
|
|
||||||
#### SET A ROOT PWD FOR WEB GUI LOGIN ##### #####################
|
|
||||||
printf "
|
|
||||||
==========================
|
|
||||||
! SET YOUR ROOT PASSWORD !
|
|
||||||
==========================
|
|
||||||
" && passwd
|
|
||||||
if [ $? != 0 ]; then exit; fi
|
|
||||||
|
|
||||||
#### BASE UPDATE, DEPENDENCIES INSTALLATION #####################
|
|
||||||
apt update && apt upgrade -y # maybe upgrade could be skiped ?
|
|
||||||
apt install -y gnupg # nmon #screen
|
|
||||||
RPIMOD=$(cat /sys/firmware/devicetree/base/model | cut -d ' ' -f 3)
|
|
||||||
if [ $RPIMOD == 3 ]
|
|
||||||
then
|
|
||||||
|
|
||||||
apt install -y zram-tools
|
|
||||||
printf "SIZE=$PI3_ZRAM\nPRIORITY=100\nALGO=lz4\n" >> /etc/default/zramswap
|
|
||||||
printf "CONF_SWAPSIZE=$PI3_SWAP\n" >> /etc/dphys-swapfile
|
|
||||||
vm.swappiness=100 >> /etc/sysctl.d/99-sysctl.conf
|
|
||||||
# fix net names eth0 | enxMAC
|
|
||||||
RPIMAC=$(ip a | grep ether | cut -d ' ' -f 6)
|
|
||||||
printf "SUBSYSTEM==\"net\", ACTION==\"add\", DRIVERS==\"?*\", ATTR{address}==\"$RPIMAC\", ATTR{dev_id}==\"0x0\", ATTR{type}==\"1\", KERNEL==\"eth*\", NAME=\"eth0\"\n" > /etc/udev/rules.d/70-presistant-net.rules
|
|
||||||
fi
|
|
||||||
|
|
||||||
#### ADDJUST SOURCES 11 | PIMOX7 + KEY #############################
|
|
||||||
rm -f /etc/apt/sources.list.d/*.list
|
|
||||||
printf "# Raspberry Pi OS 11 Bullseye Repo
|
|
||||||
deb http://archive.raspberrypi.org/debian/ bullseye main
|
|
||||||
# Pimox 7 Development Repo | PVE 7
|
|
||||||
deb https://raw.githubusercontent.com/pimox/pimox7/master/ dev/
|
|
||||||
# Debian 11 Bullseye Repo
|
|
||||||
deb http://deb.debian.org/debian bullseye main contrib
|
|
||||||
# Debian 11 Bullseye Security Updates Repo
|
|
||||||
deb http://security.debian.org/debian-security bullseye-security main contrib \n" > /etc/apt/sources.list
|
|
||||||
curl https://raw.githubusercontent.com/pimox/pimox7/master/KEY.gpg | apt-key add -
|
|
||||||
|
|
||||||
#### UPDATE UND UPGRADE TO 11 ######################################
|
|
||||||
echo '* libraries/restart-without-asking boolean true' | debconf-set-selections #### How to reset at end?
|
|
||||||
DEBIAN_FRONTEND=noninteractive apt update && apt -y -o Dpkg::Options::="--force-confold" dist-upgrade
|
|
||||||
apt install -y raspberrypi-kernel-headers
|
|
||||||
|
|
||||||
#### RECONFIGURE NETWORK ###########################################
|
|
||||||
printf "auto lo
|
|
||||||
iface lo inet loopback
|
|
||||||
|
|
||||||
auto eth0
|
|
||||||
iface eth0 inet static
|
|
||||||
address $RPI_IP$NETMASK
|
|
||||||
gateway $GATEWAY\n" > /etc/network/interfaces
|
|
||||||
|
|
||||||
#### SET NEW HOSTNAME ##############################################
|
|
||||||
hostnamectl set-hostname $HOSTNAME
|
|
||||||
printf "127.0.0.1\t\tlocalhost\n$RPI_IP\t\t$HOSTNAME\n" > /etc/hosts
|
|
||||||
|
|
||||||
#### REMOVE DHCP, CLEAN UP #########################################
|
|
||||||
apt purge -y dhcpcd5
|
|
||||||
if [ $RPIMOD == 4 ]
|
|
||||||
then
|
|
||||||
# remove sdcard swapfile # ask for it ?
|
|
||||||
apt purge -y dphys-swapfile
|
|
||||||
fi
|
|
||||||
apt autoremove -y
|
|
||||||
|
|
||||||
# FIX CONTAINER STATS NOT SHOWING UP IN WEB GUI ####################
|
|
||||||
if [ "$CT_STATS" == "true" ]
|
|
||||||
then
|
|
||||||
if [ "$(cat /boot/cmdline.txt | grep cgroup)" != "" ]
|
|
||||||
then
|
|
||||||
printf "Seems to be already fixed!"
|
|
||||||
else
|
|
||||||
sed -i "1 s|$| cgroup_enable=cpuset cgroup_enable=memory cgroup_memory=1|" /boot/cmdline.txt
|
|
||||||
fi
|
|
||||||
fi
|
|
||||||
|
|
||||||
# INSTALL PIMOX7 AND REBOOT#########################################
|
|
||||||
DEBIAN_FRONTEND=noninteractive apt install -y -o Dpkg::Options::="--force-confdef" proxmox-ve
|
|
||||||
printf "
|
|
||||||
=========================================
|
|
||||||
! ERRORS ARE NOMALAY FINE -> README.md !
|
|
||||||
=========================================
|
|
||||||
\n" && sleep 3
|
|
||||||
printf "
|
|
||||||
=========================================
|
|
||||||
! INSTALATION COMPLETED ! WAIT ! REBOOT !
|
|
||||||
=========================================
|
|
||||||
\n" && sleep 7 && reboot
|
|
||||||
|
|
||||||
#### EOF ####
|
|
||||||
Reference in New Issue
Block a user