various updates
This commit is contained in:
parent
bf70f11e44
commit
8ab3dcf590
|
@ -1,7 +1,7 @@
|
||||||
#
|
#
|
||||||
# Automatically generated make config: don't edit
|
# Automatically generated make config: don't edit
|
||||||
# Busybox version: 1.33.0
|
# Busybox version: 1.33.0
|
||||||
# Wed Oct 2 12:49:15 2024
|
# Mon Oct 14 15:09:24 2024
|
||||||
#
|
#
|
||||||
CONFIG_HAVE_DOT_CONFIG=y
|
CONFIG_HAVE_DOT_CONFIG=y
|
||||||
|
|
||||||
|
@ -1129,41 +1129,41 @@ CONFIG_ASH_GETOPTS=y
|
||||||
CONFIG_ASH_CMDCMD=y
|
CONFIG_ASH_CMDCMD=y
|
||||||
# CONFIG_CTTYHACK is not set
|
# CONFIG_CTTYHACK is not set
|
||||||
# CONFIG_HUSH is not set
|
# CONFIG_HUSH is not set
|
||||||
CONFIG_SHELL_HUSH=y
|
# CONFIG_SHELL_HUSH is not set
|
||||||
CONFIG_HUSH_BASH_COMPAT=y
|
# CONFIG_HUSH_BASH_COMPAT is not set
|
||||||
CONFIG_HUSH_BRACE_EXPANSION=y
|
# CONFIG_HUSH_BRACE_EXPANSION is not set
|
||||||
CONFIG_HUSH_LINENO_VAR=y
|
# CONFIG_HUSH_LINENO_VAR is not set
|
||||||
# CONFIG_HUSH_BASH_SOURCE_CURDIR is not set
|
# CONFIG_HUSH_BASH_SOURCE_CURDIR is not set
|
||||||
CONFIG_HUSH_INTERACTIVE=y
|
# CONFIG_HUSH_INTERACTIVE is not set
|
||||||
CONFIG_HUSH_SAVEHISTORY=y
|
# CONFIG_HUSH_SAVEHISTORY is not set
|
||||||
CONFIG_HUSH_JOB=y
|
# CONFIG_HUSH_JOB is not set
|
||||||
CONFIG_HUSH_TICK=y
|
# CONFIG_HUSH_TICK is not set
|
||||||
CONFIG_HUSH_IF=y
|
# CONFIG_HUSH_IF is not set
|
||||||
CONFIG_HUSH_LOOPS=y
|
# CONFIG_HUSH_LOOPS is not set
|
||||||
CONFIG_HUSH_CASE=y
|
# CONFIG_HUSH_CASE is not set
|
||||||
CONFIG_HUSH_FUNCTIONS=y
|
# CONFIG_HUSH_FUNCTIONS is not set
|
||||||
CONFIG_HUSH_LOCAL=y
|
# CONFIG_HUSH_LOCAL is not set
|
||||||
CONFIG_HUSH_RANDOM_SUPPORT=y
|
# CONFIG_HUSH_RANDOM_SUPPORT is not set
|
||||||
CONFIG_HUSH_MODE_X=y
|
# CONFIG_HUSH_MODE_X is not set
|
||||||
CONFIG_HUSH_ECHO=y
|
# CONFIG_HUSH_ECHO is not set
|
||||||
CONFIG_HUSH_PRINTF=y
|
# CONFIG_HUSH_PRINTF is not set
|
||||||
CONFIG_HUSH_TEST=y
|
# CONFIG_HUSH_TEST is not set
|
||||||
CONFIG_HUSH_HELP=y
|
# CONFIG_HUSH_HELP is not set
|
||||||
CONFIG_HUSH_EXPORT=y
|
# CONFIG_HUSH_EXPORT is not set
|
||||||
CONFIG_HUSH_EXPORT_N=y
|
# CONFIG_HUSH_EXPORT_N is not set
|
||||||
CONFIG_HUSH_READONLY=y
|
# CONFIG_HUSH_READONLY is not set
|
||||||
CONFIG_HUSH_KILL=y
|
# CONFIG_HUSH_KILL is not set
|
||||||
CONFIG_HUSH_WAIT=y
|
# CONFIG_HUSH_WAIT is not set
|
||||||
CONFIG_HUSH_COMMAND=y
|
# CONFIG_HUSH_COMMAND is not set
|
||||||
CONFIG_HUSH_TRAP=y
|
# CONFIG_HUSH_TRAP is not set
|
||||||
CONFIG_HUSH_TYPE=y
|
# CONFIG_HUSH_TYPE is not set
|
||||||
CONFIG_HUSH_TIMES=y
|
# CONFIG_HUSH_TIMES is not set
|
||||||
CONFIG_HUSH_READ=y
|
# CONFIG_HUSH_READ is not set
|
||||||
CONFIG_HUSH_SET=y
|
# CONFIG_HUSH_SET is not set
|
||||||
CONFIG_HUSH_UNSET=y
|
# CONFIG_HUSH_UNSET is not set
|
||||||
CONFIG_HUSH_ULIMIT=y
|
# CONFIG_HUSH_ULIMIT is not set
|
||||||
CONFIG_HUSH_UMASK=y
|
# CONFIG_HUSH_UMASK is not set
|
||||||
CONFIG_HUSH_GETOPTS=y
|
# CONFIG_HUSH_GETOPTS is not set
|
||||||
# CONFIG_HUSH_MEMLEAK is not set
|
# CONFIG_HUSH_MEMLEAK is not set
|
||||||
|
|
||||||
#
|
#
|
||||||
|
@ -1194,6 +1194,6 @@ CONFIG_FEATURE_REMOTE_LOG=y
|
||||||
# CONFIG_FEATURE_SYSLOGD_CFG is not set
|
# CONFIG_FEATURE_SYSLOGD_CFG is not set
|
||||||
# CONFIG_FEATURE_SYSLOGD_PRECISE_TIMESTAMPS is not set
|
# CONFIG_FEATURE_SYSLOGD_PRECISE_TIMESTAMPS is not set
|
||||||
CONFIG_FEATURE_SYSLOGD_READ_BUFFER_SIZE=256
|
CONFIG_FEATURE_SYSLOGD_READ_BUFFER_SIZE=256
|
||||||
CONFIG_FEATURE_IPC_SYSLOG=y
|
# CONFIG_FEATURE_IPC_SYSLOG is not set
|
||||||
CONFIG_FEATURE_IPC_SYSLOG_BUFFER_SIZE=16
|
CONFIG_FEATURE_IPC_SYSLOG_BUFFER_SIZE=0
|
||||||
# CONFIG_FEATURE_KMSG_SYSLOG is not set
|
# CONFIG_FEATURE_KMSG_SYSLOG is not set
|
||||||
|
|
|
@ -3,7 +3,7 @@
|
||||||
// do once (remember /etc/profile gets sources multiple times!)
|
// do once (remember /etc/profile gets sources multiple times!)
|
||||||
if( !window['/etc/profile.js'] ){
|
if( !window['/etc/profile.js'] ){
|
||||||
|
|
||||||
const isoterminal = document.querySelector('[isoterminal]').components.isoterminal.isoterminal
|
const isoterminal = document.querySelector('[isoterminal]').components.isoterminal.term
|
||||||
const scene = document.querySelector('a-scene')
|
const scene = document.querySelector('a-scene')
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -38,22 +38,14 @@ test -d /dev/browser || {
|
||||||
# listen for shell cmds passed to v86 from browser
|
# listen for shell cmds passed to v86 from browser
|
||||||
# (via isoterminal.exec(...))
|
# (via isoterminal.exec(...))
|
||||||
stty raw < /dev/ttyS1
|
stty raw < /dev/ttyS1
|
||||||
#cat /dev/ttyS1 | xargs -I{} /bin/sh -c 'logger "isoterminal.exec({})"; {}'
|
|
||||||
mkfifo /var/run/ttyS1
|
mkfifo /var/run/ttyS1
|
||||||
echo "source /etc/profile" >> /var/run/ttyS1
|
|
||||||
cat /dev/ttyS1 > /var/run/ttyS1 &
|
cat /dev/ttyS1 > /var/run/ttyS1 &
|
||||||
/bin/sh < /var/run/ttyS1
|
/bin/sh < /var/run/ttyS1
|
||||||
}
|
}
|
||||||
|
|
||||||
setup_listen_homedir(){
|
setup_listen_homedir(){
|
||||||
sleep 4 # wait for inode of /mnt/root to become live (due to move_root_to_9pfs)
|
sleep 4 # wait for inode of /mnt/root to become live (due to move_root_to_9pfs)
|
||||||
infinite inotifyd echo /mnt/root | awk '
|
/mnt/root/bin/watchfs &
|
||||||
|
|
||||||
# listen for writes to rootdir and send them to DOM
|
|
||||||
/^[we] \/mnt\/root index\.html/ { system("cat "$2"/"$3" | grep -vE \"^#!\" > /dev/browser/html") }
|
|
||||||
/^[we] \/mnt\/root index\.js/ { system("cat "$2"/"$3" | grep -vE \"^#!\" > /dev/browser/js") }
|
|
||||||
|
|
||||||
'
|
|
||||||
}
|
}
|
||||||
|
|
||||||
move_root_to_9pfs
|
move_root_to_9pfs
|
||||||
|
@ -62,5 +54,5 @@ test -d /dev/browser || {
|
||||||
setup_network
|
setup_network
|
||||||
setup_overlayfs
|
setup_overlayfs
|
||||||
setup_incoming_cmds &
|
setup_incoming_cmds &
|
||||||
setup_listen_homedir &
|
setup_listen_homedir
|
||||||
}
|
}
|
||||||
|
|
|
@ -4,9 +4,9 @@ alias exitVR='js "document.querySelector(\"a-scene\").enterVR()"'
|
||||||
alias exitAR='js "document.querySelector(\"a-scene\").enterAR()"'
|
alias exitAR='js "document.querySelector(\"a-scene\").enterAR()"'
|
||||||
|
|
||||||
# (new)user friendlyness
|
# (new)user friendlyness
|
||||||
alias vi='echo "HINT: type :q (and press enter) to quit\n[press a key]";read;vi';
|
alias vi='echo -e "HINT: type :q (and press enter) to quit\n[press a key]";read;vi';
|
||||||
alias mg='echo "HINT: type Ctrl+c Ctrl-x to quit\n[press a key]";read;me';
|
alias mg='echo -e "HINT: type Ctrl+c Ctrl-x to quit\n[press a key]";read;mg';
|
||||||
alias nano='echo "HINT: type Ctrl+x to quit\n[press a key]" ;read;nano';
|
alias nano='echo -e "HINT: type Ctrl+x to quit\n[press a key]" ;read;nano';
|
||||||
|
|
||||||
# start index.js
|
# start index.js
|
||||||
test -f index.js && chmod +x index.js && ./index.js | grep -v undefined
|
test -f index.js && chmod +x index.js && ./index.js | grep -v undefined
|
||||||
|
|
|
@ -1,24 +1,25 @@
|
||||||
#!/bin/js
|
#!/bin/js
|
||||||
|
|
||||||
(async function(){
|
if( args[1] == undefined ) return "usage: codemirror <file>"
|
||||||
|
|
||||||
await AFRAME.utils.require({
|
AFRAME.utils.require({
|
||||||
codemirrorjs: "https://cdnjs.cloudflare.com/ajax/libs/codemirror/5.58.1/codemirror.js",
|
codemirrorjs: "https://cdnjs.cloudflare.com/ajax/libs/codemirror/5.58.1/codemirror.js",
|
||||||
codemirrorcss: "https://cdnjs.cloudflare.com/ajax/libs/codemirror/5.35.0/codemirror.css",
|
codemirrorcss: "https://cdnjs.cloudflare.com/ajax/libs/codemirror/5.35.0/codemirror.css",
|
||||||
cmtheme: "https://cdnjs.cloudflare.com/ajax/libs/codemirror/5.35.0/theme/shadowfox.css"
|
cmtheme: "https://cdnjs.cloudflare.com/ajax/libs/codemirror/5.35.0/theme/shadowfox.css"
|
||||||
|
})
|
||||||
|
.then( () => AFRAME.utils.require({
|
||||||
|
cmxml: "https://cdnjs.cloudflare.com/ajax/libs/codemirror/5.35.0/mode/xml/xml.js",
|
||||||
|
cmjavascript: "https://cdnjs.cloudflare.com/ajax/libs/codemirror/5.35.0/mode/javascript/javascript.js",
|
||||||
|
cmcss: "https://cdnjs.cloudflare.com/ajax/libs/codemirror/5.35.0/mode/css/css.js",
|
||||||
|
highlight: "https://cdnjs.cloudflare.com/ajax/libs/codemirror/5.35.0/mode/htmlmixed/htmlmixed.js",
|
||||||
|
codemirrorAF: "com/codemirror.js"
|
||||||
})
|
})
|
||||||
|
)
|
||||||
await AFRAME.utils.require({
|
.then( () => {
|
||||||
cmxml: "https://cdnjs.cloudflare.com/ajax/libs/codemirror/5.35.0/mode/xml/xml.js",
|
let el = document.createElement("a-entity")
|
||||||
cmjavascript: "https://cdnjs.cloudflare.com/ajax/libs/codemirror/5.35.0/mode/javascript/javascript.js",
|
el.setAttribute("codemirror", `file: ${args[1]}`)
|
||||||
cmcss: "https://cdnjs.cloudflare.com/ajax/libs/codemirror/5.35.0/mode/css/css.js",
|
document.querySelector("a-scene").appendChild(el)
|
||||||
highlight: "https://cdnjs.cloudflare.com/ajax/libs/codemirror/5.35.0/mode/htmlmixed/htmlmixed.js",
|
})
|
||||||
codemirrorAF: "com/codemirror.js"
|
|
||||||
})
|
|
||||||
|
|
||||||
document.querySelector("a-entity#root").innerHTML += `<a-entity codemirror='file: ${args[1]}'></a-entity>`
|
|
||||||
|
|
||||||
})()
|
|
||||||
|
|
||||||
return "" // empty stdout(put)
|
return "" // empty stdout(put)
|
||||||
|
|
||||||
|
|
|
@ -2,7 +2,7 @@
|
||||||
source /etc/profile.sh
|
source /etc/profile.sh
|
||||||
|
|
||||||
javascript='
|
javascript='
|
||||||
const isoterminal = document.querySelector("[isoterminal]").components.isoterminal.isoterminal
|
const isoterminal = document.querySelector("[isoterminal]").components.isoterminal.term
|
||||||
isoterminal.save()
|
isoterminal.save()
|
||||||
return "[OK] xrsh state saved\n"
|
return "[OK] xrsh state saved\n"
|
||||||
'
|
'
|
||||||
|
|
|
@ -0,0 +1,9 @@
|
||||||
|
#!/bin/sh
|
||||||
|
|
||||||
|
infinite inotifyd echo /mnt/root | awk '
|
||||||
|
|
||||||
|
# listen for writes to rootdir and send them to DOM
|
||||||
|
/^[ce] \/mnt\/root index\.html/ { system("cat "$2"/"$3" | grep -vE \"^#!\" > /dev/browser/html") }
|
||||||
|
/^[ce] \/mnt\/root index\.js/ { system("cat "$2"/"$3" | grep -vE \"^#!\" > /dev/browser/js") }
|
||||||
|
|
||||||
|
'
|
|
@ -0,0 +1,8 @@
|
||||||
|
#!/bin/sh
|
||||||
|
|
||||||
|
# intialize global funcs
|
||||||
|
/root/index.js &> /dev/null
|
||||||
|
|
||||||
|
# initialize scene
|
||||||
|
/root/index.html &> /dev/null
|
||||||
|
|
|
@ -3,3 +3,11 @@
|
||||||
<a-sphere position="0 1.25 -5" radius="1.25" color="#EF2D5E"></a-sphere>
|
<a-sphere position="0 1.25 -5" radius="1.25" color="#EF2D5E"></a-sphere>
|
||||||
<a-cylinder position="1 0.75 -3" radius="0.5" height="1.5" color="#FFC65D"></a-cylinder>
|
<a-cylinder position="1 0.75 -3" radius="0.5" height="1.5" color="#FFC65D"></a-cylinder>
|
||||||
<a-plane position="0 0.05 -4" rotation="-90 0 0" width="4" height="4" color="#7BC8A4"></a-plane>
|
<a-plane position="0 0.05 -4" rotation="-90 0 0" width="4" height="4" color="#7BC8A4"></a-plane>
|
||||||
|
|
||||||
|
<!--
|
||||||
|
<a-box position="0 1.4 -0.5" scale="0.2 0.2 0.2" color="#FF00AA" grabbable></a-box>
|
||||||
|
-->
|
||||||
|
|
||||||
|
|
||||||
|
<!-- for [lowerlevel] THREE.js code see ~/index.js -->
|
||||||
|
|
||||||
|
|
|
@ -1,2 +1,17 @@
|
||||||
#!/bin/js
|
#!/bin/js
|
||||||
console.log("/root/index.js: hello world")
|
console.log("/root/index.js: hello world")
|
||||||
|
|
||||||
|
function doTHREE(){
|
||||||
|
const scene = AFRAME.scenes[0]
|
||||||
|
const object = new THREE.Mesh(
|
||||||
|
new THREE.BoxGeometry(1, 1, 1),
|
||||||
|
new THREE.MeshBasicMaterial({ color: 0xff0000 })
|
||||||
|
);
|
||||||
|
object.position.set(0.3, 1.4, -0.4)
|
||||||
|
object.scale.set(0.2,0.2,0.2)
|
||||||
|
scene.add(object);
|
||||||
|
}
|
||||||
|
|
||||||
|
//doTHREE()
|
||||||
|
|
||||||
|
// for [higherlevel] AFRAME markup see ~/index.html
|
||||||
|
|
|
@ -69,7 +69,7 @@ The following files are loaded during boot (via `/etc/profile`)
|
||||||
# Calling terminal from javascript
|
# Calling terminal from javascript
|
||||||
|
|
||||||
```javascript
|
```javascript
|
||||||
const term = document.querySelector('[isoterminal]').components.isoterminal.isoterminal
|
const term = document.querySelector('[isoterminal]').components.isoterminal.term
|
||||||
term.exec("ls -la")
|
term.exec("ls -la")
|
||||||
```
|
```
|
||||||
|
|
||||||
|
|
Binary file not shown.
Binary file not shown.
2
edit.sh
2
edit.sh
|
@ -8,7 +8,7 @@ make menuconfig
|
||||||
test -d output/busybox-1.33.0 || mkdir -p output/busybox-1.33.0
|
test -d output/busybox-1.33.0 || mkdir -p output/busybox-1.33.0
|
||||||
cp /buildroot-v86/.config.busybox output/busybox-1.33.0/.config
|
cp /buildroot-v86/.config.busybox output/busybox-1.33.0/.config
|
||||||
make busybox-menuconfig
|
make busybox-menuconfig
|
||||||
cp output/busybox-1.33.0/.config /buildroot-v86/.config.busybox
|
cp output/build/busybox-1.33.0/.config /buildroot-v86/.config.busybox
|
||||||
|
|
||||||
make linux-menuconfig
|
make linux-menuconfig
|
||||||
make savedefconfig
|
make savedefconfig
|
||||||
|
|
Loading…
Reference in New Issue