Monday March 10, 2008
Liane Praza's WeblogLiane Praza's Weblog I've taken the leap and converted my desktop to run Indiana Developer Preview 2. It's looking pretty nice so far, but as the Preview title suggests, running this as a primary development machine is still a bit on the bleeding edge. So, I'm filing or updating bugs at http://defect.opensolaris.org as they pop up. Getting VirtualBox running was one of my top priorities so that it remains easy to test in-development bits on Nevada too. So, I downloaded and installed VirtualBox for my amd64 system, and got this: $ /usr/bin/VirtualBox ld.so.1: VirtualBox: fatal: libX11.so.4: open failed: No such file or directory Killed So, I found (well, David pointed me at) Indiana bug 512, which describes the missing symlink. Since it's just a missing link, I was easily able to work around it. # cd /usr/lib/amd64 # ln -s ../../X11/lib/64/libX11.so.6 libX11.so.4 Now I can launch playa programming -- OpenSolaris at Burning Man For my eighth year at Burning Man, the two-by-four of inspiration whacked me upside the head and stole away my summer free time. On evenings and weekends I've been working feverishly on an art installation called The Belligerent Blooms. With lots of help and indulgence from Jan, Bart, and encouragement from the rest of my campmates, the project is starting to take shape. There's been plenty of programming, hacking, drilling, sawing, soldering, and even a little bit of welding. The whole project is centered around an OpenSolaris-based system driving audio for this embedded application. There's no electricity out at Burning Man, and generators are noisy -- so with a bit of begging, we've managed to borrow 2 solar panels to charge the battery which runs the whole installation. For those playing along at home, that means we'll be running Sun on the Sun. This post will (hopefully) be the first in a series about how the software and hardware of this art project was put together. The series will likely come in fits and starts as time before the event is precious -- we depart on August 26, so blogs may have to wait until we return. But, before I begin the series, there's some more begging to do... The Belligerent Blooms need your audio contributions! The Belligerent Blooms are a garden of cranky electro-mechanical flowers, accosting passers-by with their deeply rooted beliefs. We need your unique voices to contribute to the cacophony. Consider what you'd say if you were a belligerent bloom -- share your experiences as part of nature, opinions about humanity in general or Burning Man participants in particular, or any other flowery invective you have to offer. Try to keep the comments short and pithy. Get a giggle, challenge world views, add your voice! Above all, be belligerent! Contribute your flowery invective by sending mail to
belligerent.blooms@gmail.com and including If you, or someone you know attend Burning Man, the Belligerent Blooms make their home at the 'Blacklight Aquarium' theme camp. Habitat and 7:30; just look for the big spinning fish sign in the sky. Technorati Tags: OpenSolaris, Solaris, embedded, and burningman. (2007-07-31 20:56:05.0) Permalink Comments [1]zone out and speed up your development cycles The other day, as an aside in a conversation about how often developers use certain OS features, I was asked how often I use Solaris Zones. At least weekly, and daily if I'm lucky enough to be spending my time on code. Surprised? Userland developers on Solaris shouldn't be. I spend a great deal of time modifying libraries and daemons started really early in the Solaris boot process. While SMF tries to dump you at an sulogin prompt if you've introduced a bug, it's still a bit of a pain to recover from some nasty failure or hang you've coded into Here's what I do:
After my code is all basically working, then I move on to testing on the bare metal. But, the fast reboot times of zones and the easy ability to replace a broken library with a library broken in a new and different way is invaluable to making very rapid progress. I've rebooted my zone at least 15 times today. Compiling the library takes longer than the zone deployment and reboot! Every few months I mismatch libraries and commands from different workspaces and foul up my zone badly enough that it needs to be re-installed. But, Technorati Tags: OpenSolaris, Solaris, smf, and zones. (2007-07-26 21:07:45.0) Permalink Comments [3]It's nice that as of Solaris 9, This is great for interactive environments with many home directories stored on the network. Your users don't end up with spurious and surprising home directory not available messages if you try to log in too early during the boot process. But, if you've got a server stranded in a co-lo many miles away, this might not be what you want. You may want ssh to start up as soon as the root filesystem and basic networking are available, and be available if you boot to single-user mode. Here's how for Solaris 10 and similar releases (no guarantee of fitness for more recent bits):
None of this is endorsement to go around deleting dependencies willy-nilly on your system. All of them are there for a reason, and deleting them without understanding their purpose is guaranteed to lead to pain. If you have any problems with a service where you've deleted dependencies, the first step is to put them back! There are no places in which we've added dependencies to services for fun. Some of the dependencies you might see that seem superfluous are the ones that we added only after finding some very subtle breakage without them. (2006-06-27 09:20:30.0) Permalink Comments [4]Thanks to a very kind invitation from the conference organizers, I'm at SANE 2006 and finished up a half-day SMF tutorial earlier today. The room was pretty full, and there were plenty of good questions to keep me on my toes. I promised to post the slides on my blog, so here they are. The conference provided Certificates of Completion for anyone who stayed in my session until the end, so I'd also like to present an honorary and virtual Certificate of Completion for David Bustos and Bob Netherton, from whom I borrowed some of the slide material. :)
As this is my first time in the Netherlands, it seems necessary to include a tourist snapshot. There's a lovely old church (indeed, Oude Kerk) visible out my window; no reference to Vermeer was originally intended, but given that he's interred at Delft's Oude Kerk perhaps it was inevitable (though inappropriate for such a poorly lit photograph). The charming half-hourly bells would be more so if they weren't conspiring with my current state of jet lag to limit sleep to nap-length increments.
In case you're not reading Stephen's blog, I wanted to mention that we're collecting I'm headed out for yet another year at Burning Man. I'm rather new from some perspectives -- I've only been attending since 2000, but have been there religiously since my inaugural year. This is the first time since that first year I have the luxury of arriving on Sunday and staying the whole week. Hurrah! Seeing an essentially empty plot of land grow to a city of 35,000+ (complete with roller coasters(!), churches, mail delivery, roller rinks, bars, pools, an opera, newspapers, radio stations, an incredible array of art, and most anything else you can imagine) and then all completely disappear within 7 days is an experience that's hard to replicate elsewhere. Plenty of people have drawn parallels between open source communities and the Burning Man community. What Burning Man has that most open source software projects don't have is that tear-it-apart moment. The transient nature of the physical community is part of the appeal. At the end, you watch lots of incredible things literally go up in flames, and the rest of it disappear overnight. Walking around the last night is incredibly surreal; the landmarks you used for navigation all week have vanished and you're left a little lost and confused as the ephemeral community precipitates back into their everyday lives. While it's a crucial part of playa life, I expect to never have that moment with OpenSolaris. All of this is a pretty long winded way of saying that I'm taking a vacation, and will return to blogging after I dig myself out of the overwhelming email backlog that accompanies any sort of time away. Technorati Tags: Burning Man and OpenSolaris (2005-08-26 15:55:37.0) Permalink Comments [0]The I found out recently that I didn't talk about how the Since contracts already take care of grouping the processes for us into services, and extended the appropriate kernel interfaces to allow operations on contracts, we can actually just send a signal to all processes in the contract easily with
int
contract_kill(ctid_t ctid, int sig, const char *fmri)
{
if (sigsend(P_CTID, ctid, sig) == -1 && errno != ESRCH) {
log_error(LOG_WARNING,
"%s: Could not signal all contract members: %s\n", fmri,
strerror(errno));
return (-1);
}
return (0);
}
Nice, huh? Having contracts as a well-supported kernel feature makes some previously impossible things now possible, and generally makes the life of the restarter author easier. This is, to me, one of the truly significant benefits of having a kernel that evolves in concert with its userland tools. Technorati Tags: OpenSolaris, Solaris, and smf. (2005-08-25 18:01:29.0) Permalink Comments [3]Well, I've passed the expiration date for a useful trip report of OSCON. I'll keep this short and sweet and get a few pictures posted. It was my first time at OSCON, and I'm glad I went. It was great to go and talk about OpenSolaris and Solaris in general; among the fun was our rockstar-style suite (complete with getting admonished by the hotel for talking about OpenSolaris too loud on Wednesday night), the booth, a number of good talks by Bryan and Keith, and a small but fun BoF. From an
Jon Masters, Devon O'Dell, and I showed our stripes and shared a drink at the OpenSolaris suite.
Some dorky-looking geek with Teresa Giacomini of the OpenSolaris team and Casper Dik: CAB member, security guru, and Solaris expert. Technorati Tags: OpenSolaris, Solaris, and smf. (2005-08-19 18:37:59.0) Permalink Comments [4]As folks like Keith and Bryan have already noted, there are plenty of OpenSolaris happenings at OSCON this year. I'll be at the OpenSolaris BOF at 8:30pm Wednesday evening, so stop by if you're around. I'll also be knocking about the conference/Portland in general Tuesday night through Friday. Leave a message for me at my hotel (503-222-0001) if you'd like to meet up for a beer and talk about OpenSolaris, Solaris, or Technorati Tags: OpenSolaris, smf, and oscon. (2005-08-01 17:34:42.0) Permalink Comments [1]A really simple tip today. If you want You may also find that the service you want requires other services. # svcadm enable -rt rpc/bind As promised, pretty simple. Someone commented this isn't well covered in our current documentation set. I've filed a bug, so you should see a similar task in the System Administration Guide in a future release. Technorati Tags: OpenSolaris, Solaris, and smf. (2005-07-27 09:22:13.0) Permalink Comments [0]Someone asked on an internal Sun alias how It is important to mention first that Next, I'd like to point out that there's a distinction between method failures and service failures, from
A service failure is determined by a combination of the service model ( A
The latter two of these conditions may be ignored by the service by specifying Defining a service as Technorati Tags: OpenSolaris, Solaris, and smf. (2005-07-14 13:34:02.0) Permalink Comments [1]assembling services for boot with smf(5) In order to deal with some pretty stringent backwards compatibility requirements for install, Some background detailsFirst, a refresher (or an introduction, depending on your perspective). The delivery mechanism for services in Solaris Once a service is in the repository, all of the The seed repositoryAs I already mentioned, When you build OpenSolaris (and when we build Solaris internally) in addition to compiling all of the You can look at what's in the seed repository for your system. For something resembling current OpenSolaris bits, this looks like:
$ cp /lib/svc/seed/global.db /tmp/global.db
$ svccfg
svc:> repository /tmp/global.db
svc:> list
system/boot-archive
network/datalink
network/physical
system/device/local
milestone/devices
system/identity
system/filesystem/local
system/manifest-import
system/filesystem/minimal
[...]
If you look carefully at that Makefile, though, we don't place these in the normal repository location, we stash them at Placing the seedThere's logic in both bfu and the Finally, the boot discussionOK, so now we have a system with a very very limited seed set of services as its repository. Those services are really limited, and don't even include essential things like
423 nonsite_dirs=`/usr/bin/find /var/svc/manifest/* -name site -prune -o -type d \
424 -print -prune`
425
426 nonsite_manifests=`/lib/svc/bin/mfstscan $nonsite_dirs`
427 site_manifests=`/lib/svc/bin/mfstscan /var/svc/manifest/site`
428
429 manifests="$nonsite_manifests $site_manifests"
443 set -- $manifests
444 backup=`echo "$#/$#" | sed 's/.//g'`
445 fwidth=`echo "$#\c" | wc -c`
446
447 echo "Loading smf(5) service descriptions: \c" > /dev/msglog
448
449 i=1; n=$#
450 while [ $# -gt 0 ]; do
451 printf "%${fwidth}s/%${fwidth}s" $i $n > /dev/msglog
452 svccfg_import $1
453 i=`expr $i + 1`
454 shift
455 echo "$backup\c" > /dev/msglog
456 done
But how do services get enabled?Some of you may have noticed, though, that OpenSolaris has most of the services specified as disabled in their service manifests. You can see this, for example, with the syslog manifest. The What's happening after the manifest imports in the
/var/svc/profile/generic.xml
/var/svc/profile/platform.xml
/var/svc/profile/site.xml
480 if [ ! -f /var/svc/profile/platform.xml ]; then
481 this_karch=`uname -m`
482 this_plat=`uname -i`
483
484 if [ -f /var/svc/profile/platform_$this_plat.xml ]; then
485 platform_profile=platform_$this_plat.xml
486 elif [ -f /var/svc/profile/platform_$this_karch.xml ]; then
487 platform_profile=platform_$this_karch.xml
488 else
489 platform_profile=platform_none.xml
490 fi
491
492 ln -s $platform_profile /var/svc/profile/platform.xml
493 fi
Finally,
$ ln -sf /var/svc/profile/generic_limited_net.xml /var/svc/profile/generic.xml
Or, you can just place your customizations into Technorati Tags: OpenSolaris, Solaris, and smf. (2005-06-24 15:42:58.0) Permalink Comments [3]I'm away from my mail and my blog for a few days, but realized that yesterday may have brought an unpleasant surprise for folks. The main OpenSolaris blogs page no longer contains the entire list of entries that appeared on Opening Day! Not to worry -- the OpenSolaris webmasters keep an archived list of posts. You can keep reading through the entire list of blogs from Opening Day, or start with one of the higher-level lists Bryan and I have been compiling. I'll return later this week and finish up the tour of
Technorati Tag: OpenSolaris
OpenSolaris blogs: networking, drivers, security, and standards Looking through the huge number of blogs written yesterday about deep technical topics in the OpenSolaris source code, I'm again flattened by the depth of expertise that's represented in these entries. There's a lot to navigate, and Bryan and I will be trying to give some lists by subject area. I hope others will start their own as they find content that's useful to them. Even if you don't have a blog, del.icio.us allows you to create tagged lists of bookmarks. Security:
Devices and Drivers:
By the way, I threw in the towel early on collecting SVM entries for this section. There's a bunch of really great content that will deserve its own list at some point! Networking:
Standards:
And, by the way, most of the entries above just wouldn't have been possible without the help of Chandan's incredible source browser for OpenSolaris. If you're interested in seeing all the archived blog links, check out our opensolaris.org blogs page. I've tried to be really inclusive here and pick up entries that will suit many experience levels. The unifying factor is that every entry is by an expert in the area. If you have an entry I've missed in one of the topic areas, leave it on the comments for everyone to see. Technorati Tags: OpenSolaris and Solaris (2005-06-15 16:48:27.0) Permalink Comments [2] |
Calendar
RSS Feeds
All /General /Solaris SearchLinks
NavigationReferersToday's Page Hits: 635 |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||