Hinzugefügt:

* Nodes für Framebuffer.
Geändert:
  * Bootvorgang für Laufbalken bearbeitet.
  * Installer sollte Bootsplash in initrd installieren.
  * Neue Boot-Bilder.


git-svn-id: http://svn.ipfire.org/svn/ipfire/trunk@199 ea5c0bd1-69bd-2848-81d8-4f18e57aeed8
This commit is contained in:
ms
2006-07-06 13:33:16 +00:00
parent 44ed6f8962
commit f8ae001e18
50 changed files with 345 additions and 383 deletions

View File

@@ -1,48 +0,0 @@
# This is the configuration file for the 1024x768 bootsplash picture.
#
# This file is necessary to specify the coordinates of the text box on
# the splash screen.
#
# Comments are welcome by stepan@suse.de
# config file version
version=3
# should the picture be displayed?
state=1
# fgcolor is the text forground color.
# bgcolor is the text background (i.e. transparent) color.
fgcolor=7
bgcolor=0
# (tx, ty) are the (x, y) coordinates of the text window in pixels.
# tw/th is the width/height of the text window in pixels.
tx=0
ty=0
tw=1024
th=768
# name of the picture file (full path recommended)
jpeg=/etc/bootsplash/themes/Linux/images/bootsplash-1024x768.jpg
silentjpeg=/etc/bootsplash/themes/Linux/images/silent-1024x768.jpg
progress_enable=1
# background
box silent noover 204 666 820 686 #515151
box silent inter 204 666 204 686 #b77200 #f2b700 #b77200 #f2b700
box silent 204 666 820 686 #b77200 #f2b700 #b77200 #f2b700
#box silent inter 204 666 204 686 #f2b700 #b77200 #b77200 #f2b700
#box silent 204 666 820 686 #f2b700 #b77200 #b77200 #f2b700
# black border
box silent 204 665 820 665 #b5b5b5
box silent 204 687 820 687 #b5b5b5
box silent 203 665 203 687 #b5b5b5
box silent 820 665 820 687 #b5b5b5
overpaintok=1

Binary file not shown.

Before

Width:  |  Height:  |  Size: 19 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 19 KiB

View File

@@ -1,41 +0,0 @@
# This is a bootsplash configuration file for
# theme PCLinuxOS LightedGrass, resolution 1024x768.
#
# See www.bootsplash.org for more information.
# Created by Chris Piek <acpiek@gmail.com>
# config file version
version=3
# should the picture be displayed?
state=1
# fgcolor is the text forground color.
# bgcolor is the text background (i.e. transparent) color.
fgcolor=7
bgcolor=0
# (tx, ty) are the (x, y) coordinates of the text window in pixels.
# tw/th is the width/height of the text window in pixels.
tx=5
ty=55
tw=1019
th=658
# name of the picture file (full path recommended)
jpeg=/etc/bootsplash/themes/ipfire1/images/bootsplash-1024x768.jpg
silentjpeg=/etc/bootsplash/themes/ipfire1/images/silent-1024x768.jpg
progress_enable=1
# background
#box silent noover 367 377 656 351 #000000
box silent inter 367 378 367 350 #ffffff #ffffff #000000 #000000
box silent 367 378 656 350 #ffffff #ffffff #000000 #000000
# black border
box silent 367 377 656 377 #ffffff
box silent 367 351 656 351 #ffffff
box silent 367 377 367 351 #ffffff
box silent 656 377 656 351 #ffffff
overpaintok=1

Binary file not shown.

Before

Width:  |  Height:  |  Size: 106 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 190 KiB

View File

@@ -18,14 +18,14 @@ bgcolor=0
# (tx, ty) are the (x, y) coordinates of the text window in pixels.
# tw/th is the width/height of the text window in pixels.
tx=0
ty=0
tw=1024
th=768
tx=5
ty=110
tw=1014
th=658
# name of the picture file (full path recommended)
jpeg=/etc/bootsplash/themes/ipfire2/images/bootsplash-1024x768.jpg
silentjpeg=/etc/bootsplash/themes/ipfire2/images/silent-1024x768.jpg
jpeg=/etc/bootsplash/themes/current/images/bootsplash-1024x768.jpg
silentjpeg=/etc/bootsplash/themes/current/images/silent-1024x768.jpg
progress_enable=1

Binary file not shown.

Before

Width:  |  Height:  |  Size: 19 KiB

After

Width:  |  Height:  |  Size: 11 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 19 KiB

After

Width:  |  Height:  |  Size: 32 KiB

View File

@@ -5,17 +5,21 @@ background = ffffff
splashimage (hd0,0)/grub/ipfire.xpm.gz
title IPFire
root (hd0,0)
kernel /vmlinuz root=ROOT panic=10 acpi=off vga=0x317 splash=silent ro
kernel /vmlinuz root=ROOT panic=10 acpi=off vga=791 splash=silent ro
initrd /initrd.splash
savedefault
title IPFire SMP
root (hd0,0)
kernel /vmlinuz-smp root=ROOT panic=10 acpi=off vga=0x317 splash=silent ro
kernel /vmlinuz-smp root=ROOT panic=10 acpi=off vga=791 splash=silent ro
initrd /initrd.splash
savedefault
title IPFire (ACPI enabled)
root (hd0,0)
kernel /vmlinuz root=ROOT panic=10 vga=0x317 splash=silent ro
kernel /vmlinuz root=ROOT panic=10 vga=791 splash=silent ro
initrd /initrd.splash
savedefault
title IPFire SMP (ACPI HT enabled)
root (hd0,0)
kernel /vmlinuz-smp root=ROOT panic=10 acpi=ht vga=0x317 splash=silent ro
kernel /vmlinuz-smp root=ROOT panic=10 acpi=ht vga=791 splash=silent ro
initrd /initrd.splash
savedefault

View File

@@ -5,21 +5,21 @@ background = ffffff
splashimage (hd0,0)/grub/ipfire.xpm.gz
title IPFire
root (hd0,0)
kernel /vmlinuz root=ROOT panic=10 init=/linuxrc acpi=off vga=0x317 rw
initrd /ipcoprd.img
kernel /vmlinuz root=ROOT panic=10 init=/linuxrc acpi=off vga=719 splash=silent rw
initrd /ipfirerd.img
savedefault
title IPFire SMP
root (hd0,0)
kernel /vmlinuz-smp root=ROOT panic=10 init=/linuxrc acpi=off vga=0x317 rw
initrd /ipcoprd-smp.img
kernel /vmlinuz-smp root=ROOT panic=10 init=/linuxrc acpi=off vga=719 rw
initrd /ipfirerd-smp.img
savedefault
title IPFire (ACPI enabled)
root (hd0,0)
kernel /vmlinuz root=ROOT panic=10 init=/linuxrc rw
initrd /ipcoprd.img
kernel /vmlinuz root=ROOT panic=10 init=/linuxrc vga=719 splash=silent rw
initrd /ipfirerd.img
savedefault
title IPFire SMP (ACPI HT enabled)
root (hd0,0)
kernel /vmlinuz-smp root=ROOT panic=10 init=/linuxrc acpi=ht rw
initrd /ipcoprd-smp.img
kernel /vmlinuz-smp root=ROOT panic=10 init=/linuxrc acpi=ht vga=719 splash=silent rw
initrd /ipfirerd-smp.img
savedefault

View File

@@ -1,21 +1,21 @@
Willkommen bei IPFire - GNU GPL version 2.
ACHTUNG! Dieser Installationsprozess l<EFBFBD>scht alle
ACHTUNG! Dieser Installationsprozess loescht alle
vorhandenen Partitionen auf der Festplatte.
--------------------------------------------------
---- ALLE EXISTIERENDEN DATEN WERDEN GEL<EFBFBD>SCHT ----
---- ALL YOUR EXISTING DATA WILL BE DESTROYED ----
--------------------------------------------------
---------------------------------------------------
---- ALLE EXISTIERENDEN DATEN WERDEN GELOESCHT ----
---- ALL YOUR EXISTING DATA WILL BE DESTROYED ----
---------------------------------------------------
Dr<EFBFBD>cken Sie ENTER um die IPFire-Installation
Druecken Sie ENTER um die IPFire-Installation
zu starten.
Gibt es Probleme, so versuchen Sie diese Optionen...
nopcmcia um die PCMCIA-Detektierung
zu deaktivieren.
nousb um die USB-Unterst<EFBFBD>tzung auszuschalten.
nousb um die USB-Unterstuetzung auszuschalten.
nousborpcmcia schaltet USB & PCMCIA aus.
dma schaltet IDE-DMA ein (SiS chipset workaround)

View File

@@ -74,7 +74,7 @@ $(TARGET) : $(patsubst %,$(DIR_DL)/%,$(objects))
@rm -rf $(DIR_APP) && cd $(DIR_SRC) && tar jxf $(DIR_DL)/$(DL_FILE)
cd $(DIR_APP) && patch -Np1 < /usr/src/src/patches/bootsplash-3.2_makefile.patch
cd $(DIR_APP)/Utilities && make
cd $(DIR_APP)/Utilities && cp -f splash fbresolution fbmngplay /sbin
cd $(DIR_APP)/Utilities && cp -f splash fbresolution fbmngplay fbtruetype /sbin
cd $(DIR_APP)/Scripts && cp -f bootanim /sbin
cd $(DIR_APP)/Scripts && chmod +x /sbin/bootanim
-mkdir -p /boot/splash

View File

@@ -121,4 +121,9 @@ $(TARGET) : $(patsubst %,$(DIR_DL)/%,$(objects))
# necessary, but it must be present if it appears in /etc/mtab
cd /dev && ln -sf fd0 floppy
# Nodes for Framebuffer
for i in 0 1 2 3 4 5 6 7; do
mknod /dev/fb$i c 29 $[$i * 32]
done
@$(POSTBUILD)

View File

@@ -0,0 +1,6 @@
#!/bin/sh
# Unmount the initrd, if necessary
if grep -q /initrd /proc/mounts && ! grep -q /initrd/loopfs /proc/mounts ; then
umount /initrd >/dev/null 2>&1
blockdev --flushbufs /dev/ram0 >/dev/null 2>&1
fi

View File

@@ -0,0 +1,7 @@
#!/bin/sh
echo "Setting hostname"
if [ -z "$DOMAINNAME" ]; then
hostname $HOSTNAME
else
hostname ${HOSTNAME}.${DOMAINNAME}
fi

4
src/boot.d/03-loadkeymap Normal file
View File

@@ -0,0 +1,4 @@
#!/bin/sh
if [ "$KEYMAP" != "" ]; then
loadkeys $KEYMAP
fi

View File

@@ -0,0 +1,11 @@
#!/bin/sh
# Initializing Power Management ACPI first, then APM.
# APM won't load if ACPI is initialized anyway.
echo "Initializing Power Management"
modprobe ac > /dev/null 2>&1
modprobe battery > /dev/null 2>&1
modprobe button > /dev/null 2>&1
modprobe fan > /dev/null 2>&1
modprobe processor > /dev/null 2>&1
modprobe thermal > /dev/null 2>&1
modprobe apm > /dev/null 2>&1

22
src/boot.d/05-initusb Normal file
View File

@@ -0,0 +1,22 @@
#!/bin/sh
# Initialize USB controllers
echo "Initializing USB controllers"
aliases=`/sbin/modprobe -c | awk '/^alias usb-controller/ { print $3 }'`
if [ -n "$aliases" -a "$aliases" != "off" ] ; then
modprobe usbcore
mount -n -t usbdevfs usbdevfs /proc/bus/usb
for alias in $aliases ; do
[ "$alias" != "off" ] && modprobe $alias
done
echo "Initializing USB storage devices"
modprobe usb-storage
modprobe sd_mod
echo "Initializing USB keyboard"
modprobe hid
modprobe keybdev
echo "Initializing USB modems"
modprobe acm
fi

29
src/boot.d/06-mountrootfs Normal file
View File

@@ -0,0 +1,29 @@
#!/bin/sh
STRING="Checking root filesystem"
fsck -R -T -a -C /
RC=$?
if [ "$RC" = "0" ]; then
echo "$STRING: Success"
elif [ "$RC" = "1" ]; then
echo "$STRING: Passed"
fi
# A return of 2 or higher means there were serious problems.
if [ $RC -gt 1 ]; then
echo "$STRING: Failed"
echo "*** An error occurred during the file system check."
echo "*** Dropping you to a shell; the system will reboot"
echo "*** when you leave the shell."
export PS1="(Repair filesystem) \# # "
sulogin
echo "Unmounting filesystems"
umount -a
mount -n -o remount,ro /
echo "Automatic reboot in progress."
reboot -f
fi
echo "Mounting root read/write"
mount -n -o remount,rw /

View File

@@ -0,0 +1,34 @@
#!/bin/sh
STRING="Checking other filesystems"
fsck -R -T -a -C -A
RC=$?
if [ "$RC" = "0" ]; then
echo "$STRING: Success"
elif [ "$RC" = "1" ]; then
echo "$STRING: Passed"
fi
# A return of 2 or higher means there were serious problems.
if [ $RC -gt 1 ]; then
echo "$STRING: Failed"
echo "*** An error occurred during the file system check."
echo "*** Dropping you to a shell; the system will reboot"
echo "*** when you leave the shell."
export PS1="(Repair filesystem) \# # "
sulogin
echo "Unmounting filesystems"
umount -n -a
mount -n -o remount,ro /
echo "Automatic reboot in progress."
reboot -f
fi
echo "Mounting other filesystems"
mount -a -n
if [ -e /swapfile ]; then
echo "Turning on swap"
chmod 600 /swapfile
swapon /swapfile
fi

View File

@@ -0,0 +1,9 @@
#!/bin/sh
echo "Updating System.map file location"
if [ -L /boot/System.map -a -r /boot/System.map-`uname -r` -a \
! /boot/System.map -ef /boot/System.map-`uname -r` ]; then
ln -s -f System.map-`uname -r` /boot/System.map
fi
if [ ! -e /boot/System.map -a -r /boot/System.map-`uname -r` ]; then
ln -s -f System.map-`uname -r` /boot/System.map
fi

View File

@@ -0,0 +1,3 @@
#!/bin/sh
echo "Updating /etc/fstab to reflect removable devices"
/usr/sbin/updfstab

View File

@@ -0,0 +1,3 @@
#!/bin/sh
echo "Setting kernel settings"
/sbin/sysctl -e -p /etc/sysctl.conf >/dev/null

7
src/boot.d/11-startflash Normal file
View File

@@ -0,0 +1,7 @@
#!/bin/sh
if [ -e /etc/FLASH ]; then
if [ -e /etc/rc.d/rc.flash.up ]; then
echo "Decompressing Flash"
. /etc/rc.d/rc.flash.up
fi
fi

32
src/boot.d/12-setconsole Normal file
View File

@@ -0,0 +1,32 @@
#!/bin/sh
echo "Setting locale"
LANG=en_US.utf8
export LANG
echo "Setting consolefonts"
eval $(/usr/local/bin/readhash /var/ipfire/main/settings)
for i in 2 3 4 5 6; do
> /dev/tty$i
done
if [ "$LANGUAGE" = "el" ]; then
/usr/bin/unicode_start iso07u-16
elif [ "$LANGUAGE" = "pt" -o "$LANGUAGE" = "bz" ]; then
/usr/bin/unicode_start lat1-16
elif [ "$LANGUAGE" = "cs" -o "$LANGUAGE" = "hu" -o "$LANGUAGE" = "pl" -o "$LANGUAGE" = "sk" ]; then
/usr/bin/unicode_start lat2-16
elif [ "$LANGUAGE" = "tr" ]; then
/usr/bin/unicode_start lat5-16
elif [ "$LANGUAGE" = "vi" ]; then
/usr/bin/unicode_start viscii10-8x16
else
/usr/bin/unicode_start lat0-16
fi
#/sbin/splash -n -s -u 0 /boot/splash/config/bootsplash-1024x768.cfg
/sbin/splash -n -s -u 1 /boot/splash/config/bootsplash-1024x768.cfg
/sbin/splash -n -s -u 2 /boot/splash/config/bootsplash-1024x768.cfg
/sbin/splash -n -s -u 3 /boot/splash/config/bootsplash-1024x768.cfg
/sbin/splash -n -s -u 4 /boot/splash/config/bootsplash-1024x768.cfg
/sbin/splash -n -s -u 5 /boot/splash/config/bootsplash-1024x768.cfg
/sbin/splash -n -s -u 11 /boot/splash/config/bootsplash-1024x768.cfg

6
src/boot.d/13-depmod Normal file
View File

@@ -0,0 +1,6 @@
#!/bin/sh
echo "Update modules dependencies when necessary"
if [ -e /var/run/need-depmod-`uname -r` ]; then
/sbin/depmod -a
/bin/rm -f /var/run/need-depmod-`uname -r`
fi

View File

@@ -0,0 +1,7 @@
#!/bin/sh
echo "Clearing old files"
rm -f /var/run/{*.pid,*.sem,*.tdb}
rm -f /var/run/dhcpcd-*.pid
rm -f /var/lock/{LCK..tty*,rc.updatered.lock}
rm -f /var/ipfire/dhcpc/{*.pid,*.cache,*.info}
rm -f /var/ipfire/red/{active,eciadsl-synch-done}

3
src/boot.d/15-setclock Normal file
View File

@@ -0,0 +1,3 @@
#!/bin/sh
echo "Setting the clock"
/sbin/hwclock --hctosys

View File

@@ -0,0 +1,6 @@
#!/bin/sh
# Cleaning up wtmp/utmp files
>/var/run/utmp
touch /var/log/wtmp
chgrp utmp /var/run/utmp /var/log/wtmp
chmod 0664 /var/run/utmp /var/log/wtmp

5
src/boot.d/17-runisapnp Normal file
View File

@@ -0,0 +1,5 @@
#!/bin/sh
if [ -x /usr/sbin/isapnp -a -f /var/ipfire/isapnp/isapnp.conf -a ! -f /proc/isapnp ]; then
echo "Running isapnp"
/usr/sbin/isapnp /var/ipfire/isapnp/isapnp.conf 2>/dev/null
fi

13
src/boot.d/18-sshcerts Normal file
View File

@@ -0,0 +1,13 @@
#!/bin/sh
if [ ! -e /etc/ssh/ssh_host_key ]; then
echo "Generating SSH RSA1 key. This may take several minutes."
/usr/bin/ssh-keygen -t rsa1 -f /etc/ssh/ssh_host_key -N ""
fi
if [ ! -e /etc/ssh/ssh_host_rsa_key ]; then
echo "Generating SSH RSA key. This may take several minutes."
/usr/bin/ssh-keygen -t rsa -f /etc/ssh/ssh_host_rsa_key -N ""
fi
if [ ! -e /etc/ssh/ssh_host_dsa_key ]; then
echo "Generating SSH DSA key. This may take several minutes."
/usr/bin/ssh-keygen -t dsa -f /etc/ssh/ssh_host_dsa_key -N ""
fi

7
src/boot.d/19-httpcerts Normal file
View File

@@ -0,0 +1,7 @@
#!/bin/sh
# https certificate
if [ -f /etc/httpd/server.key -a -f /etc/httpd/server.crt -a -f /etc/httpd/server.csr ]; then
/usr/local/bin/httpscert read
else
/usr/local/bin/httpscert new
fi

3
src/boot.d/20-rotatelogs Normal file
View File

@@ -0,0 +1,3 @@
#!/bin/sh
echo "Rotating logs"
/usr/sbin/logrotate /etc/logrotate.conf

View File

@@ -0,0 +1,3 @@
#!/bin/sh
echo "Starting syslogd"
/usr/sbin/syslogd -m 0

3
src/boot.d/22-startklogd Normal file
View File

@@ -0,0 +1,3 @@
#!/bin/sh
echo "Starting klogd"
/usr/sbin/klogd -u klogd -j /var/empty

View File

@@ -0,0 +1,4 @@
#!/bin/sh
echo "Running /etc/rc.d/rc.network"
. /etc/rc.d/rc.network
echo 7200 > /proc/sys/net/ipv4/netfilter/ip_conntrack_tcp_timeout_established

View File

@@ -0,0 +1,3 @@
#!/bin/sh
echo "Dumping boot messages"
dmesg > /var/log/dmesg

21
src/boot.d/25-hddshutdown Normal file
View File

@@ -0,0 +1,21 @@
#!/bin/sh
if [ -e /var/log/rrd/disk.rrd ]; then echo "Adjusting graphs to compensate for boot"; \
/usr/bin/perl -e 'use RRDs;RRDs::update("/var/log/rrd/disk.rrd","-t","readsect:writesect","N:U:U");'; fi
if [ -e /var/log/rrd/disk-hda.rrd ]; then \
/usr/bin/perl -e 'use RRDs;RRDs::update("/var/log/rrd/disk-hda.rrd","-t","readsect:writesect:sleeping","N:U:U:U");'; fi
if [ -e /var/log/rrd/disk-hdb.rrd ]; then \
/usr/bin/perl -e 'use RRDs;RRDs::update("/var/log/rrd/disk-hdb.rrd","-t","readsect:writesect:sleeping","N:U:U:U");'; fi
if [ -e /var/log/rrd/disk-hdc.rrd ]; then \
/usr/bin/perl -e 'use RRDs;RRDs::update("/var/log/rrd/disk-hdc.rrd","-t","readsect:writesect:sleeping","N:U:U:U");'; fi
if [ -e /var/log/rrd/disk-hdd.rrd ]; then \
/usr/bin/perl -e 'use RRDs;RRDs::update("/var/log/rrd/disk-hdd.rrd","-t","readsect:writesect:sleeping","N:U:U:U");'; fi
if [ -e /var/log/rrd/disk-hde.rrd ]; then \
/usr/bin/perl -e 'use RRDs;RRDs::update("/var/log/rrd/disk-hde.rrd","-t","readsect:writesect:sleeping","N:U:U:U");'; fi
if [ -e /var/log/rrd/disk-hdf.rrd ]; then \
/usr/bin/perl -e 'use RRDs;RRDs::update("/var/log/rrd/disk-hdf.rrd","-t","readsect:writesect:sleeping","N:U:U:U");'; fi
if [ -e /var/log/rrd/disk-hdg.rrd ]; then \
/usr/bin/perl -e 'use RRDs;RRDs::update("/var/log/rrd/disk-hdg.rrd","-t","readsect:writesect:sleeping","N:U:U:U");'; fi
if [ -e /var/log/rrd/disk-hdh.rrd ]; then \
/usr/bin/perl -e 'use RRDs;RRDs::update("/var/log/rrd/disk-hdh.rrd","-t","readsect:writesect:sleeping","N:U:U:U");'; fi
rm -rf /tmp/hddshutdown-*
/usr/local/bin/hddshutdown

3
src/boot.d/30-startcron Normal file
View File

@@ -0,0 +1,3 @@
#!/bin/sh
echo "Starting crond"
/usr/sbin/fcron

3
src/boot.d/31-startsnort Normal file
View File

@@ -0,0 +1,3 @@
#!/bin/sh
echo "Starting Snort (if enabled)"
/usr/local/bin/restartsnort red blue orange green

3
src/boot.d/32-starthttpd Normal file
View File

@@ -0,0 +1,3 @@
#!/bin/sh
echo "Starting httpd"
/usr/sbin/httpd

3
src/boot.d/33-startdhcp Normal file
View File

@@ -0,0 +1,3 @@
#!/bin/sh
echo "Starting dhcpd (if enabled)"
/usr/local/bin/restartdhcp

3
src/boot.d/34-startssh Normal file
View File

@@ -0,0 +1,3 @@
#!/bin/sh
echo "Starting sshd (if enabled)"
/usr/local/bin/restartssh

3
src/boot.d/35-startntp Normal file
View File

@@ -0,0 +1,3 @@
#!/bin/sh
echo "Starting ntpd (if enabled)"
/usr/local/bin/restartntpd

5
src/boot.d/36-startsquid Normal file
View File

@@ -0,0 +1,5 @@
#!/bin/sh
if [ -e "/var/ipfire/proxy/squid.conf" ]; then
echo "Starting squid (if enabled)"
/usr/local/bin/restartsquid
fi

View File

@@ -0,0 +1,3 @@
#!/bin/sh
echo "Starting openvpn (if enabled)"
/usr/local/bin/openvpnctrl --start-daemon-only >& /dev/null

3
src/boot.d/99-rclocal Normal file
View File

@@ -0,0 +1,3 @@
#!/bin/sh
echo "Running rc.local"
. /etc/rc.d/rc.local

View File

@@ -897,13 +897,13 @@ RESTORE:
driver = strtok(line, ".");
fprintf(flog, "Detected SCSI driver %s\n",driver);
if (strlen(driver) > 1) {
fprintf(flog, "Fixing up ipcoprd.img\n");
fprintf(flog, "Fixing up ipfirerd.img\n");
mysystem("/bin/chroot /harddisk /sbin/modprobe loop");
mkdir("/harddisk/initrd", S_IRWXU|S_IRWXG|S_IRWXO);
snprintf(commandstring, STRING_SIZE, "/bin/chroot /harddisk /sbin/mkinitrd --with=scsi_mod --with=%s --with=sd_mod --with=sr_mod --with=libata --with=ataraid /boot/ipcoprd.img %s", driver, KERNEL_VERSION);
snprintf(commandstring, STRING_SIZE, "/bin/chroot /harddisk /sbin/mkinitrd --with=scsi_mod --with=%s --with=sd_mod --with=sr_mod --with=libata --with=ataraid /boot/ipfirerd.img %s", driver, KERNEL_VERSION);
runcommandwithstatus(commandstring, ctr[TR_BUILDING_INITRD]);
#ifdef __i386__
snprintf(commandstring, STRING_SIZE, "/bin/chroot /harddisk /sbin/mkinitrd --with=scsi_mod --with=%s --with=sd_mod --with=sr_mod --with=libata --with=ataraid /boot/ipcoprd-smp.img %s-smp", driver, KERNEL_VERSION);
snprintf(commandstring, STRING_SIZE, "/bin/chroot /harddisk /sbin/mkinitrd --with=scsi_mod --with=%s --with=sd_mod --with=sr_mod --with=libata --with=ataraid /boot/ipfirerd-smp.img %s-smp", driver, KERNEL_VERSION);
runcommandwithstatus(commandstring, ctr[TR_BUILDING_INITRD]);
mysystem("/bin/chroot /harddisk /bin/mv /boot/grub/scsigrub.conf /boot/grub/grub.conf");
#endif
@@ -918,10 +918,10 @@ RESTORE:
if (pcmcia_disk)
{
fprintf(flog, "Detected SCSI driver PCMCIA\n");
fprintf(flog, "Fixing up ipcoprd.img\n");
fprintf(flog, "Fixing up ipfirerd.img\n");
mysystem("/bin/chroot /harddisk /sbin/modprobe loop");
mkdir("/harddisk/initrd", S_IRWXU|S_IRWXG|S_IRWXO);
snprintf(commandstring, STRING_SIZE, "/bin/chroot /harddisk /sbin/pcinitrd -r %s /boot/ipcoprd.img", KERNEL_VERSION);
snprintf(commandstring, STRING_SIZE, "/bin/chroot /harddisk /sbin/pcinitrd -r %s /boot/ipfirerd.img", KERNEL_VERSION);
mysystem(commandstring);
#ifdef __i386__
mysystem("/bin/chroot /harddisk /bin/mv /boot/grub/scsigrub.conf /boot/grub/grub.conf");
@@ -952,6 +952,11 @@ RESTORE:
errorbox(ctr[TR_UNABLE_TO_INSTALL_GRUB]);
goto EXIT;
}
/* Set Bootsplash */
if ((handle = fopen("/scsidriver", "r")))
mysystem("/bin/chroot /harddisk /sbin/splash -s -f /boot/splash/config/bootsplash-1024x768.cgf >> /boot/ipfirerd.img");
else
mysystem("/bin/chroot /harddisk /sbin/splash -s -f /boot/splash/config/bootsplash-1024x768.cgf > /boot/initrd.splash");
mysystem("/bin/chroot /harddisk /bin/umount -n /proc");
#endif
#ifdef __alpha__

View File

@@ -1,6 +1,6 @@
#!/bin/sh
#
# $Id: rc.sysinit,v 1.18.2.36 2005/12/01 20:13:08 eoberlander Exp $
# rc.sysinit by the IPFire Team
#
eval $(/usr/local/bin/readhash /var/ipfire/main/settings)
@@ -10,273 +10,29 @@ umask 022
PATH=/bin:/sbin:/usr/bin:/usr/sbin
export PATH
PROGRESS=0
NUMBEROFSCRIPTS=`ls -l /etc/boot.d | grep ^- | wc -l`
progressbar()
{
if [ $# != 1 ]
then
echo "Usage: progressbar {progress}"
exit 1
fi
echo "show $(( 65534 * $1 / $NUMBEROFSCRIPTS ))" > /proc/splash
}
echo "Mounting /proc filesystem"
mount -n -t proc /proc /proc
# Unmount the initrd, if necessary
if grep -q /initrd /proc/mounts && ! grep -q /initrd/loopfs /proc/mounts ; then
umount /initrd >/dev/null 2>&1
blockdev --flushbufs /dev/ram0 >/dev/null 2>&1
fi
progressbar 0
echo "Setting hostname"
if [ -z "$DOMAINNAME" ]; then
hostname $HOSTNAME
else
hostname ${HOSTNAME}.${DOMAINNAME}
fi
if [ "$KEYMAP" != "" ]; then
loadkeys $KEYMAP
fi
# Initializing Power Management ACPI first, then APM.
# APM won't load if ACPI is initialized anyway.
echo "Initializing Power Management"
modprobe ac > /dev/null 2>&1
modprobe battery > /dev/null 2>&1
modprobe button > /dev/null 2>&1
modprobe fan > /dev/null 2>&1
modprobe processor > /dev/null 2>&1
modprobe thermal > /dev/null 2>&1
modprobe apm > /dev/null 2>&1
# Initialize USB controllers
echo "Initializing USB controllers"
aliases=`/sbin/modprobe -c | awk '/^alias usb-controller/ { print $3 }'`
if [ -n "$aliases" -a "$aliases" != "off" ] ; then
modprobe usbcore
mount -n -t usbdevfs usbdevfs /proc/bus/usb
for alias in $aliases ; do
[ "$alias" != "off" ] && modprobe $alias
done
echo "Initializing USB storage devices"
modprobe usb-storage
modprobe sd_mod
echo "Initializing USB keyboard"
modprobe hid
modprobe keybdev
echo "Initializing USB modems"
modprobe acm
fi
STRING="Checking root filesystem"
fsck -R -T -a -C /
RC=$?
if [ "$RC" = "0" ]; then
echo "$STRING: Success"
elif [ "$RC" = "1" ]; then
echo "$STRING: Passed"
fi
# A return of 2 or higher means there were serious problems.
if [ $RC -gt 1 ]; then
echo "$STRING: Failed"
echo "*** An error occurred during the file system check."
echo "*** Dropping you to a shell; the system will reboot"
echo "*** when you leave the shell."
export PS1="(Repair filesystem) \# # "
sulogin
echo "Unmounting filesystems"
umount -a
mount -n -o remount,ro /
echo "Automatic reboot in progress."
reboot -f
fi
echo "Mounting root read/write"
mount -n -o remount,rw /
STRING="Checking other filesystems"
fsck -R -T -a -C -A
RC=$?
if [ "$RC" = "0" ]; then
echo "$STRING: Success"
elif [ "$RC" = "1" ]; then
echo "$STRING: Passed"
fi
# A return of 2 or higher means there were serious problems.
if [ $RC -gt 1 ]; then
echo "$STRING: Failed"
echo "*** An error occurred during the file system check."
echo "*** Dropping you to a shell; the system will reboot"
echo "*** when you leave the shell."
export PS1="(Repair filesystem) \# # "
sulogin
echo "Unmounting filesystems"
umount -n -a
mount -n -o remount,ro /
echo "Automatic reboot in progress."
reboot -f
fi
echo "Mounting other filesystems"
mount -a -n
if [ -e /swapfile ]; then
echo "Turning on swap"
chmod 600 /swapfile
swapon /swapfile
fi
echo "Updating System.map file location"
if [ -L /boot/System.map -a -r /boot/System.map-`uname -r` -a \
! /boot/System.map -ef /boot/System.map-`uname -r` ]; then
ln -s -f System.map-`uname -r` /boot/System.map
fi
if [ ! -e /boot/System.map -a -r /boot/System.map-`uname -r` ]; then
ln -s -f System.map-`uname -r` /boot/System.map
fi
echo "Updating /etc/fstab to reflect removable devices"
/usr/sbin/updfstab
echo "Setting kernel settings"
/sbin/sysctl -e -p /etc/sysctl.conf >/dev/null
if [ -e /etc/FLASH ]; then
if [ -e /etc/rc.d/rc.flash.up ]; then
echo "Decompressing Flash"
. /etc/rc.d/rc.flash.up
fi
fi
echo "Setting locale"
LANG=en_US.utf8
export LANG
echo "Setting consolefonts"
eval $(/usr/local/bin/readhash /var/ipfire/main/settings)
for i in 2 3 4 5 6; do
> /dev/tty$i
list=`find /etc/boot.d -type f -maxdepth 1 | sort`
for script in $list; do
. $script
let PROGRESS=$PROGRESS+1
progressbar $PROGRESS
done
if [ "$LANGUAGE" = "el" ]; then
/usr/bin/unicode_start iso07u-16
elif [ "$LANGUAGE" = "pt" -o "$LANGUAGE" = "bz" ]; then
/usr/bin/unicode_start lat1-16
elif [ "$LANGUAGE" = "cs" -o "$LANGUAGE" = "hu" -o "$LANGUAGE" = "pl" -o "$LANGUAGE" = "sk" ]; then
/usr/bin/unicode_start lat2-16
elif [ "$LANGUAGE" = "tr" ]; then
/usr/bin/unicode_start lat5-16
elif [ "$LANGUAGE" = "vi" ]; then
/usr/bin/unicode_start viscii10-8x16
else
/usr/bin/unicode_start lat0-16
fi
echo "Update modules dependencies when necessary"
if [ -e /var/run/need-depmod-`uname -r` ]; then
/sbin/depmod -a
/bin/rm -f /var/run/need-depmod-`uname -r`
fi
echo "Clearing old files"
rm -f /var/run/{*.pid,*.sem,*.tdb}
rm -f /var/run/dhcpcd-*.pid
rm -f /var/lock/{LCK..tty*,rc.updatered.lock}
rm -f /var/ipfire/dhcpc/{*.pid,*.cache,*.info}
rm -f /var/ipfire/red/{active,eciadsl-synch-done}
echo "Setting the clock"
/sbin/hwclock --hctosys
# Cleaning up wtmp/utmp files
>/var/run/utmp
touch /var/log/wtmp
chgrp utmp /var/run/utmp /var/log/wtmp
chmod 0664 /var/run/utmp /var/log/wtmp
if [ -x /usr/sbin/isapnp -a -f /var/ipfire/isapnp/isapnp.conf -a ! -f /proc/isapnp ]; then
echo "Running isapnp"
/usr/sbin/isapnp /var/ipfire/isapnp/isapnp.conf 2>/dev/null
fi
if [ ! -e /etc/ssh/ssh_host_key ]; then
echo "Generating SSH RSA1 key. This may take several minutes."
/usr/bin/ssh-keygen -t rsa1 -f /etc/ssh/ssh_host_key -N ""
fi
if [ ! -e /etc/ssh/ssh_host_rsa_key ]; then
echo "Generating SSH RSA key. This may take several minutes."
/usr/bin/ssh-keygen -t rsa -f /etc/ssh/ssh_host_rsa_key -N ""
fi
if [ ! -e /etc/ssh/ssh_host_dsa_key ]; then
echo "Generating SSH DSA key. This may take several minutes."
/usr/bin/ssh-keygen -t dsa -f /etc/ssh/ssh_host_dsa_key -N ""
fi
# https certificate
if [ -f /etc/httpd/server.key -a -f /etc/httpd/server.crt -a -f /etc/httpd/server.csr ]; then
/usr/local/bin/httpscert read
else
/usr/local/bin/httpscert new
fi
echo "Rotating logs"
/usr/sbin/logrotate /etc/logrotate.conf
echo "Starting syslogd"
/usr/sbin/syslogd -m 0
echo "Starting klogd"
/usr/sbin/klogd -u klogd -j /var/empty
echo "Running /etc/rc.d/rc.network"
. /etc/rc.d/rc.network
echo "Dumping boot messages"
dmesg > /var/log/dmesg
echo 7200 > /proc/sys/net/ipv4/netfilter/ip_conntrack_tcp_timeout_established
if [ -e /var/log/rrd/disk.rrd ]; then echo "Adjusting graphs to compensate for boot"; \
/usr/bin/perl -e 'use RRDs;RRDs::update("/var/log/rrd/disk.rrd","-t","readsect:writesect","N:U:U");'; fi
if [ -e /var/log/rrd/disk-hda.rrd ]; then \
/usr/bin/perl -e 'use RRDs;RRDs::update("/var/log/rrd/disk-hda.rrd","-t","readsect:writesect:sleeping","N:U:U:U");'; fi
if [ -e /var/log/rrd/disk-hdb.rrd ]; then \
/usr/bin/perl -e 'use RRDs;RRDs::update("/var/log/rrd/disk-hdb.rrd","-t","readsect:writesect:sleeping","N:U:U:U");'; fi
if [ -e /var/log/rrd/disk-hdc.rrd ]; then \
/usr/bin/perl -e 'use RRDs;RRDs::update("/var/log/rrd/disk-hdc.rrd","-t","readsect:writesect:sleeping","N:U:U:U");'; fi
if [ -e /var/log/rrd/disk-hdd.rrd ]; then \
/usr/bin/perl -e 'use RRDs;RRDs::update("/var/log/rrd/disk-hdd.rrd","-t","readsect:writesect:sleeping","N:U:U:U");'; fi
if [ -e /var/log/rrd/disk-hde.rrd ]; then \
/usr/bin/perl -e 'use RRDs;RRDs::update("/var/log/rrd/disk-hde.rrd","-t","readsect:writesect:sleeping","N:U:U:U");'; fi
if [ -e /var/log/rrd/disk-hdf.rrd ]; then \
/usr/bin/perl -e 'use RRDs;RRDs::update("/var/log/rrd/disk-hdf.rrd","-t","readsect:writesect:sleeping","N:U:U:U");'; fi
if [ -e /var/log/rrd/disk-hdg.rrd ]; then \
/usr/bin/perl -e 'use RRDs;RRDs::update("/var/log/rrd/disk-hdg.rrd","-t","readsect:writesect:sleeping","N:U:U:U");'; fi
if [ -e /var/log/rrd/disk-hdh.rrd ]; then \
/usr/bin/perl -e 'use RRDs;RRDs::update("/var/log/rrd/disk-hdh.rrd","-t","readsect:writesect:sleeping","N:U:U:U");'; fi
rm -rf /tmp/hddshutdown-*
/usr/local/bin/hddshutdown
echo "Starting crond"
/usr/sbin/fcron
echo "Starting Snort (if enabled)"
/usr/local/bin/restartsnort red blue orange green
echo "Starting httpd"
/usr/sbin/httpd
echo "Starting dhcpd (if enabled)"
/usr/local/bin/restartdhcp
echo "Starting sshd (if enabled)"
/usr/local/bin/restartssh
echo "Starting ntpd (if enabled)"
/usr/local/bin/restartntpd
echo "Starting openvpn (if enabled)"
/usr/local/bin/openvpnctrl --start-daemon-only >& /dev/null
if [ -e "/var/ipfire/proxy/squid.conf" ]; then
echo "Starting squid (if enabled)"
/usr/local/bin/restartsquid
fi
echo "Running rc.local"
. /etc/rc.d/rc.local
logger -t ipfire "IPFire started."
@@ -285,3 +41,4 @@ logger -t ipfire "IPFire started."
/usr/bin/beep -l 75 -f 1000
/usr/bin/beep -l 75 -f 2000
/usr/bin/beep -l 75 -f 3000