9 Commits
1.1.0 ... 1.2.2

3 changed files with 32 additions and 22 deletions

View File

@@ -1,4 +1,4 @@
spark-rc
========
An example rc to use with spark (or not)
A simple rc script to kickstart your system.

41
bin/rc
View File

@@ -1,5 +1,16 @@
#!/bin/bash
# Default virtual mounts for linux systems
cfg_mounts+=( 'proc:proc:/proc:' )
cfg_mounts+=( 'run:tmpfs:/run:' )
cfg_mounts+=( 'sys:sysfs:/sys:' )
# devfs and its children
cfg_mounts+=( 'dev:devtmpfs:/dev:' )
cfg_mounts+=( 'pts:devpts:/dev/pts:noexec,nosuid,gid=5,mode=0620' )
cfg_mounts+=( 'mqueue:mqueue:/dev/mqueue:noexec,nosuid,nodev' )
cfg_mounts+=( 'shm:tmpfs:/dev/shm:defaults,mode=0777' )
# Functions
rc.rescue() { exec "${cfg_rc_rescue_shell:-"$SHELL"}"; }
@@ -13,23 +24,17 @@ rc.motd() {
return 0
}
rc.mount() {
local fs
local fs_type
local mountpoint
local mount_options
fs="$1"
fs_type="$2"
mountpoint="$3"
mount_options="${4:-defaults}"
mount "$1" -n -t "$2" -o "$mount_options" "$3"
}
rc.mount_misc() {
mountpoint -q /proc || { rc.mount proc proc /proc; }
mountpoint -q /dev || { rc.mount dev devtmpfs /dev; }
for m in "${cfg_mounts[@]}"; do
IFS=':' read fs fs_type mountpoint mount_options <<< "$m"
[[ "$mount_options" ]] || { mount_options='defaults'; }
mountpoint -q "$mountpoint" || {
[[ -d "$mountpoint" ]] || { mkdir -p "$mountpoint"; }
mount "$fs" -n -t "$fs_type" -o "$mount_options" "$mountpoint"
}
done
}
rc.parse_cmdline() {
@@ -84,10 +89,10 @@ rc.services_stop() {
rc.stop_everything() {
echo "Politely asking all processes to shut down..."
/opt/sbase/bin/killall5 -s 15; sleep 3
killall5 -15; sleep 3
echo "Killing the remaning ones..."
/opt/sbase/bin/killall5 -s 9
killall5 -9
}
rc.unmount_everything() {

View File

@@ -5,8 +5,13 @@ export PATH='/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin'
cfg_hostname='changeme'
# Services
cfg_services+=( 'fsck' 'mount' 'udev' 'sysctl' 'rc.local' )
cfg_services+=( agetty-tty{2..6} ) # Comment this if your init starts something on the ttys itself
cfg_services+=( '@crond' '@network' '@dbus' '@alsa' ) # These start in parallel
cfg_services+=( 'fsck' 'mount' 'systemd-udevd' 'sysctl' ) # Services that need tp be started in an order
cfg_services+=( @agetty-tty{2..6} ) # Comment this if your init starts something on the ttys itself.
cfg_services+=( '@crond' '@network' '@dbus' '@alsa' ) # These start in parallel.
cfg_services+=( 'rc.local' ) # Traditionally, rc.local starts last.
# Modules
cfg_modules=( ) # Add modules you want to be loaded at boot time here
# Make C-A-D perform a soft reset
ctrlaltdel soft