NOTABLE CHANGES
In this release:
git hash: 73aa3bb97cdc1d8dca1b640f31c2840d7bd512f4
gefs now got a scheduler for configuring snapshots
new Intel i225 2.5 GbE driver
most kernels now support FPU/SIMD instructions in note handlers (not done yet: mips and some older 32-bit arm socs).
kernel now provides monotonic nanosecond time in /dev/*time
cpu temperature support for AMD Ryzen
libbio got a new Bstropen() function
MII debug driver
compiler now supports “case MIN … MAX:” syntax
AWK now supports %q rc-quote format
vdiff supports multiple diffs now
Ip stack now maintains mtime for connection directories, and new netstat allows sorting connections by the creation time.
libc: new interface for unicode 16.0 normalization
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-11091.386.iso.gz.torrent
http://iso.only9fans.com/release/9front-11091.amd64.iso.gz.torrent
http://iso.only9fans.com/release/9front-11091.amd64.qcow2.gz.torrent
http://iso.only9fans.com/release/9front-11091.arm64.qcow2.gz.torrent
http://iso.only9fans.com/releases/9front-11091.honeycomb.img.gz.torrent
http://iso.only9fans.com/release/9front-11091.pi.img.gz.torrent
http://iso.only9fans.com/release/9front-11091.pi3.img.gz.torrent
http://iso.only9fans.com/release/9front-11091.reform.img.gz.torrent
; sha1sum -2 256 9front-* e63921132052ff5d2c0bb507d2221f024bc70bbc351299841bcd8c3b722f58cf 9front-11091.386.iso.gz d0f117213127047f1106307ad115471a543adc23d329708c61af22a7028f437b 9front-11091.386.iso.gz.torrent 6593b6bbccad3619696f7f47c4da6ee90c6698f60f792a46a3dd8bbc621ce07c 9front-11091.amd64.iso.gz 2d448054d40ce4950be7e510793ab72899bbc59d802310f65a9a4d00c4438722 9front-11091.amd64.iso.gz.torrent 6df807ae30f004b8aa7d1ec803ba6d232b38f0eab24b77f635cc408e9c014911 9front-11091.amd64.qcow2.gz d6785bf72590da5f48e85311171ed005bcbd289374b5bef4e21a378462dd5534 9front-11091.amd64.qcow2.gz.torrent 852c52f5690a0d98423f214d8629614e629bcd46b680f232e3af3338cd7be88c 9front-11091.arm64.qcow2.gz 2ed9a16db9358bd23889a66998a71c168556a181176f0ffd912d7fb72e2e2e6d 9front-11091.arm64.qcow2.gz.torrent 9ef5ff21ef846c600e24b38cac0d68e2caa426818699260e5952b6187982ecf7 9front-11091.honeycomb.img.gz 73972a398cae7fe1d850943a230ed9cde7536560e53ef9b0c01a6097193e1339 9front-11091.honeycomb.img.gz.torrent 349ff5be514d50a6599a57f482f9b94eaa32a29c17e037587172be8f81182508 9front-11091.pi.img.gz b631bd16938a144e0cd96ea493cd148778c271acbcec5118ba3371656222f246 9front-11091.pi.img.gz.torrent b2f27a39ac7180308e3cbdb3f30dbe2e39303bee4e0253552982eefb122c6b14 9front-11091.pi3.img.gz 695b6d425f2a2e2ec58eb20fc7294e53101864d3e4ac0b2653546fa522bfb893 9front-11091.pi3.img.gz.torrent 5ed3615cd942ae4a21c9aacf2defdf10a87f27f9148b213f112592dd29231277 9front-11091.reform.img.gz 4ad9813c0045942d03ca68a53ffab61ad9ed9b992b86652dbb79995809fe0564 9front-11091.reform.img.gz.torrentMIRRORS
https://iso.only9fans.com/release/
GIT REPOSITORY
http://git.9front.org/plan9front/plan9front/HEAD/info.html
DASH 1 MANUAL
http://fqa.9front.org/dash1.clause15.pdf
dash 1 manual: http://9front.org/propaganda/books
SONGS
by sl
http://9front.org/mp3/warszawa.mp3
http://9front.org/mp3/myths_of_dialogue.mp3
THANKS
front cover illustration by prahou, collage by sl
KERNEL AND DRIVERS
devip: don’t add default broadcast addresses for ipv4 (thanks cgnarne)
devip: track connection initialization time as mtime
ether8169: initialize stats counter to prevent scribbling over memory
ether8169: remove redundant tx enable
etherbcm: fix for BCM57781 (thanks yasinbread)
etheri225: add clause 45 phy auto-negotiation
etheri225: add ethernet driver for intel i225 and i226 devices
etheri225: use block pool (thanks cinap)
etheriwl: don’t include license in the bootfs
etheriwl: ensure all firmware is installed in the bootfs
ethermii: add support for up to 10g clause 45 phys
kernel/arm64: fix procsetup() TPIDR_EL0 potentially not getting reset to 0 on exec
kernel: add experimental devmii phy debug driver
kernel: add monotonic time to /dev/time, /dev/bintime (thanks rsc)
kernel: allow use of fpu in note handlers
kernel: cleanup noted(), make it more consistent
kernel: deduplicate the mess that is the 32-bit arm ports
kernel: explicitely pass MiiPhy* to ethermii operations
kernel: fix noted() checks for all archs
kernel: fix taslocks: Edf times are in µs(), not nanoseconds. d'oh.
kernel: fix unused warning (some leftover from last monotime commit)
kernel: refactor syscall and note handling
kernel: remove rwstats, cleanup checks, don’t print in qunlock() while holding QLock.use.
kernel: restore kernel fpu state on fault*() error
nusb/lib: get rid of hexstr(), just use %H encodefmt.
nusb: don’t put newline in sysfatal() or werrstr()
nusbrc: fix Prolific detection
pc64: fix noted(NSAVE) check
pc: add cputemp for Ryzen (family 17h)
pc: more cputemp support for AMD and cleanup
reform: retry reading edid a bunch of times
COMPILERS, LINKERS, DEBUGGERS
cc: add case ranges extension
cc: don’t crash on empty args for USED()/SET()
yacc: allow unicode in identifiers
LIBRARIES
libbio: add Bstropen
libc/idn: clean up reliance on questionable corners of seprint behavior
libc/qlock: don’t allow unlocking unlocked lock
libc/test/date: fail() takes newline, while sysfatal() does not.
libc: fix ALL tzload() bugs
libc: mkrunetype, dont put newline in sysfatal()
libc: runecomp: unicode 16.0 and rewrite
libc: runecomp: update and clean generated files
libdisk: dont put newline in werrstr().
libgeometry: 40% more efficient versions of (det|adj|inv)m3
libgeometry: unroll s?mulm3? for an up to 2-4x speedup
libgeometry: use compound literals instead of constructors
libmemdraw: initialize min in allocmemsubfont (thanks noam)
libsec: add recursion limit for x509 structures
libsec: don’t access past the end of a string when dumping a cert
libsec: never return nil from octet_decode
PROGRAMS
acme: include delimiter-pair when extending selection
audio/mixfs: set and forward a more sensible audio delay amount
auth/factotum: fix out of crash with one byte messages
aux/aout2uimage: add a flag to override ostype (lie about not being plan9)
aux/olefs: don’t put newline in werrstr()
aux/realemu: don’t put newline in sysfatal()
aux/vga: don’t put newline in werrstr()
awk: fix srand not returning previous seed
awk: remove dead declerations
awk: support %q in s*printf()
bzfs: don’t put newline in sysfatal()
cifs: don’t put newline in sysfatal() or werrstr()
cifs: don’t put newline in werrstr() for sequence number mismatch error
cwfs: check qid.path in Tfile tag for fs_read and truncate
dossrv: convert timestamps on disk to utc correctly
flambe: fix non-interruptible temporary warning.
games/eui: fix /dev/kbd message parsing
games/galaxy: don’t put newline in sysfatal()
games/gba: don’t put newline in sysfatal()
games/mus: don’t put newline in sysfatal()
gefs: allow custom snapshot schedules
gefs: allow large snapshot names in gefs
gefs: cleanly reject too many connections
gefs: don’t put newline in sysfatal()
gefs: optimize hash function
gefs: remove dead code
gefs: stop wasting a byte for each deletion message
git/import: add support for concatenated patches
git/pull: more reference name validation (thanks falsifian)
git/pull: show update message only when not quiet, and only after updates
git/pull: validate and prevent rc from checking reference names (thanks falsifian)
git/rebase: use correct flag to delete branch (thanks humm)
git/save: sort unicode file paths correctly
git/send: set errstr when reporting status
git/serve: accept the same ref formats as git/get
git/serve: put repo name in failure message (thanks humm)
hgfs: don’t put newline in sysfatal()
htmlroff: remove legacy html unicode encoding
io: Add -f option to pass a I/O file (such as /dev/pci/*raw)
ip/pppoe: get rid of horrible hexdump() function
ip/sol: don’t put newline in sysfatal()
jpg: don’t put newline in sysfatal() or werrstr()
ndb/cs: check for negative or truncated read offset
ndb/cs: quote attribute value for csgetvalue() and csipinfo()
ndb/dns: check for truncated read offset
netstat: rewrite in awk
plot: don’t put newline in sysfatal()
prof: fix non-interruptible temporary warning.
rc: count split line numbers correctly
rc: ignore sigwinch trap when theres no handler
resize: don’t use sysfatal() for usage print.
rio: include delimiter-pair when extending selection
sam, rio, acme: fix selection stretching past text available
sam: fix incorrect exit status from shell subproc
sam: include delimiter-pair when extending selection
tar: don’t put newline in sysfatal()
upas/Mail: clean up child counting, fix off by one.
upas/smtpd: Pass certificate chain to tlsServer() (thanks sirjofri)
upas: don’t put newline in sysfatal()
vdiff: add button 2 menu
vdiff: fix scrolling and clean up
vdiff: fix scrolling and image allocation failures with large diffs
vmx: nanosec: replace the loop with a few div, mod and mul ops
vnc: remove hexdump() function
webfs: fix crash in unquote function
xenstore: don’t use sysfatal() for usage print.
zynq/jtagload: don’t put newline in sysfatal()
DOCUMENTATION
/sys/doc/sam: remove more unused files
/sys/doc/sam: tut is not a trout (thanks llamaa)
/sys/doc: mk html fix and clean the output
/sys/lib/man/checkman: don’t hardcode cputype and library list, blacklist libsunrpc (thanks dave woodman)
9boot(8): document 8+3 file-name limitation for 9bootfat
acid(1), db(1), proc(3): mention snap(4)
delkey(1): remove remark about probing different factotum files, its always /mnt/factotum/ctl (thanks qwx)
dpic(1): fix skybox example not in flat section
draw(2): fix little typo
factotum(4): reference delkey and ipso in SEE ALSO
gefs(8): clarify and fix description of snapshot commands
gefs(8): fix typos (thanks umbraticus)
git(1): follow conventions more closely
mii(3): Add documentation for devmii
netstat(1): fix troff fat finger (thanks cgnarne)
netstat(1): reference awk rewrite for SOURCE (thanks Alexander)
qsort(2): sync with function declaration
OTHER
/lib/1oct1993/: update for 4th print edition of the book
/lib/glass: normalize to NFC according to Unicode 16.0
add URW Garamond No. 8 font to ghostscript, postscript, and troff.
cpp: test: fix hardcoded 6.out ([email protected])
distproto: correct /lib/^(ucd ktrans) permissions
g: add .sl (StreetLISP)
newuser, dist: sync profile script for glenda
inst/mount: allow /dev/fs/fs a file-system partition for cryptsetup (thanks cyb3rh3x_)
/sys/src/cmd/test: test.rc: avoid use of /adm/users
/sys/src/cmd/test: ramfs.rc: fix hardcoded 6.out