NOTABLE CHANGES
First in this release:
Ext2srv has been replaced by Ext4srv. Thanks sigrid!
We are now able to handle more USB audio, even ones
that do not offer standard 44.1kHz sample rate. (Sigrid!)
We got DNS over TLS support. Thanks moody!
WiFi support for Raspberry PI ported from Richard Miller. Thanks keegan!
I2C support and improved UART support for
MT7688. Thanks adventuresin9!
Vdiff, a graphical diff viewer got added! Thanks phil9!
Mixfs now allows switching between audio devices. Thanks cinap_lenrek!
Warning:
The behaviour of the IP stack has changed in this release.
Routes now bound to an interface and will get removed
when the interface goes away. And it is illegal to
add routes that cannot be assigned to an interface.
DOWNLOAD
Multiple installation media are provided for PC, Raspberry Pi, MNT
Reform, and QEMU. For PC, burn an .iso file to CD, or dd it directly
to USB media. For Raspberry Pi or MNT Reform, dd an .img file
directly to sdcard.
The pi.img file can be used for Raspberry Pi 1, 2, and 3. The pi3.img
file can be used for Raspberry Pi 3 and 4.
QEMU images are provided in QCOW2 format.
http://iso.only9fans.com/release/9front-10522.386.iso.gz.torrent
http://iso.only9fans.com/release/9front-10522.amd64.iso.gz.torrent
http://iso.only9fans.com/release/9front-10522.amd64.qcow2.gz.torrent
http://iso.only9fans.com/release/9front-10522.arm64.qcow2.gz.torrent
http://iso.only9fans.com/release/9front-10522.pi.img.gz.torrent
http://iso.only9fans.com/release/9front-10522.pi3.img.gz.torrent
http://iso.only9fans.com/release/9front-10522.reform.img.gz.torrent
; sha1sum -2 256 9front-10522*gz
1c9ffaa779e6d239ab7be6facea00e338e63cd8a7ca101b0c76952d650565705 9front-10522.386.iso.gz
89f1e35bf735bfc9aeca38286a9a6607f3a40292befa4a30133157790f2edbcc 9front-10522.amd64.iso.gz
54550d09d83aa8223c043ab1e95d3f6d08b781c089ac0d684848c69a4e03e347 9front-10522.amd64.qcow2.gz
a6040e87a9738b44af9394c076384cf65f10e3e7a9198bfc775deaa2e81c5c27 9front-10522.arm64.qcow2.gz
d16439ae8d354a64f09b6656ad4454469da281415d4a1840623573c473821fcf 9front-10522.pi.img.gz
c3d971c51101febd71fb6f0df95619ea2dbf6e2079f569d5544f12f0ceb5c3b4 9front-10522.pi3.img.gz
7191a76660367ae71c347a494db99afbf2d88d75c15a9763672e084d22a8f9ad 9front-10522.reform.img.gz
MIRRORS
https://9front.org/iso/
https://iso.only9fans.com/release/
GIT REPOSITORY
http://git.9front.org/plan9front/plan9front/HEAD/info.html
DASH 1 MANUAL
http://fqa.9front.org/dash1.donotinstall.pdf
dash 1 manual: http://9front.org/propaganda/books
SONGS
by cinap
by sl
THANKS
cover photo by sigrid
do not install logo by prahou
KERNEL AND DRIVERS
arm64/qemu: add xhci usb
arm64/qemu: detect VM configuration
audioac97: add 0x27de did
bcm64: fix build caused by added bootargs file in arm64/
devether: handle bypass case for dmat
devether: make dmatproxy part of devether
devether: use qfull() instead of qwindow()
devip: fix isula()
devip: handle interface spec correctly for writes to /net/iproute
devip: no more wandering routes
devmnt: handle too short or negative message sizes
devpipe: use 256k pipeqsize as default, make sure its a multiple of the i/o unit
devsdp: fix randomization of dial and acceptid
devuart: dont allow ridiculous queue sizes
devuart: should use rts() control only when hw flow control is enabled (modem flag)
ether4330: dmat support
ether4330: ignore join request while bypassed
ether4330: set link status, omit “status:” line from ifstats for aux/wpa when bypassed
ether7688: fix compiler warnings
ether8169: fix rx/tx on more recent realtek models (thanks uramekus)
etherseeq: defer enabling controller until attach(), provide shutdown() function
ethervirtio: make multicast work (thanks Arne)
igmp: maintain timeout per group per interface
imx8, arm64: fix tbdf argumnt position for intrdisable() (thanks cosa)
imx8/sai: run off ref 25MHz clock – no need to turn audio PLL on
imx8: the mpid should not contain other bits from MPIDR_EL1, only the AFF bits
kernel: Fix qio flow control
kernel: Use _Noreturn for gotolabel(), error(), nexterror() and panic()
kernel: add extra “New” process state to catch invalid state transitions
kernel: add pc field in QLock for debugging
kernel: bring back cooperating scheduling
kernel: delcare nalemenerror() and faulterror() as _Noreturn
kernel: do nlocks && delayshed check only for Running state
kernel: don’t sched() for clock interrupt when up->state !=Running
kernel: dont zero up->nerrlab in syscall()
kernel: fix EDF scheduler double ready() and more robust double-ready detection
kernel: fix addbroken() race
kernel: fix the semacquire stack corruption on interrupt
kernel: fix typo in sema assert=vs==(thanks moody)
kernel: handle errors in semacquire
kernel: make sure process is in Queueing state in qunlock()
kernel: make trap() handlers consistent and check for stack overflow in kenter() for all archs
kernel: never do sched() in unlock() when not in “Running” state.
kernel: print warning in rlock() and wlock() when we hold spinlocks
kernel: remove some debugging cruft from taslock.c
kernel: remove unused Proc.lockwait Lock pointer
kernel: remove unused variables from arm trap() handler
kernel: zero Proc.lastlock and Proc.lastilock in newproc()
kernel: zero up->ureg on sysexec() and pexit()
mt7688/uart: fix compiler warnings, fixed interrupts
mt7688: add devarch and i2c
nusb/audio: fix division by zero error
nusb/audio: great new features
nusb/audio: name audio device as audioUxxxx/volumeUxxxx (thanks arne)
nusb/audio: pick a different rate if 44.1kHz is not available
nusb/ether: implement link status for a88179
nusb/kb: increase uchar rep from 512 to 1024, makes thinkpad x280 usb touchscreen work
nusb/ptp: transaction IDs are sequences of numbers starting with 0 (thanks unobe)
nusb/usbd: fix typos
nusbrc: ignore ITE RGB LED Controller
pc, pc64: fix rlock: nlocks 1 print from vga
pc, pc64: simplify error handling setscreensize()
pc64: no need to CLI in noteret() and forkret()
pc64: set accessed and dirty bits in PTE to avoid write-back
pc64: use chain of IDIVQ for delayloop() (former aamloop())
pc: fix link order, libc.a after libsec.a (for rand())
pc: use JMPF instead of indirect jump for going to syscall()
qio: fix deadlock with qdiscard()
qio: fix queue bloat blocking condition for qwrite()
qlock: keep the caller pc in the qlock for debugging
rudp: better newgen() function, avoiding the lock
rudp: fix start generation randomization and cleanup
sdide: add pci id for SiS 964 IDE controller (thanks mrunix00)
sgi: fix botched conversion to stacks below Proc.
sgi: make newport graphics work in MAME
tcp: fix limbo entry leaks from hell
tcp: remove “MaxSegment” MIB stat, add InLimbo stat
usbxhci: fix high/super speed iso transfers
zynq: fix missing return argument for intr()
zynq: fix unused argument warning in procrestore()
COMPILERS AND LINKERS
6?, 8?, libc: add JMPF instruction
6[acl], libmach: add 3-byte opcode encoding support for SSE[34] along with some instructions
6c: fix botched “embedded struct conversion codegen”-fix
7c: fix storeprop() sign extension bug
7l: dont dump constant-pool in the middle of switch/case jump table
7l: fix constant pool size for imm14 displacement for TBZ/TBNZ
?c: allow registerizing .ret (thanks rodri)
?c: fix nodret check
cc: don’t rearrange constant scaling across unsigned casts
qc: fix crash, nodet not nused/initialized
LIBRARIES
libc, libthread, ape: mark exit functions as _Noreturn and clean up new warnings
libc: add _callmain to share more initialization code
libc: correct dst transition times
libc: deduplicate fake cycles() imeplementation to port/
libc: remove dead code from main9p.s
libgeometry: add barycentric interpolation routines
libgeometry: add matrix minor and cofactor functions
libgeometry: fix typo from previous commit
libmach: add DPPD decoding for amd64
libmach: add HSUBPD decoding for amd64
libmach: add TBZ and TBNZ instructions for arm64
libndb: do some extra robustness checks around hash files
libpcm: audio/pcmconv-as-a-library
libpcm: fix pcmratio – forgot to adjust for output frame size
libtags/m4a: “gnre” is non-standard id3v1 style (non-text) – check before reading the value
libtags/wav: don’t stop on data (tags may follow after); don’t stop after 8 sections either
libtags/wav: process unknown tags as well
libtags/wav: respect buffer size when reading tag value
libtags: add Tcomposer and Tcomment
libtags: correct 437 codepage
libtags: fix multiple issues found by fuzzing
libtags: separate “album artist” key
libtags: sync with upstream
PROGRAMS
*: make Rerror for non existent files consistent
9boot: use BIOS tick counter instead of INT 0x15 WAIT
9fs: add iso case for nightly iso box
9fs: case 9front: move extra to plan9.stanleylieber.com
9nfs: fix rfork() race with shared pid variable
?i: correct memory access
Mail: add ‘Mark +s’ to default tag
Mail: show cc list in message view
ape: bring in entrypoint changes from libc and fix profiling across the board
audio/flac: remove unused var; add a missing newline
audio/mixfs: allow switching between audio devices (/dev/audio*)
audio/mixfs: convert pcm for devices that are not 44.1kHz
audio/mixfs: fix volume proxying; ignore audioctl and audiostat – not device names
audio/mixfs: resample based on audio dev output format, not just the rate
audio/mkplist: fix wrong pointer being dereferenced
audio/pcmconv: use libpcm
audio/readtags: print Tunknown tags
aux/wpa: continue trying to connect when forked
awk: fix out of bounds write with large fields (thanks kristo)
bootrc: make sure essid and wpapsk are used literally
cifs: fix rfork() race with shard pid variable
cifsd: clarify SMBv1 is supported, not SMB 2/3.
date: remove reference to dead -m flag (thanks Thim Cederlund)
disk/qcow2: fix crash with misaligned sectors
disk/smart: fix a warning
ethermultilink: ignore link-status of primary
ext4srv: add append-only and temp files support
ext4srv: clean up and fix a couple bugs
ext4srv: correct the “not found” walk error
ext4srv: dir/index: disable htree csum checks for now (lwext4 broken); fix a few bugs
ext4srv: disallow fwrite/ftruncate on files not open for writing
ext4srv: ext4_crc32c: use u32int macro
ext4srv: ext4_recover: fix a deadlock on filesystems without a journal
ext4srv: faster crc32c
ext4srv: fix ..-walk from a dir under root
ext4srv: fix a missed size decrement; fix 32-bit int crc32 on big endian
ext4srv: fix dir/idx case when creating new dirs; update mtime on writes; close dirs after create
ext4srv: fix ext4_bmap_bit_find_clr returning the wrong bit index
ext4srv: fix meta csum producing garbage
ext4srv: fix/simplify ext4_bmap_bits_free
ext4srv: generate a uuid when doing mkfs; don’t journal ext2
ext4srv: reduce the number of options, align more with existing filesystems
ext4srv: remove mbr scanning and writing
ext4srv: replace ext2srv with ext4srv
ext4srv: revisit “fix meta csum producing garbage” in a better way
ext4srv: support ORCLOSE
ext4srv: update inode change time on wstat
ext4srv: walk: set QTTMP
fshalt: halt ext4srv as well
g: search .S files
g: search in files with .txt suffix
games/gba: add rtc GPIO implementation
git/branch: don’t add dirs to removed file list
git/fs: don’t unload large objects when inserting into cache
git/get: move ERR handling into protocol code
git/log: ensure we’re starting to log from a commit hash
git/ref.c: check if object is a commit when needed
git/serve: provide better errors
git/walk: skip all paths with ‘.git/’ when creating the index
git: utilize time zone info when present and ignore it when it’s not
imap4d: be consistant with rest of system in log file name
ip/cifsd: dont add pointless logging (already logged when debug is active)
ip/dhcpd: don’t override local address for gateway case
ip/ipconfig: don’t add default route for ULA prefix
ip/ppp: fix race condition with rfork()
ip/ppp: increase echo timeout to 5 periods (25 seconds)
ip/ppp: lower echo timeout to 2 periods (10 seconds)
ip/ppp: remove -> del
ip/torrent: allow seeding files from read-only contexts.
ip/torrent: fix webseed when there is only one defined in the torrent file
ip/torrent: only register note handler in one proc
ktrace: _intrr -> noteret (pc64)
ktrans: correct Korean input (thanks npmania!)
ktrans: graphical upgrade and feedback
merge3: make identical changes merge cleanly
mk: Various improvements
ndb/dns: DoT support
ndb/dns: fix dnsservers() function
ndb/dns: give each DoT server Maxtcpdialtm + 500ms to complete request
ndb/dns: log appropriate message when thumbfile is missing, make tcpfree static, timeout constants
ndb/dns: set procname() for tls server
ndb/dnsdebug: fix dnsserver override (thanks moody)
ndb/mkhash: handle database=reordering, check offset overflow, remove file
rc: handle Xeflag in exitnext()
rio: fix memory leak with closed kbdtap (thanks aap)
snoopy: add igmp protocol
snoopy: teach gre about ethernet and ip6 payloads (thanks arne meyer)
stats: use a high water mark for maximum on graphs
tapefs/^(v6fs 32vfs): fix read errors (thanks Lyssa)
tapefs: fix two warnings
telco: fix rfork() race for pid
vdiff: a visual diff viewer
vdiff: add ability to collapse file diffs
vdiff: add support for stripping path elements when plumbing
vdiff: correctly strip more than one prefix
vncs: bind devswap also for memory(1), this used to be in devcons
vncv: implement autoscaling via -a flag (thanks unobe)
zuke: add “composer” tag support (column hidden by default)
DOCUMENTATION
/sys/doc/nssec.ms: fix references section header
acmed(8): fix typos
audio(1): add a missing comma
audio(1): mention mixfs resampling audio
cal(1): indicate which reformation date is used
cal(1): remove redundant statement
diff(1): docuemnt merge3
diff(1): include merge3 name in diff manpage
ext4srv(4): fshalt works with ext4srv now, update; add SOURCE section
filter(1): small typesetting error
git(1): conform NAME to indexing assumptions
keyboard(6): use>> instead of> for caps example (thanks moody)
ndb(8): document thumbprint file for DoT
nusb(4): document usbhubctl command format for PPPS
nusb(4): fix Audio section
nusb(4): fix audio(3) reference
plan9.ini(8): document $sysname override
rio(1), rio(4): wctl /srv pipe is dead, mention ‘none’ attach (thanks unobe)
usbtree(8): document usbtree
OTHER
/lib/ndb/common: add tcp=dot port=853 entry
/lib/terry: speak no ill of the dead
/lib/theo: there is another possibility is everyone is out to get you.
/sys/lib/acid/kernel: fix proctab()
/sys/lib/dist/ndb/common: remove old random auth domains
/sys/lib/dist/ndb: update root servers and add script to keep them updated
/sys/lib/kbmap/caps: Add caps kbmap
/sys/src: remove testfiles on mk clean
inst: remove net install support
>>> Read full article>>>
Copyright for syndicated content belongs to the linked Source : Hacker News – http://9front.org/releases/2024/04/28/0/