Is there an alternative to the illumos native fdisk? Yes, for example, GPT fdisk from Rod Smith. It includes the gdisk, cgdisk, sgdisk, and fixparts programs. Site mentions only usage on Linux, FreeBSD, Mac OS X and Windows, but it is possible that GPT fdisk may be suitable on illumos-based distributions. It requires popt library (OmniOS contains it) and latest version built with no problems, except for a small fix for ncurses.
I've put some distro-const scripts to the github repo at https://github.com/alhazred/firefly for anyone who wants to build their own illumos-based failsafe image. Current stuff was tested on OmniOS but also should work on OpenIndiana. Anyway the code can be simplified, so any pull-requests and customization are welcome.
While the Solaris has the updated netstat with -u flag, illumos requires certain improvements in sockinfo, and possibly, rpcbind (tcpConnCreationProcess shows the old PID for rpcbind, until it did not become a demon). With help of pfiles is possible to obtain the desired information about pid for particular port, so I wrote a small pfiles-based utility which allows to determine the PID, user and command for the particular port:
Recently I had a situation where some incorporating package depends on a package, say foo, version 3.1 and I had to wait for the update exactly to 3.2 and do not allow 3.1.1, 3.1.2, ... "Freeze" option doesn't help here (may be should?) but it's a possible to use some versioning tricks in incorporating manifest. First option is to ensure that required version of 'foo' is published with trailing zero:
If somebody is looking for illumos-based filesafe image, I've created small iso (usb image is available also) at sourceforge. This image provides the same method as old Solaris iso's: looks for bootable root pool, imports it to /a and mounts bootfs:
It is hard to say why the BrandZ code was removed from the OpenSolaris. However this can be corrected. With small fixes I've now got CentOS running in a zone on Illumos: The Illumos Project SunOS 5.11 illumos-gate June 2011 root@indy:~# zoneadm -z centos boot; zlogin -C centos [Connected to zone 'centos' console] Welcome to CentOS Press 'I' to enter interactive startup. Configuring kernel parameters: [ OK ] Setting hostname centos: [ OK ] Checking root filesystem: [ OK ] Activating swap partitions: [ OK ]
Have you ever looked in the "/usr/ddu" directory? Console-lovers can use some of these scripts and get the almost same output as from the "ddu" graphic utility. For example, I changed the probe.sh script a bit and now I can get ddu-like info from console:
(root@elvis)# ./ddu.sh AUDIO Intel Corporation 82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) AC'97 Audio Controller : audio810 CPU 1 X Intel(R) Celeron(R) CPU 2.26GHz, 1-core : --- CD_DVD Intel Corporation 82801DB (ICH4) IDE Controller : pci-ide Optiarc DVD RW AD-5200A : 0
I've written a sample installation script for Sparc snv125 LiveCD. Taking as basis my "zfsinstall" script for MilaX Sparc LiveCD and improving some hacks for BE, I've now a working OpenSolaris system on my old Ultra 60, with possibility for next upgrading. Required steps: 1. Boot from LiveCD. (After booting I disabled some services like AI,LDOM which are not necessary on my Ultra).
Following numerous requests from users I've prepared Sparc LiveCD based on osol-1002-125-ai-sparc.iso (see my previous post). Please remember that this iso is UNOFFICIAL version, I've created it only for my tests. With this iso you can test OpenSolaris on your hardware, AI tools or you can install system from this LiveCD manually, using steps from my old posts (i.e. you need to create zpool, copy all LiveCD contents to rootfs, disable live-media services, change vfstab and etc). Temporarily iso is here.
Using previous instructions I've successfully installed opensolaris 2009.06 on my TestFarm (thanks, Jim) T2000 from existing Nevada b98. Steps are identical: my machine have 4 disks, so I've prepared third disk (c0t2d0) for installation (I take 4gb):
Using Caiman libraries you can write small programs which can be very useful in sysadmin's daily work or can help making your own installer. For example, using libtd (Target Discovery) library you can get info about system disks and partitions very fast. Here's an example of using libtd test program (test_td):
# ./test_td -d Disk discovery Total number of disks: 3 --------------------------------- num | name| ctype|size [MB]| --------------------------------- 1 | c2t0d0| usb| 976| 2 | c0d0| ata| 76350|
Great news from OpenSolaris ARM Port project: first OS release for ARM platform is now available. This release support NEC Electronics's NaviEngine 1 (NE1) and has some interesting features: genunix, unix and required device drivers are statically linked at building time as vmunix to save the startup time, zfs is modified to save the runtime memory.
While preparing new version of zfsinstall, I've written sample version for minimal OpenSolaris installation over network. This script also includes disk partitioning. If complete installation is needed just replace pkg list with: entire SUNWcsd SUNWcs
Try it if you've problems with graphics on old laptops and you can't run GUI installer. You can find osinstaller script in MilaX mercurial repository on OpenSolaris.org.
I hacked busybox and now it's working on my Solaris machine. This is not very fresh version (1.2.0) because all last releases become more Linux-specific. I've removed some applets and added "df","init","mount","umount","ps" from Solaris. Network applets like "ifconfig" are currently not implemented. For embedded Solaris we need native "ifconfig" with "plumb" function.
In the last MilaX release (0.3.3) I've tried to reduce boot time from kernel startup to desktop environment up and running. I left only necessary SMF-services for LiveCD and changed startup sequence. The main idea - network services and compressed usr filesystem mounting can start after X server starting. Here the services list after full booting:
As I already written above, it's very useful to know all the current processes in boot time. You can get more interesting information. If we look at the contents of "live-devices-local" script in OpenSolaris LiveCD we'll see possibility to use iosnoop with output in logfile (iosnoop uses DTrace to monitor disk events in real time):
Bootchart is a great tool for performance analysis and visualization of the Linux boot process. Eric Schrock and Dan Price worked on a Bootchart port using DTrace but I can't find any recipes on their blogs.
Unfortunately I can't install some IPS packages without dependences. Christopher Bergström has written a small shell script for sunstudio installation. Some time I've tested it and have created the ruby version for installation of any package. This script does not process "driver" tag in manifest but in the rest is suitable for installation and a bit more exact than shell script. You can view the source code (getpkg.rb) here.
This is instructions for building smallest OpenSolaris miniroot (standalone RAM) with ssh and zfs. I use the receptions familiar to funs of minimization according to Jim Connors's framework. But now we will use IPS for installation of packages and we should delete files of some packages manually ("--install" or "--uninstall --without-deps" not yet implemented in pkg). Well, I'm running Solaris Express and will use "/opt/test" as working dir. Here are the packages for small miniroot (/opt/pkg.list):
Continuing a theme, it's possible to create a 90mb iso (minimal working LiveCD without Gnome and X) using the Distribution Constructor - command-line tool for building preconfigured, bootable OpenSolaris images. In the OpenSolaris 2008.11 release, this tool takes an XML manifest file as input, and builds an ISO image that is based on the parameters specified in the manifest file. I'm running Solaris Express and will use old-format configuration file.
Using instructions from Edward Pilatowicz' blog I got small working OpenSolaris 2008.11 in the console version: without Xorg (and Gnome of course). First of all the list of the core packages for normal work in the console is necessary. My computer has Realtek ethernet adapter and I also have added a SUNWrtls package. Here's example list (pkg.txt):