You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
103 lines
2.7 KiB
103 lines
2.7 KiB
#!/bin/sh
|
|
|
|
#make sure lsb release is installed
|
|
apt-get install lsb-release
|
|
|
|
#operating system details
|
|
os_name=$(lsb_release -is)
|
|
os_codename=$(lsb_release -cs)
|
|
os_mode='unknown'
|
|
|
|
#cpu details
|
|
cpu_name=$(uname -m)
|
|
cpu_architecture='unknown'
|
|
cpu_mode='unknown'
|
|
|
|
#set the environment path
|
|
export PATH=$PATH:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
|
|
|
|
#check what the CPU and OS are
|
|
if [ .$cpu_name = .'armv6l' ]; then
|
|
# RaspberryPi Zero
|
|
os_mode='32'
|
|
cpu_mode='32'
|
|
cpu_architecture='arm'
|
|
elif [ .$cpu_name = .'armv7l' ]; then
|
|
# RaspberryPi 3 is actually armv8l but current Raspbian reports the cpu as armv7l and no Raspbian 64Bit has been released at this time
|
|
os_mode='32'
|
|
cpu_mode='32'
|
|
cpu_architecture='arm'
|
|
elif [ .$cpu_name = .'armv8l' ]; then
|
|
# No test case for armv8l
|
|
os_mode='unknown'
|
|
cpu_mode='64'
|
|
cpu_architecture='arm'
|
|
elif [ .$cpu_name = .'aarch64' ]; then
|
|
os_mode='64'
|
|
cpu_mode='64'
|
|
cpu_architecture='arm'
|
|
elif [ .$cpu_name = .'i386' ]; then
|
|
os_mode='32'
|
|
if [ .$(grep -o -w 'lm' /proc/cpuinfo | head -n 1) = .'lm' ]; then
|
|
cpu_mode='64'
|
|
else
|
|
cpu_mode='32'
|
|
fi
|
|
cpu_architecture='x86'
|
|
elif [ .$cpu_name = .'i686' ]; then
|
|
os_mode='32'
|
|
if [ .$(grep -o -w 'lm' /proc/cpuinfo | head -n 1) = .'lm' ]; then
|
|
cpu_mode='64'
|
|
else
|
|
cpu_mode='32'
|
|
fi
|
|
cpu_architecture='x86'
|
|
elif [ .$cpu_name = .'x86_64' ]; then
|
|
os_mode='64'
|
|
if [ .$(grep -o -w 'lm' /proc/cpuinfo | head -n 1) = .'lm' ]; then
|
|
cpu_mode='64'
|
|
else
|
|
cpu_mode='32'
|
|
fi
|
|
cpu_architecture='x86'
|
|
else
|
|
error "You are using an unsupported cpu '$cpu_name'"
|
|
exit 3
|
|
fi
|
|
|
|
if [ .$cpu_architecture = .'arm' ]; then
|
|
if [ .$os_mode = .'32' ]; then
|
|
verbose "Correct CPU and Operating System detected, using the ARM repo"
|
|
elif [ .$os_mode = .'64' ]; then
|
|
error "You are using a 64bit arm OS this is unsupported"
|
|
switch_source=true
|
|
switch_package=false
|
|
else
|
|
error "Unknown OS mode $os_mode this is unsupported"
|
|
switch_source=true
|
|
switch_package=false
|
|
fi
|
|
elif [ .$cpu_architecture = .'x86' ]; then
|
|
if [ .$os_mode = .'32' ]; then
|
|
error "You are using a 32bit OS this is unsupported"
|
|
if [ .$cpu_mode = .'64' ]; then
|
|
warning " Your CPU is 64bit you should consider reinstalling with a 64bit OS"
|
|
fi
|
|
switch_source=true
|
|
switch_package=false
|
|
elif [ .$os_mode = .'64' ]; then
|
|
verbose "Correct CPU and Operating System detected"
|
|
else
|
|
error "Unknown Operating System mode '$os_mode' is unsupported"
|
|
switch_source=true
|
|
switch_package=false
|
|
fi
|
|
else
|
|
error "You are using an unsupported architecture '$cpu_architecture'"
|
|
warning "Detected environment was :-"
|
|
warning "os_name:'$os_name'"
|
|
warning "os_codename:'$os_codename'"
|
|
warning "os_mode:'$os_mode'"
|
|
warning "cpu_name:'$cpu_name'"
|
|
exit 3
|
|
fi
|