]> git.proxmox.com Git - pve-installer.git/blame - unconfigured.sh
drop also into debug shell before even starting to install
[pve-installer.git] / unconfigured.sh
CommitLineData
89a12446
DM
1#!/bin/bash
2
3trap "err_reboot" ERR
4
5parse_cmdline() {
6 root=
7 proxdebug=0
8 for par in $(cat /proc/cmdline); do
9 case $par in
10 root=*)
11 root=${par#root=}
12 ;;
13 proxdebug)
14 proxdebug=1
15 ;;
16 esac
17 done;
18}
19
20debugsh() {
16ff00ec 21 /bin/bash
89a12446
DM
22}
23
24real_reboot() {
25
26 trap - ERR
27
28 /etc/init.d/networking stop
29
30 # stop udev (release file handles)
31 /etc/init.d/udev stop
32
33 echo -n "Deactivating swap..."
34 swap=$(grep /dev /proc/swaps);
35 if [ -n "$swap" ]; then
36 set $swap
37 swapoff $1
38 fi
39 echo "done."
40
89a12446 41 umount -l -n /target >/dev/null 2>&1
37a88382 42 umount -l -n /dev
89a12446 43 umount -l -n /sys
e89d1aef 44 umount -l -n /proc
89a12446
DM
45
46 exit 0
47}
48
49err_reboot() {
50
51 echo "\nInstallation aborted - unable to continue (type exit or CTRL-D to reboot)"
52 debugsh
53 real_reboot
54}
55
56echo "Starting Proxmox installation"
57
58PATH=/sbin:/bin:/usr/sbin:/usr/bin:/usr/X11R6/bin
59
194d737a
TL
60# ensure udev isn't snippy and ignores our request
61export SYSTEMD_IGNORE_CHROOT=1
62
89a12446 63mount -n -t proc proc /proc
89a12446
DM
64mount -n -t sysfs sysfs /sys
65
66parse_cmdline
67
68# always load most common input drivers
69modprobe -q psmouse || /bin/true
70modprobe -q sermouse || /bin/true
71modprobe -q usbhid || /bin/true
72
73# load device mapper - used by lilo
74modprobe -q dm_mod || /bin/true
75
76echo "Installing additional hardware drivers"
77export RUNLEVEL=S
78export PREVLEVEL=N
79/etc/init.d/udev start
80
3119bdeb
TL
81mkdir -p /dev/shm
82mount -t tmpfs tmpfs /dev/shm
83
11a42156
TL
84if [ $proxdebug -ne 0 ]; then
85 echo "Dropping in debug shell inside chroot before starting installation"
86 echo "type exit or CTRL-D to start installation wizard"
87 debugsh
88fi
89
89a12446
DM
90# set the hostname
91hostname proxmox
92
89a12446 93# try to get ip config with dhcp
01e402f0
FG
94echo -n "Attempting to get DHCP leases... "
95dhclient -v
89a12446
DM
96echo "done"
97
98xinit -- -dpi 96 >/dev/tty2 2>&1
99
b0c4afcc
DM
100# just to be sure everything is on disk
101sync
102
89a12446
DM
103if [ $proxdebug -ne 0 ]; then
104 echo "Debugging mode (type exit or CTRL-D to reboot)"
105 debugsh
106fi
107
108echo "Installation done, rebooting... "
109#mdadm -S /dev/md0 >/dev/tty2 2>&1
cd1964db 110kill $(pidof dhclient) 2>&1 > /dev/null
89a12446
DM
111real_reboot
112
113# never reached
114exit 0