SlideShare une entreprise Scribd logo
1  sur  39
illumos 
State of the Community 
POSIX Update 
Garrett D’Amore 
Advanced Micro Devices, Inc.
illumos is… 
• Open Source System V (Solaris) Derived 
• Development home for DTrace and ZFS 
• Kernel + core for OmniOS, SmartOS, NexentaStor 
• Four years on its own, but really ~25 years old
Recent Developments 
• Network Virtualization 
• Virtualization (LX brand, Bhyve, etc.) 
• Persistent L2ARC 
• SMB2 / SMB3 
• Hardware drivers 
• POSIX & Compatibility
Pace 
• Good stuff happening 
• But, 
• without the frenetic churn 
• this is a good thing 
• but, 
• its also a concern
State of POSIX in Tree 
• Mostly complete support for POSIX.1-2001, SUSv3 
• Failings are in user land mostly (e.g. more, pax, etc.) 
• Minimal support for POSIX 2008 updates. Largest 
of which is locale_t (newlocale(3c)& friends) 
• Some 2008 interfaces present, but not exposed, and 
many removed interfaces exposed
Driving Real $$ 
• Standbys: Nexenta, Joyent, Delphix, OmniTI 
• New comers: RackTop, Pluribus Networks 
• “Stealthy” players: e.g. Tegile 
• Total “market” value: > $100M (perhaps >>)
Challenges & 
Opportunities
No “Formal” 
Organization
things we lack 
• Bounties 
• Governance (?!?) 
• Ownership 
• Marketing 
• Legal presence
Opportunities for non- 
Gurus 
• Write & improve documentation 
• Localization 
• Test development 
• Marketing
~150 Contributors
~0 ♀ Contributors
Where are the 
women?
Hire a Female Kernel 
Engineer. Today.
Groupthink. 
— people are sheeple
Linux 
—“easy” choice
FUD. 
(Not Elmer.)
Drift & Divergence
Lots of private forks
less is more
less(1) is more(1)
less bloat is more 
(better)
less (compatible) is more 
(compatible)
less talking is more coding
illumos-core
illumos-core vision 
• focus on code 
• standards compliant - by default 
• less is more 
• self-hosting 
• self-testing 
• cross-platform 
• illumos coding standards (RTI ready by default)
Standards 
• SunOS 4.x (and 3.x) is truly ancient (32-bit SPARC only!) 
• XPG3 - this is really, really old 
• POSIX is really, really old (1988) 
• XPG4 - is also really old 
• SUS - aka XPG4v2 - also old 
• SUSv2 - UNIX98 
• SUSv3 - POSIX.1 2001 
• SUSv4 - POSIX.1 2008 - work in progress
Ancient & Useless Stuff 
• htable, gettable - last possible use was in 1990 (DNS anyone?!) 
• Wireless USB. DOA. 
• 16-bit PCMCIA. Seriously?!? 
• SunOS 4.x a.out support 
• kssl - no TLS support 
• NCA/NL7C - Global Zone only, actually slows all other traffic down 
• LMS (AMT/HECI) - Can you say security risk/pointless?
readdir_r(3c) case study 
• Standardized by POSIX in 1995 (IEEE Std. 1003.1c-1995) 
• Earlier Draft version (Draft 6) supported in Solaris 2.6 - 11 
• By default 
• Solaris is the only common operating system to still do this
readdir_r(3c) case study 
• struct dirent *readdir_r(DIR *, struct dirent ***); 
• unless… 
• _POSIX_C_SOURCE - 0 >= 199506L or… 
• _POSIX_PTHREAD_SEMANTICS or… 
• _LP64 or… 
• _FILE_OFFSET_BITS != 32 
• in which case… 
• int readdir_r(DIR *, struct dirent *, struct dirent **); 
• note that return value semantics are different!
readdir_r(3c) resolution 
• struct dirent *readdir_r(DIR *, struct dirent ***); 
• unless… 
• _POSIX_C_SOURCE - 0 >= 199506L or… 
• _POSIX_PTHREAD_SEMANTICS or… 
• _LP64 or… 
• _FILE_OFFSET_BITS == 32 or… 
• !_SUNOS_SOURCE 
• in which case… 
• int readdir_r(DIR *, struct dirent *, struct dirent **); 
• (note that you now get POSIX compliant by DEFAULT!)
accomplishments so far 
• less(1) is more(1) 
• uname & puname 
• fexecve(2), O_TTY_INIT, O_DIRECTORY 
• removed a lot of bloat (~200KLOC) 
• suppression and updates for POSIX 2008 symbols we already had (-D_XOPEN_SOURCE=700) 
• s/awk/nawk/ 
• no more dbus or hal dependencies 
• rich self tests for POSIX (and non-POSIX) interfaces (>3000 tests) 
• 85 separate bugs/features integrated (started Aug 14, approx 2 per day) 
• vi(1) is real vi, not vim(1)
uname(2) 
• uname -s == “illumos” 
• uname -r == 0.9.x (x == months since Aug 2010) 
• puname(1) utility 
• puname -S uname -s -r == “SunOS 5.11” 
• puname -S uname -v == “alternate-uname” 
• puname -U to restore 
• implemented as new flag in process uarea
uname breakage 
• 64-bit Studio (checks for SunOS > 5.7) 
• hald - fixed (in separate git repo), breaks X 
• config.guess (auto*) - can override in configure 
command line 
• pkgdepend - (fixed?) via terminatorlib/cwd.py 
• DTrace printf test (test checks uname == SunOS)
Remaining Compliance Work for C APIs 
• System Interfaces (POSIX.1-2008) 
• memory streams 
• dprintf (universe explodes…) 
• pthreads changes 
• C11 support 
• interfaces to improve security
Shell & Utilities Work 
• pax (not star, thank you very much) 
• modernize (slightly) awk 
• lots of minor updates (mv, cp, ls, etc.) 
• replace ksh93 with dash + libedit 
• Test suite development, Standard(s) trolling
Can I Help? 
YES! YOU CAN!
• Code & Documentation reviews 
• Testing 
• Help upstreaming 
• Code contributions (pull requests!) 
• http://bitbucket.org/gdamore/illumos-gate 
• “core” branch
Thank you!!

Contenu connexe

Tendances

Jonny_Martin-Asterisk
Jonny_Martin-AsteriskJonny_Martin-Asterisk
Jonny_Martin-Asterisk
tutorialsruby
 
Git Money
Git MoneyGit Money
Git Money
Tim N
 
Aide 2014 - Fundamentals of Linux Privilege Escalation
Aide 2014 - Fundamentals of Linux Privilege EscalationAide 2014 - Fundamentals of Linux Privilege Escalation
Aide 2014 - Fundamentals of Linux Privilege Escalation
nullthreat
 

Tendances (19)

WIndows Kernel-Land exploitation
WIndows Kernel-Land exploitationWIndows Kernel-Land exploitation
WIndows Kernel-Land exploitation
 
Introduction to Linux
Introduction to LinuxIntroduction to Linux
Introduction to Linux
 
References
ReferencesReferences
References
 
Arm device tree and linux device drivers
Arm device tree and linux device driversArm device tree and linux device drivers
Arm device tree and linux device drivers
 
Upstream Allwinner ARM SoC (sunxi) Support
Upstream Allwinner ARM SoC (sunxi) SupportUpstream Allwinner ARM SoC (sunxi) Support
Upstream Allwinner ARM SoC (sunxi) Support
 
Software update for embedded systems - elce2014
Software update for embedded systems - elce2014Software update for embedded systems - elce2014
Software update for embedded systems - elce2014
 
File Systems
File SystemsFile Systems
File Systems
 
Jonny_Martin-Asterisk
Jonny_Martin-AsteriskJonny_Martin-Asterisk
Jonny_Martin-Asterisk
 
XPDS16: Hypervisor Enforced Data Loss Prevention - Neil Sikka, A1LOGIC
XPDS16: Hypervisor Enforced Data Loss Prevention - Neil Sikka, A1LOGICXPDS16: Hypervisor Enforced Data Loss Prevention - Neil Sikka, A1LOGIC
XPDS16: Hypervisor Enforced Data Loss Prevention - Neil Sikka, A1LOGIC
 
Kernel Recipes 2013 - Crosstool-NG, a cross-toolchain generator
Kernel Recipes 2013 - Crosstool-NG, a cross-toolchain generatorKernel Recipes 2013 - Crosstool-NG, a cross-toolchain generator
Kernel Recipes 2013 - Crosstool-NG, a cross-toolchain generator
 
RAID, Replication, and You
RAID, Replication, and YouRAID, Replication, and You
RAID, Replication, and You
 
Low-level Accesses
Low-level AccessesLow-level Accesses
Low-level Accesses
 
Character Drivers
Character DriversCharacter Drivers
Character Drivers
 
Git Money
Git MoneyGit Money
Git Money
 
PCI Drivers
PCI DriversPCI Drivers
PCI Drivers
 
Aide 2014 - Fundamentals of Linux Privilege Escalation
Aide 2014 - Fundamentals of Linux Privilege EscalationAide 2014 - Fundamentals of Linux Privilege Escalation
Aide 2014 - Fundamentals of Linux Privilege Escalation
 
tizen-oshw-tds14sh
tizen-oshw-tds14shtizen-oshw-tds14sh
tizen-oshw-tds14sh
 
IoT mit Rust programmieren
IoT mit Rust programmierenIoT mit Rust programmieren
IoT mit Rust programmieren
 
linux-sunxi - OSDC.tw 2014 Lightning Talk
linux-sunxi - OSDC.tw 2014 Lightning Talklinux-sunxi - OSDC.tw 2014 Lightning Talk
linux-sunxi - OSDC.tw 2014 Lightning Talk
 

Similaire à Surge2014 talk - illumos State of the Community & POSIX Update

オペレーティングシステム 設計と実装 第3版(20101211)
オペレーティングシステム 設計と実装 第3版(20101211)オペレーティングシステム 設計と実装 第3版(20101211)
オペレーティングシステム 設計と実装 第3版(20101211)
Ryousei Takano
 
Android Mind Reading: Android Live Memory Analysis with LiME and Volatility
Android Mind Reading: Android Live Memory Analysis with LiME and VolatilityAndroid Mind Reading: Android Live Memory Analysis with LiME and Volatility
Android Mind Reading: Android Live Memory Analysis with LiME and Volatility
Joe Sylve
 
Auditing the Opensource Kernels
Auditing the Opensource KernelsAuditing the Opensource Kernels
Auditing the Opensource Kernels
Silvio Cesare
 
Jonny_Martin-Asterisk
Jonny_Martin-AsteriskJonny_Martin-Asterisk
Jonny_Martin-Asterisk
tutorialsruby
 
Jonny_Martin-Asterisk
Jonny_Martin-AsteriskJonny_Martin-Asterisk
Jonny_Martin-Asterisk
tutorialsruby
 

Similaire à Surge2014 talk - illumos State of the Community & POSIX Update (20)

Operating Systems 1 (5/12) - Architectures (Unix)
Operating Systems 1 (5/12) - Architectures (Unix)Operating Systems 1 (5/12) - Architectures (Unix)
Operating Systems 1 (5/12) - Architectures (Unix)
 
What Linux can learn from Solaris performance and vice-versa
What Linux can learn from Solaris performance and vice-versaWhat Linux can learn from Solaris performance and vice-versa
What Linux can learn from Solaris performance and vice-versa
 
Live Memory Forensics on Android devices
Live Memory Forensics on Android devicesLive Memory Forensics on Android devices
Live Memory Forensics on Android devices
 
オペレーティングシステム 設計と実装 第3版(20101211)
オペレーティングシステム 設計と実装 第3版(20101211)オペレーティングシステム 設計と実装 第3版(20101211)
オペレーティングシステム 設計と実装 第3版(20101211)
 
A Brief History of System Calls
A Brief History of System CallsA Brief History of System Calls
A Brief History of System Calls
 
Network Stack in Userspace (NUSE)
Network Stack in Userspace (NUSE)Network Stack in Userspace (NUSE)
Network Stack in Userspace (NUSE)
 
Gentoo Linux, or Why in the World You Should Compile Everything
Gentoo Linux, or Why in the World You Should Compile EverythingGentoo Linux, or Why in the World You Should Compile Everything
Gentoo Linux, or Why in the World You Should Compile Everything
 
Running Applications on the NetBSD Rump Kernel by Justin Cormack
Running Applications on the NetBSD Rump Kernel by Justin Cormack Running Applications on the NetBSD Rump Kernel by Justin Cormack
Running Applications on the NetBSD Rump Kernel by Justin Cormack
 
Systems Performance: Enterprise and the Cloud
Systems Performance: Enterprise and the CloudSystems Performance: Enterprise and the Cloud
Systems Performance: Enterprise and the Cloud
 
Android Mind Reading: Android Live Memory Analysis with LiME and Volatility
Android Mind Reading: Android Live Memory Analysis with LiME and VolatilityAndroid Mind Reading: Android Live Memory Analysis with LiME and Volatility
Android Mind Reading: Android Live Memory Analysis with LiME and Volatility
 
Introduction to Linux Kernel by Quontra Solutions
Introduction to Linux Kernel by Quontra SolutionsIntroduction to Linux Kernel by Quontra Solutions
Introduction to Linux Kernel by Quontra Solutions
 
Auditing the Opensource Kernels
Auditing the Opensource KernelsAuditing the Opensource Kernels
Auditing the Opensource Kernels
 
Ice Age melting down: Intel features considered usefull!
Ice Age melting down: Intel features considered usefull!Ice Age melting down: Intel features considered usefull!
Ice Age melting down: Intel features considered usefull!
 
Nikita Abdullin - Reverse-engineering of embedded MIPS devices. Case Study - ...
Nikita Abdullin - Reverse-engineering of embedded MIPS devices. Case Study - ...Nikita Abdullin - Reverse-engineering of embedded MIPS devices. Case Study - ...
Nikita Abdullin - Reverse-engineering of embedded MIPS devices. Case Study - ...
 
The Ultimate IBM and Lotus on Linux Workshop for Windows Admins
The Ultimate IBM and Lotus on Linux Workshop for Windows AdminsThe Ultimate IBM and Lotus on Linux Workshop for Windows Admins
The Ultimate IBM and Lotus on Linux Workshop for Windows Admins
 
Linux Performance Analysis: New Tools and Old Secrets
Linux Performance Analysis: New Tools and Old SecretsLinux Performance Analysis: New Tools and Old Secrets
Linux Performance Analysis: New Tools and Old Secrets
 
Linux Knowledge Transfer
Linux Knowledge TransferLinux Knowledge Transfer
Linux Knowledge Transfer
 
A Reimplementation of NetBSD Based on a Microkernel by Andrew S. Tanenbaum
A Reimplementation of NetBSD Based on a Microkernel by Andrew S. TanenbaumA Reimplementation of NetBSD Based on a Microkernel by Andrew S. Tanenbaum
A Reimplementation of NetBSD Based on a Microkernel by Andrew S. Tanenbaum
 
Jonny_Martin-Asterisk
Jonny_Martin-AsteriskJonny_Martin-Asterisk
Jonny_Martin-Asterisk
 
Jonny_Martin-Asterisk
Jonny_Martin-AsteriskJonny_Martin-Asterisk
Jonny_Martin-Asterisk
 

Dernier

Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Victor Rentea
 

Dernier (20)

Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...
 
CNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In PakistanCNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In Pakistan
 
Introduction to Multilingual Retrieval Augmented Generation (RAG)
Introduction to Multilingual Retrieval Augmented Generation (RAG)Introduction to Multilingual Retrieval Augmented Generation (RAG)
Introduction to Multilingual Retrieval Augmented Generation (RAG)
 
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodPolkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
 
FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century education
 
Six Myths about Ontologies: The Basics of Formal Ontology
Six Myths about Ontologies: The Basics of Formal OntologySix Myths about Ontologies: The Basics of Formal Ontology
Six Myths about Ontologies: The Basics of Formal Ontology
 
DBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor Presentation
 
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
 
WSO2's API Vision: Unifying Control, Empowering Developers
WSO2's API Vision: Unifying Control, Empowering DevelopersWSO2's API Vision: Unifying Control, Empowering Developers
WSO2's API Vision: Unifying Control, Empowering Developers
 
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
 
Corporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptxCorporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptx
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
 
MS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectorsMS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectors
 
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of Terraform
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
 
DEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 AmsterdamDEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
 

Surge2014 talk - illumos State of the Community & POSIX Update

  • 1. illumos State of the Community POSIX Update Garrett D’Amore Advanced Micro Devices, Inc.
  • 2. illumos is… • Open Source System V (Solaris) Derived • Development home for DTrace and ZFS • Kernel + core for OmniOS, SmartOS, NexentaStor • Four years on its own, but really ~25 years old
  • 3. Recent Developments • Network Virtualization • Virtualization (LX brand, Bhyve, etc.) • Persistent L2ARC • SMB2 / SMB3 • Hardware drivers • POSIX & Compatibility
  • 4. Pace • Good stuff happening • But, • without the frenetic churn • this is a good thing • but, • its also a concern
  • 5. State of POSIX in Tree • Mostly complete support for POSIX.1-2001, SUSv3 • Failings are in user land mostly (e.g. more, pax, etc.) • Minimal support for POSIX 2008 updates. Largest of which is locale_t (newlocale(3c)& friends) • Some 2008 interfaces present, but not exposed, and many removed interfaces exposed
  • 6. Driving Real $$ • Standbys: Nexenta, Joyent, Delphix, OmniTI • New comers: RackTop, Pluribus Networks • “Stealthy” players: e.g. Tegile • Total “market” value: > $100M (perhaps >>)
  • 9. things we lack • Bounties • Governance (?!?) • Ownership • Marketing • Legal presence
  • 10. Opportunities for non- Gurus • Write & improve documentation • Localization • Test development • Marketing
  • 13. Where are the women?
  • 14. Hire a Female Kernel Engineer. Today.
  • 15. Groupthink. — people are sheeple
  • 22. less bloat is more (better)
  • 23. less (compatible) is more (compatible)
  • 24. less talking is more coding
  • 26. illumos-core vision • focus on code • standards compliant - by default • less is more • self-hosting • self-testing • cross-platform • illumos coding standards (RTI ready by default)
  • 27. Standards • SunOS 4.x (and 3.x) is truly ancient (32-bit SPARC only!) • XPG3 - this is really, really old • POSIX is really, really old (1988) • XPG4 - is also really old • SUS - aka XPG4v2 - also old • SUSv2 - UNIX98 • SUSv3 - POSIX.1 2001 • SUSv4 - POSIX.1 2008 - work in progress
  • 28. Ancient & Useless Stuff • htable, gettable - last possible use was in 1990 (DNS anyone?!) • Wireless USB. DOA. • 16-bit PCMCIA. Seriously?!? • SunOS 4.x a.out support • kssl - no TLS support • NCA/NL7C - Global Zone only, actually slows all other traffic down • LMS (AMT/HECI) - Can you say security risk/pointless?
  • 29. readdir_r(3c) case study • Standardized by POSIX in 1995 (IEEE Std. 1003.1c-1995) • Earlier Draft version (Draft 6) supported in Solaris 2.6 - 11 • By default • Solaris is the only common operating system to still do this
  • 30. readdir_r(3c) case study • struct dirent *readdir_r(DIR *, struct dirent ***); • unless… • _POSIX_C_SOURCE - 0 >= 199506L or… • _POSIX_PTHREAD_SEMANTICS or… • _LP64 or… • _FILE_OFFSET_BITS != 32 • in which case… • int readdir_r(DIR *, struct dirent *, struct dirent **); • note that return value semantics are different!
  • 31. readdir_r(3c) resolution • struct dirent *readdir_r(DIR *, struct dirent ***); • unless… • _POSIX_C_SOURCE - 0 >= 199506L or… • _POSIX_PTHREAD_SEMANTICS or… • _LP64 or… • _FILE_OFFSET_BITS == 32 or… • !_SUNOS_SOURCE • in which case… • int readdir_r(DIR *, struct dirent *, struct dirent **); • (note that you now get POSIX compliant by DEFAULT!)
  • 32. accomplishments so far • less(1) is more(1) • uname & puname • fexecve(2), O_TTY_INIT, O_DIRECTORY • removed a lot of bloat (~200KLOC) • suppression and updates for POSIX 2008 symbols we already had (-D_XOPEN_SOURCE=700) • s/awk/nawk/ • no more dbus or hal dependencies • rich self tests for POSIX (and non-POSIX) interfaces (>3000 tests) • 85 separate bugs/features integrated (started Aug 14, approx 2 per day) • vi(1) is real vi, not vim(1)
  • 33. uname(2) • uname -s == “illumos” • uname -r == 0.9.x (x == months since Aug 2010) • puname(1) utility • puname -S uname -s -r == “SunOS 5.11” • puname -S uname -v == “alternate-uname” • puname -U to restore • implemented as new flag in process uarea
  • 34. uname breakage • 64-bit Studio (checks for SunOS > 5.7) • hald - fixed (in separate git repo), breaks X • config.guess (auto*) - can override in configure command line • pkgdepend - (fixed?) via terminatorlib/cwd.py • DTrace printf test (test checks uname == SunOS)
  • 35. Remaining Compliance Work for C APIs • System Interfaces (POSIX.1-2008) • memory streams • dprintf (universe explodes…) • pthreads changes • C11 support • interfaces to improve security
  • 36. Shell & Utilities Work • pax (not star, thank you very much) • modernize (slightly) awk • lots of minor updates (mv, cp, ls, etc.) • replace ksh93 with dash + libedit • Test suite development, Standard(s) trolling
  • 37. Can I Help? YES! YOU CAN!
  • 38. • Code & Documentation reviews • Testing • Help upstreaming • Code contributions (pull requests!) • http://bitbucket.org/gdamore/illumos-gate • “core” branch