49 lines
1.4 KiB
Bash
49 lines
1.4 KiB
Bash
#!/bin/sh
|
|
|
|
test -d /dev/browser || {
|
|
|
|
setup_binaries(){
|
|
for bin in /mnt/prompt /mnt/alert /mnt/confirm /mnt/hook /mnt/js* /mnt/v86pipe /mnt/xrsh; do
|
|
chmod +x $bin
|
|
ln -s $bin /bin/.
|
|
done
|
|
}
|
|
|
|
setup_browser_dev(){
|
|
mkdir -p /mnt/dev/browser
|
|
touch /mnt/dev/browser/js
|
|
touch /mnt/dev/browser/html
|
|
touch /mnt/console.tty
|
|
ln -s /mnt/dev/browser /dev/browser
|
|
# setup console goodies
|
|
ln -s /mnt/console.tty /dev/browser/console.tty # emulator.write_file() only writes to /mnt/. :(
|
|
echo 1 > /dev/browser/console.tty # should be in /proc, but v86 gives 'no such file or dir' when creating it there
|
|
v86pipe /mnt/console /dev/browser/console &
|
|
|
|
test -f /etc/profile && rm /etc/profile
|
|
ln -s /mnt/profile /etc/profile
|
|
}
|
|
|
|
setup_hook_dirs(){ # see /mnt/hook for usage
|
|
mkdir -p ~/hook.d/alert
|
|
mkdir -p ~/hook.d/confirm
|
|
mkdir -p ~/hook.d/prompt
|
|
echo -e "#!/bin/sh\necho hook.d/alert/yo: yo \$*" > ~/hook.d/alert/yo
|
|
echo -e "#!/bin/js\nalert(\"hook.d/alert/yo.js \"+args.slice(1).join(' '))" > ~/hook.d/alert/yo.js
|
|
echo -e "#!/usr/bin/lua\nprint(\"hook.d/alert/yo.lua: yo \" .. arg[1])" > ~/hook.d/alert/yo.lua
|
|
}
|
|
|
|
setup_network(){
|
|
test -n "$BROWSER" || return 0
|
|
mount -a
|
|
udhcpc 1>>/var/log/network.log 2>>/var/log/network.log &
|
|
echo 0 > /proc/sys/kernel/printk
|
|
}
|
|
|
|
setup_binaries
|
|
setup_browser_dev
|
|
setup_hook_dirs
|
|
|
|
}
|
|
|