Release Notes for 2008.05 Release
1. Target
1.1 OpenSolaris
This version is based on OpenSolaris 2008.05 (b86) Release for intel IA32 architecture. The target directories of OS/Net consolidation to port are:
- cmd
- common
- head
- lib
- tools
- uts
The SunOS 4.x compatibility such as ucbcmd, ucbhead and ucblib are not supported in this project. And the following directories in lib, cmd and uts/intel are not supported in this release.
lib
- abi
- brand
- fm/libfmd_snmp
- fm/topo
- hal
- krb5
- libbrand
- libelfsign
- libidmap
- libiscsitgt
- libkmf
- libldap5
- libnisdb
- libsctp
- libshare
- libshell
- libsldap
- libsmbfs
- libtnf
- libtnfctl
- libtnfprobe
- libumem
- libzonecfg
- lvm
- policykit
- smbsrv
- udapl
cmd
- abi
- adbgen
- availdevs
- boot
- cmd-inet/usr.lib/inetd
- cmd-inet/usr.sadm/dhcpmgr
- cmd-inet/usr.sbin/kssl/kssladm
- cmd-inet/usr.sbin/kssl/ksslcfg
- devfsadm
- devmgmt
- dfs.cmds
- fm
- fs.d/autofs
- fs.d/cachefs
- fs.d/nfs/nfsmapid
- fs.d/smbclnt
- hal
- idmap
- iscsi
- keyserv
- krb5
- ksh
- ldap
- ldapcachemgr
- lp
- lvm
- mdb
- nscd
- oawk
- pcmciad
- perl
- policykit
- pools
- power
- ppgsz
- prtdiag
- rcap
- rcm_daemon
- rmformat
- rmmount
- rmvolmgr
- rpcsvc
- sgs/gprof
- sgs/ldprof
- sgs/link_audit
- sgs/prof
- smbios
- smbsrv
- spell
- stmsboot
- svc
- tnf
- trapstat
- valtools
- volcheck
- volrmmount
- vscan
- wbem
- ypcmd
- yppasswd
- zdb
- zlogin
- zoneadm
- zoneadmd
- zonecfg
- zonename
- ztest
uts/intel
- dev
- vscan
- i8042
- physmem
- fasttrap
- s1394
- sdev_nsconfig_mod
The functions which require closed binary are not supported such as nfs, lockdaemon, KMF and so on. The i18n functions for libc are provided by binary.
1.2 Architecture
ARM architecture v6K (MPCore), VFP v2 and eabi(aapcs) are supported.
1.3 Platform
This release support NEC Electronics's NaviEngine 1 (NE1). The reference board contains
- NEC uPD35001 System-on-chip (ARM11 MPCore x4)
- DDR2 SDRAM (256MB)
- NOR Flash memory (64MB)
- NAND Flash memory (256MB)
- Three on-chip UARTs
- LAN9118 Ethernet adapter
- On-chip LCD controller
- USBH2.0, ATA6, PCI, CSI, SPDIF, I2S, etc
In this release, the patche for QEMU to support the board is also provided. In QEMU, the following devices are emulated.
- DDR2 SDRAM (256MB)
- NOR Flash memory (64MB)
- Three on-chip UARTs
2. Features
In the embedded devices, saving startup time and runtime memory are important requirements. The following functions are implemented to support both of requirements.
2.1 Static Linking
The Solaris kernel is divided into loadable modules. Each module is provided as binary and is dynamically linked at runtime on demand. The kernel compilations are not required when parameters are changed or new functions (drivers) are added.
The embedded devices generally keep same hardware and OS configuration after deployment. And most of devices would rather save the startup time than link kernel modules dynamically.
In this release, the genunix, unix and required device drivers are statically linked at building time as vmunix to save the startup time.
2.2 CZFS (Compactified ZFS)
The zfs is modified to save the runtime memory. The size of C structures such as blkptr and dnode_phys is shrinked. The number of parameters such as object id and transaction id is also shrinked. And some functions such as RAIDZ、VDEV Cache, ACL and L2ARC are configurable at building time with utstune command to enable or disable. The utstune command is found in usr/src/tools/utstune after setup source tree. The --manual option shows the usage of utstune command.
The functions to block the hardware problem and avoid the panic are implemented.
3. Known Bugs
None.
4. Others
This code tree can be built for x86 platform.