xrsh-buildroot/buildroot-v86/board/v86/rootfs_overlay/etc/profile.xrsh

58 lines
1.5 KiB
Plaintext
Raw Normal View History

2024-09-11 14:58:31 +02:00
#!/bin/sh
test -d /dev/browser || {
setup_links(){
ln -fs /etc/motd ~/.motd
ln -fs /mnt/profile.browser ~/.profile.browser
2024-09-11 14:58:31 +02:00
chmod +x ~/.profile.js
}
setup_browser_dev(){
mkdir -p /dev/browser
echo 1 > /mnt/console.tty
ln -s /mnt/console.tty /dev/browser/tty
ln -fs /mnt/js /dev/browser/js
2024-09-15 11:18:36 +02:00
ln -fs /mnt/index.html /dev/browser/html
2024-09-13 18:55:12 +02:00
ln -fs /mnt/console /dev/browser/console
touch /mnt/console
2024-09-15 11:18:36 +02:00
touch /mnt/index.html
2024-09-11 14:58:31 +02:00
}
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_overlayfs(){
test -f /mnt/overlayfs.zip && unzip /mnt/overlayfs.zip -d /
}
2024-09-15 11:18:36 +02:00
setup_incoming_cmds(){
# listen for shell cmds passed to v86 from browser
# (via isoterminal.exec(...))
stty raw < /dev/ttyS1
cat /dev/ttyS1 | xargs -I{} /bin/sh -c 'source /etc/profile; logger "isoterminal.exec({})"; {}'
}
setup_reflect_index_html(){
# listen for writes to index.html and send them to DOM
inotifyd echo /root/index.html | awk '/^w / { system("cat "$2" | grep -vE \"^#!\" > /dev/browser/html") }'
}
setup_reflect_index_js(){
# listen for writes to index.js and send them to DOM
inotifyd echo /root/index.js | awk '/^w / { system("cat "$2" | grep -vE \"^#!\" > /dev/browser/js") }'
}
2024-09-11 14:58:31 +02:00
setup_browser_dev
setup_links
setup_network
setup_overlayfs
2024-09-15 11:18:36 +02:00
setup_incoming_cmds &
setup_reflect_index_html &
setup_reflect_index_js &
2024-09-11 14:58:31 +02:00
}