4 Commits
1.1.1 ... 1.2.1

2 changed files with 28 additions and 21 deletions

41
bin/rc
View File

@@ -1,5 +1,16 @@
#!/bin/bash #!/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 # Functions
rc.rescue() { exec "${cfg_rc_rescue_shell:-"$SHELL"}"; } rc.rescue() { exec "${cfg_rc_rescue_shell:-"$SHELL"}"; }
@@ -13,23 +24,17 @@ rc.motd() {
return 0 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() { rc.mount_misc() {
mountpoint -q /proc || { rc.mount proc proc /proc; } for m in "${cfg_mounts[@]}"; do
mountpoint -q /dev || { rc.mount dev devtmpfs /dev; } 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() { rc.parse_cmdline() {
@@ -84,10 +89,10 @@ rc.services_stop() {
rc.stop_everything() { rc.stop_everything() {
echo "Politely asking all processes to shut down..." echo "Politely asking all processes to shut down..."
killall5 -s 15; sleep 3 killall5 -15; sleep 3
echo "Killing the remaning ones..." echo "Killing the remaning ones..."
killall5 -s 9 killall5 -9
} }
rc.unmount_everything() { rc.unmount_everything() {

View File

@@ -5,9 +5,11 @@ export PATH='/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin'
cfg_hostname='changeme' cfg_hostname='changeme'
# Services # Services
cfg_services+=( 'fsck' 'mount' 'systemd-udevd' 'sysctl' 'rc.local' ) 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+=( 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+=( '@crond' '@network' '@dbus' '@alsa' ) # These start in parallel.
cfg_services+=( 'rc.local' ) # Traditionally, rc.local starts last.
cfg_modules=( ) # Add modules you want to be loaded at boot time here cfg_modules=( ) # Add modules you want to be loaded at boot time here