9 Commits
1.1.1 ... 1.3.2

4 changed files with 68 additions and 23 deletions

31
Makefile Normal file
View File

@@ -0,0 +1,31 @@
# watchman makefile
VERSION=1.6.9
# Please modify config.mk and not this
sinclude config.mk
.PHONY: clean install uninstall all
build: rc
all: build
rc: rc.in
sed -r \
-e 's%@ETC@%$(ETC)%' \
rc.in > rc
chmod 750 $@
clean:
rm rc
install: build
install -dm755 $(BINDIR)
install -dm755 $(ETCDIR)
install -m750 rc $(BINDIR)/rc
install -m644 rc.conf $(ETCDIR)/rc.conf
uninstall:
rm $(BINDIR)/rc

8
config.mk Normal file
View File

@@ -0,0 +1,8 @@
# Make config
USR ?= /usr/local
ETC ?= /etc
PREFIX ?= /
BINDIR = $(DESTDIR)$(PREFIX)/$(USR)/bin
ETCDIR = $(DESTDIR)$(PREFIX)/$(ETC)

View File

@@ -5,10 +5,12 @@ 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.
# Modules
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
# Make C-A-D perform a soft reset # Make C-A-D perform a soft reset

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() {
@@ -139,7 +144,7 @@ rc.modules() {
} }
rc.main() { rc.main() {
source "/etc/rc.conf" source "@ETC@/rc.conf"
action="${1:-boot}" action="${1:-boot}"
@@ -151,7 +156,6 @@ rc.main() {
poweroff|reboot|shutdown) poweroff|reboot|shutdown)
rc.shutdown rc.shutdown
rc.halt
;; ;;
esac esac
} }