9FRONT “PLAN9-HATERS” RELEASED
DOWNLOAD
Multiple installation media are provided for PC and Raspberry Pi. For PC, burn an .iso file to CD, or dd it directly to USB media. For Raspberry Pi, 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.
http://9front.org/iso/9front-7781.38dcaeaa222c.386.iso.gz
http://9front.org/iso/9front-7781.38dcaeaa222c.386.iso.gz.torrent
http://9front.org/iso/9front-7781.38dcaeaa222c.amd64.iso.gz
http://9front.org/iso/9front-7781.38dcaeaa222c.amd64.iso.gz.torrent
http://9front.org/iso/9front-7781.38dcaeaa222c.pi.img.gz
http://9front.org/iso/9front-7781.38dcaeaa222c.pi.img.gz.torrent
http://9front.org/iso/9front-7781.38dcaeaa222c.pi3.img.gz
http://9front.org/iso/9front-7781.38dcaeaa222c.pi3.img.gz.torrent
cpu% sha1sum 9front-7781*.gz
3c20a32558536f751673215d7f543f8e9b1946ed 9front-7781.38dcaeaa222c.386.iso.gz
e58a3f7d67e3937593ae0bf8b8c0dc7ed47c7535 9front-7781.38dcaeaa222c.amd64.iso.gz
038a7c343dcbe687b4aec4e7ad84daea9f304b8d 9front-7781.38dcaeaa222c.pi.img.gz
eed089e5be64a34e668cc4cd376b7c96524d035a 9front-7781.38dcaeaa222c.pi3.img.gz
MIRRORS
http://felloff.net/usr/cinap_lenrek/9front.torrent
MERCURIAL REPOSITORY
https://code.9front.org/hg/plan9front
DASH 1 MANUAL
http://fqa.9front.org/dash1.plan9haters.pdf
dash 1 and man pages in print: http://9front.org/propaganda/books
THANKS
qwx
NEW
*.386.iso 386 pc (more drivers)
*.amd64.iso amd64 pc (less drivers)
*.pi.img arm paspberry pi 1, 2 and 3
*.pi3.img arm64 raspberry pi 3 and 4
KERNEL AND DRIVERS
9bootpxe: continues the war against random DHCPv6 DUIDs
audiohda: add pci vid/did for AMD Raven HD Audio Controller (T495)
aux/acpi, aux/apm: remove nopipe -i flag
bcm: change ARGB32 to XRGB32 for framebuffer to avoid slow drawing
bcm: fix software cursor avoidance for loadimage() case (thanks bitmapper)
bcm: use extended small pages so XN bit can work
bcm, bcm64: dancing to the drum of the linux clowns for device tree memory size detection (thanks kenji)
bcm64: fix kernels cmpswap() function
bootrc: fix wrong redirections after &
bootrc: suppress error from grep if ethernet ifstats file is not found
bootrc: fix comment typo (thanks Robert Ransom)
bootrc: for wireless netbooting, set the WPA/WPA2 preshard key with wpapsk=password boot parameter
cycv: a cyclone v kernel: fpga support, fix CONFADDR NEW
cycv: add cycv kernel
cycv: support for registers
devcons: fix permissions for reboot and sysstat
devcons: fix write length of writebintime() (thanks BurnZeZ)
devdraw: fix topnwindows() panic when images are not windows (thanks aiju)
devip: fix ifc recursive rlock() deadlock
devip: fix packet loss when interface is wlocked
devip: use the routing table for local source ip address selection
devproc: cleanup procwrite size checks
devproc: don’t allow /proc/$pid/ctl to be opens for reading
devproc: fix syscalltrace read for ratrace
devproc: make sure writewatchpt() doesnt overflow the watchpoint array
devproc: return process id when reading /proc/n/ctl file
devshr: unmount service on #σc/share/mount removal
devswap: dont assume Proc* structures returned from proctab() are continuous
ether8003: use physical addresses for ISAConfig ether->mem
ether82543gc, ether82557, ethervirtio: do kproc() call ouside of spinlock
ether82563: fix multicast for i210
ether8390: remove unused variables
ethercycv: add cycv ethernet driver
ethercycv: dont spin on MDIO
kernel: add missing FPillegal definition for kw and omap kernels
kernel: add portable memory map code (port/memmap.c)
kernel: avoid selecting the boot process in killbig()
kernel: avoid useless mmu flushes, implement better wait condition for procflushmmu()
kernel: cleanup makefile for $CONF.$O target
kernel: cleanup the software mouse cursor mess
kernel: fix checkpages() and segflush() on SG_PHYSICAL type segments
kernel: fix multiple devproc bugs and pid reuse issues
kernel: implement portable userinit() and simplify process creation
kernel: improve diagnostics by reversing the roles of Proc.parentpid and Proc.parent
kernel: improve page reclaimation strategy and locking
kernel: make sure we wont run into the tos when copying exec() arguments
kernel: remove relics of CPU ‘load balancing’ policy in scheduler (thanks Robert Ransom)
kernel: remove scheddump() comment for delay() in */fns.h
kernel: remove unused mem2bl() prototype
kernel: remove unused macro from chan.c
kernel: simplify exec()
pc, pc64: clear debug watchpoint registers on exec and exit
pc, pc64: do page attribute table (PAT) init early in cpuidentify()
pc, pc64: fix cputemp decimal handling in amd10temprd (thanks Robert Ransom)
pc, pc64: fix wrong mtrr physmask() for machines without extended address size msr
pc, pc64: ignore the 64-bit bar flag when reserving membar
pc, pc64: add new memory map code
pc, pc64: remove “got unassigned irq” prints
pc, pc64: use softscreen double buffering for *bootscreen= framebuffer
pc: fix ldt memory leak in procsetup()
pc: fix mp boot regression due mistake in mkfile
pc: replace duplicated and broken mmu flush code in vunmap()
pc: zero rampage() memory (thanks LordCreepity)
pc64: adapt vgaradeon driver to 64-bit (thanks Robert Ransom)
pc64: enable uartpci (thanks taw9 for testing)
pc64: remove rampage() nil check
ppc: remove old duplicate of devtls.c
mtx, ppc: use proctab() to index into process table
sd53c8xx: fix the driver for amd64, fix alignment/padding issues, fix freechain handling
sdiahci, sdodin: avoid calling kproc() while holding ilock()
sdiahci: force Hudson SATA Controller to AHCI mode
sdiahci: implement reset timeout for ahciencreset(), make blink() never block, fix map[] access in ledkproc()
usbehci: avoid kproc() while holding poll lock
usbehci: release ctlr ilock before calling pollcheck()
usbxhci: fix wrong control endpoint 0 output device context address
vgai81x: remove unused mach0 variable
xen: fix rebootcode linkage
nusb/audio: set frequency only when supported
nusb/kb: add quirks for Elecom HUGE trackball
nusb/usbd: cleanup processes on unmount
nusb/usbd: fix /env/usbbusy bug
nusb/usbd: fix portreset error handling
COMPILERS AND DEBUGGERS
ape/cc: stop spamming arguments that are only needed once
cc, ?[acl]: fix gethunk() and move common memory allocator code to cc/compat
cc, ?a, ?l: change thunk type to uintptr
cc, ?l: fix gethunk() to actually grow allocation
cc: dont export gethunk(), hunk, nhunk and thunk
cc: get rid of hunk pointer fiddling and just use alloc()
cc: get rid of sprint() and temporary buffer for type conversion fuction
cc: remove mysbrk(), exponentially increase gethunk() allocation delta
cc: simplify macexpand() and off-by-one error
cc: fix ccom idempotency
cc: fix special case for null pointer constants in cond expressions
cpp: Improve the posix preprocessor.
cpp: Make priority array max size explicit.
cpp: copy all the tokens from the tokenrows with a paste.
cpp: dont overflow the stack
cpp: evaluate #if expressions using vlong
cpp: fix operator associativity
cpp: missing headers rate a FATAL.
6c: conserve registers for floating point operations
6c: remove mystery sys.c file
7l, ql: dont assume . is in the path for running mkcname (thanks sam-d)
7l: handle dupok flag in TEXT/GLOBL data
?a, ?c: fix macro debug prints
?a, cc: fix buffer overflows in built-in preprocessor (macbody)
?a: catch symb[NSYMB] buffer overflow in lexer, cleanup, assume thechar is a rune
?c: fix Bconv() misusage of strncat()
?c: get rid of sprint(), strcpy() and strcat()/strncat(), cleanup
?l: remove direct hunk manipulation from linkers, just call malloc()
[257]l: cleanup fmt routines, replace sprint()
qa: remove ALLOC() and ALLOCN() macros
vl: remove unused mysbrk() prototype
yacc: normalize error messages, stop writing to closed fd.
yacc: fix crash with absolute paths
yacc: stop fiddling with path construction.
LIBRARIES
ape: #pragma ref no longer exists
ape: Add stdbool.h to ape
ape: Fix scanf scans of more than one character in %[]
ape: add intmax_t/uintmax_t as required by c99 7.18.1.5
ape: add missing conversion flags for scanf
ape: add va_copy macro, conforming to c99 7.15.1.2
ape: bring stdint.h closer to spec
ape: fix alignment in malloc()
ape: fix name clash, have to use _SLEEP syscall instead of ape sleep in plan9 code (thanks jamos)
ape: fix scanf ‘%[]’ specifiers and ‘%n’ (thanks phil9)
ape: remove C99_SPRINTF_EXTENSION define.
ape: turn ptrdiff_t into a 64 bit type
ape: use #error when missing define
lib9p: fix re-use of root Qid when using createfile(); remove unused dirqidgen
lib9p: fix typo
lib9p: get rid of Srv.nopipe and Srv.leavefdsopen hacks
lib9p: implement automatic remove-on-close cleanup in postsharesrv(), remove postfd() and sharefd() functions
lib9p: reject reads on closed fids and writes on directories
lib9p: zero out per connection state in Srv template for listensrv()
libFLAC: 1.3.1 -> 1.3.3
libaml: implement ToDecimalString and ToHexString operations
libc: always zero initialize Tm structure for tm2sec()
libc/arm64: work around linker bug for cas()
libdraw: fix mount() error handling in newwindow()
libmemdraw: remove inexistent build targets
libsec/base58enc: null-terminate the result
libsec: move AES XTS function prototypes to AES definition section in the header file
libsec: remove hash pickle functions, document ripemd160, cleanup sechash(2) manpage
PROGRAMS
9fs: replace dead plan9.bell-labs.com with 9p.io server
“”: output previous action to stderr
acme, sam: handle >1GB files correctly
acme/Mail: show and update flags
acme/win: exit winfs once acme shuts down the window
acme/win: pass on flags to winfs (fix undocumented -e flag)
acme: Apply each -/+ only once (#156)
acme: Apply http://www.9paste.net/qrstuv/patch/acme-movetodelmesg/
acme: Reset click count on mouse motion.
acme: Restore call to movetodel() in colclose
acme: add missed error checks
acme: avoid division by zero when resizing col (#189)
acme: fix double free
acme: fix off by one in colclose(), make dellist() code consistent
acme: fix some memory leaks
acme: fix typo: mouse->xy, not w->mc.xy
acme: split win into winfs and rc script, get rid of lib9p leavefdsopen hack
acme: triple click selection
auth/disable, auth/enable, auth/status: add usage messages
aux/aout2uimage: Add a.out to uImage converter NEW
aux/getflags: improve flagfmt parser
aux/getflags: remove rogue debug print
aux/getflags: support named flags
aux/kbdfs: fix kbmapread() not accounting for reads smaller than the size of the line
aux/kbdfs: Changes to allow support for neo2 keyboard layout
aux/realemu: fix exit code
aux/realemu: run cpuproc in same fd group as fileserver
aux/timesync: open /proc/n/ctl with OWRITE, not ORDWR
awk: fix race condition with sub-mk in mkfile
awk: make empty FS unicodely-correct.
backup: Set execution bits in backup scripts
date: make ISO 8601 time output compatible to RFC3339
doctype: fix -T option
dossrv, 9660srv, hjfs: stop READING standard OUTPUT with -s flag
dossrv: fix falloc() for >31 bit sector numbers (thanks sl)
dossrv: output iotrack error message to stderr
dtracy: show line numbers in errors
file: add (very) basic support for detecting mpeg4 formats
file: try ismp4() before ismp3()
file: fix filetype detecton by suffix so that multiple dots dont confuse it. (thanks kvik)
g: walk arguments
games/playlistfs: open /proc/n/ctl OWRITE, not ORDWR
games/turtle: do exit instead of crash in redraw() when there where no lines drawn
games/linden: NEW
games/turtle: NEW
games/v8e: NEW
grep: error if sbrk fails
grep: fix handling of -b flag
hgfs: fix loadrevinfo() breakage on long lines using libbio (thanks deuterion)
hgfs: fix loadrevinfo() for empty log bug
hoc: don’t nest calls to follow() when lexing ++/+= and –/-= (#287)
ip/cifsd: implement SMB_SET_FILE_UNIX_BASIC for wstat
ip/cifsd: implement primitive per-share unix id mapping for wstat()
ip/dhcp6d: work around non-ethernet based client duid
ip/dhcpd: prevent client from increasing max reply size beyond the reply buffer capacity
ip/ipconfig: ignore default routes targeting ourselfs
ip/ipconfig: keep on sending router solicitation after initial RA
ip/ipconfig: resolve ipgw to an ip address as neccesary (thanks k0ga)
ip/tinc: accept udp connection from any udp source port
mothra: add Plumb menu item, and update man page. sl’s original changes sanity-checked by Ori_B.
mothra: (facelift) flat ui is in.
mothra: fix a few errors in previous patch
mothra: make user interface monochrome
mothra: remove extraneous lines and decoration (fake 3d). patch extracted from sl’s forked mess by Ori_B.
mothra: restore original fonts. dejavusans was sl’s change, sl’s fault. it never looked right outside of drawterm on osx (mea culpa). this is easy to change for anyone who prefers something else, but it’s difficult to imagine native users preferring our very fuzzy dejavusans to anything else.
ndb/dns: handle empty $DNSSERVER
paint: change colors in the palette with button 3
ramfs: don’t use Srv.nopipe
rc-httpd: append carriage return to content-length header
rc: fix code serialization for PIPEFD (thanks BurnZeZ)
rc: fix heredoc crash
rio, kbdfs: increase read buffer for high latency kbdfs support
rio: fix bug causing short reads of wctl files
rio: fix goodrect() bug (thanks mike)
rio: pad window status strings in wctl files
rio: triple click selection, reset click count on mouse motion.
sam: ^ does not need current file
sam: add $%dot (thanks kvik)
sam: Bump protocol version for Ttclick
sam: triple click selection
samterm: don’t scroll invisible (command) window (thanks umbraticus)
samterm: Make ctrl+g focus text windows and cycle zeroxed copies (thanks kvik)
samterm: fix typos in time calculation
seconds: hack around timezone issues.
sed: accept and ignore -E and -r flags for unix compatibility
sed: allow whitespace after ! negation (thanks k0ga)
sshfs: fix dir2attrib() memory leak in wstat error case (thanks BurnZeZ)
sshfs: fix race condition between sendproc() and recvproc()
sshnet: fix fork race conditions
tar: Add pax extended header support
tar: fix memory corruption in extract1 (thanks petter)
tar: Fix directory heuristic for long file names.
tar: Parse global pax header in the right place.
upas/fs: Fetch IMAP flags from server. This makes us sync read/answered/… flags with unix.
upas/fs: fix handling of numeric timezone offsets in strtotm
upas/fs: fix sending of “delete” plumb messages
upas/fs: imap fixes and improvements
upas/fs: only ensurecache() on doplumb().
upas/fs: plumb flag changes.
upas/fs: plumb modify messages for self-changed flags
upas/fs: remove useless loop in rf822()
upas/fs: Check if ’m' is null when updating messages.
upas/fs: fix ref882 reference parsing.
upas/fs: fix typo: we don’t have cache insurance.
upas/fs: simplify flag parsing.
upas/marshal: fix printinreplyto function
vt: triple-click to select non-whitespace segment
walk: add D and T fmt characters (fileserver device/type)
walk: remove superfluous newline
Mail: Remove reply print.
Mail: delete obsolete comments (replies are flagged elsewhere)
Mail: show urls in html messages.
DOCUMENTATION
acme(1): fix scrolling when swiping text at the top or bottom of a frame
atari(1), nintendo(1), sega(1): document common emulator keys
crop(1): remove duplicate -b option in synopsis
listen(1): implement one-shot mode flag for listen1 (thanks kivik)
mail(1): fix typo
mothra(1): add description of Plumb menu item.
os(1): add c implementation of inferno os command and cmd(3) device manpages
page(1): fix troff manual example
sam(1): document $% and $%dot
seconds(1): add SOURCE section
tar(1): document ’T' flag misbehavior (thanks rgl)
vac(1): assimilate manpage additions from plan9port and complete usage lines (thanks joe9)
walk(1): formatting/corrections
dial(2): we prefer nil over 0, make the example show it.
draw(2): fix manpage typo (thanks rgl)
flate(2): fix typos (thanks rgl)
9p(2): document all the effective rfork flags for postmountsrv()
9p(2): document the filedescriptor sharing behaviour of postmountsrv()
9p(2): fix sentence for wstat function (thanks jsmoody)
notify(2): fix typo
thread(2): fix description of when/why procexec(l) functions return
thread(2): fix manpage typos (thanks rgl)
cmd(3): fix typo, Close -> Closed (thanks kivik)
draw(3): typo dp
ip(3): document special null-address hack for accepting all incoming connections
ip(3): remove outdated maximum ipstack number limit.
kbd(3): fix a typo (thanks Alex Musolino)
rio(4): fix bad cross-reference format
rio(4): update description of wctl file format
upasfs(4): fix manpage typo (thanks rgl)
image(6): fix typo
9boot(8): Document 9bootfat limitation.
boot(8): Specifiy the restrictions on 9boot file names more clearly.
console(8): add console command and manpage
man(9): add start of section 9 manpages (thanks rgl) NEW
delay(9): improve language
kproc(9) and sleep(9) corrections
sleep(9): recover comment with the right reference
OTHER
/lib/face: add .dict entries for andrew.1 face files
/sys/lib/kbmap: update 0xf860 to Kshift value, fix fake shifts on esc1
/sys/lib/kbmap/colemak: add colemak keymap (thanks Silas McCroskey)
/sys/lib/kbmap/sg: add swiss german kbmap (thanks mike)
/sys/lib/plumb/basic: open nedmail windows with -noscroll
/sys/lib/plumb/basic: include section 9 in manpage plumb rules.
fortunes: As much as I’d love to I feel I have to let it go – rminnich
hgignore: ignore section 9 manpage indices, ignore init, kernels and bootloader binaries
riostart: when system uses serial console, provide a system shell on it
timezones: change DST timezone string for South Australia
tmac.eai: wrapper around -me: auto indexing sections, .TC macro (thanks sirjofri)
troff: add missing /sys/lib/tmac/me files (thanks sirjofri)
words: transgender
To post a comment you need to login first.