13 Commits
1.1.0 ... 1.3.3

Author SHA1 Message Date
fbt
93edc4ceb7 This works properly 2014-08-09 15:17:26 +04:00
fbt
51c7ec2471 Oops 2014-08-09 14:59:12 +04:00
fbt
a57c6bd7fb switching to a makefile build 2014-08-09 14:55:26 +04:00
fbt
b7fa48d5d8 duplicate 2014-07-28 09:32:57 +04:00
fbt
25b13d5ef0 Comments! 2014-07-28 09:14:06 +04:00
fbt
48d2d826fc agettys should also start in parallel 2014-07-28 09:13:53 +04:00
fbt
d36bf9bef1 miscfs and devfs were migrated into the rc script itself 2014-07-28 07:47:35 +04:00
fbt
e2c9da41a8 mounting these is the rc's job 2014-07-28 07:37:38 +04:00
fbt
0b8f15ee5e With watchman, miscfs should start first so that watchman doesn't get confused 2014-07-28 07:11:40 +04:00
fbt
9eaeb20880 ok I really need a makefile for this. killall5 in sysv and ubase are different 2014-07-23 23:59:24 +04:00
fbt
b075b55846 spark is dead 2014-07-06 20:27:37 +04:00
fbt
59636aac4c I did not know about the ctraltdel utility 2014-07-06 14:24:03 +04:00
fbt
3a9f581a79 killall5 shouldn't be hardcoded 2014-05-07 17:28:45 +04:00
6 changed files with 81 additions and 33 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

View File

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

8
config.mk Normal file
View File

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

View File

@@ -1,12 +0,0 @@
# System-wide configuration
export PATH='/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin'
# Hostname
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_modules=( ) # Add modules you want to be loaded at boot time here

17
rc.conf Normal file
View File

@@ -0,0 +1,17 @@
# System-wide configuration
export PATH='/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin'
# Hostname
cfg_hostname='changeme'
# Services
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

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..."
/opt/sbase/bin/killall5 -s 15; sleep 3 killall5 -15; sleep 3
echo "Killing the remaning ones..." echo "Killing the remaning ones..."
/opt/sbase/bin/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
} }