X runs without -dumbSched; the ISO ships r8169 and the licences
Tried in QEMU on a built ISO: startx brings up Window Maker, xclock and xeyes connect and disconnect, an xterm runs and exits, Xorg stays up -- the pthread_join crash is gone with threads. -dumbSched is removed from .xserverrc. make iso now stages Linux's r8169 set first when this machine has the modules (ldls-r8169-if-present), and sysroot-install puts LICENSE, LICENSE.MIT and NOTICE in /usr/share/licenses/schos. Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01EVRhxi9zpdW2uDUN4FVcao
This commit is contained in:
parent
1334f446cc
commit
6e78bb0d5e
3 changed files with 28 additions and 13 deletions
|
|
@ -97,12 +97,12 @@ mkdir -p "$P/etc/profile.d"
|
|||
grep -v '^export \(PATH\|HOME\|TERM\)=' "$P/etc/profile" > "$P/etc/profile.d/schos.sh"
|
||||
rm -f "$P/etc/profile"
|
||||
|
||||
# How startx starts the X server for root: Alpine's xserverrc, plus
|
||||
# -dumbSched. Xorg reads input on a thread of its own; when SchOS had no threads
|
||||
# the server crashed on its way out the first time a client disconnected, in
|
||||
# pthread_join on a thread that was never made. -dumbSched is Xorg's own switch
|
||||
# for input on the main loop. SchOS has threads now (clone, futex), so this may
|
||||
# no longer be needed -- it has simply not been tried without it. The file is
|
||||
# How startx starts the X server for root: Alpine's xserverrc. (It used to add
|
||||
# -dumbSched, Xorg's switch for reading input on the main loop, because when SchOS
|
||||
# had no threads the server crashed on its way out the first time a client
|
||||
# disconnected, in pthread_join on a thread that was never made. SchOS has threads
|
||||
# now; X was run without the switch under QEMU -- clients connecting and
|
||||
# disconnecting, an xterm starting and exiting -- and it stays up.) The file is
|
||||
# root's own rather than /etc/X11/xinit/xserverrc, which belongs to the xinit
|
||||
# package.
|
||||
mkdir -p "$P/root"
|
||||
|
|
@ -111,7 +111,7 @@ cat > "$P/root/.xserverrc" <<'XEOF'
|
|||
# The VT X runs on is the one startx was started from. startx works that out
|
||||
# only when `uname -s` says Linux, and SchOS's says SchIFT.
|
||||
vt=$(tty | sed -n 's|^/dev/tty\([0-9][0-9]*\)$|vt\1|p')
|
||||
exec /usr/bin/X -nolisten tcp -dumbSched $vt "$@"
|
||||
exec /usr/bin/X -nolisten tcp $vt "$@"
|
||||
XEOF
|
||||
|
||||
# What startx runs inside it: Window Maker, which world installs. Without this
|
||||
|
|
|
|||
Loading…
Reference in a new issue