Creating OpenSolaris based JeOS
By natiku on May 11, 2008
JeOS is targeted minimal OS installation and is stand from Just Enough OS for running concrete Application(s). There is no "One shoes will fit all" approaches with JeOS creations, each JeOS is ideally individually created to fit concrete applications, so please take JeOS creations tips bellow as a guidelines how to create your JeOS.This entry is part of 'OpenSolaris on Amazon EC2' Workshop
For details how Amazon EC2 instance is booted see more in Amazon AWS overview at Instance boot process
JeOS is base requirements for server oriented Virtual Appliances based environment like Amazon EC2 AMIs are, JeOS freeing space for User Application and significantly speeds up OS start/stop operations.
Also we will for this project prefer to create REDUCED rather MINIMALized JeOS. In MINIMALized JeOS experienced user can drop man pages, have only one favorite editor and programming language and so on, but our JeOS images will be potentially used by different groups of users so we need to keep all core system functionality including man pages and variety of tools.
So we will try to build JeOS as RNJS (Reduced Network Java Server):
- Reduced - Selection of CLI tools
- Network - Selection of network services
- Java - Orinectred for running Java based services
- Server - Server side configuration, no GUI if possible
Ideal REDUCED install achievable target for OpenSolaris JeOS RNJS will less then "1GB" of install packages size, 500MB compressed.
So to reduce boot time on Amazon EC2 we will try to use just 3GB to 4GB sized root partition from 10GB max, also we will from this space small swap sized 265 - 512MB partition on ROOT disk.
We need also take in account how to minimize execution profile by disabling before AMI creation services used in development time like NFS and CIFS clients.
Must have packages for REDUCED install (Optimized to amazon EC2 and S3)
|For Amazon EC2|
|flar||To create image with flarcreate|
|ruby||To execute EC2 tools|
|openssl||To provide secure access for EC2/S3 tools|
|ssh||To access EC2 image|
|wget||To get data into EC2 image|
|curl||To get data into EC2 image|
|ntpdate||To sync time for S3 upload|
|Java5||Java JDK 1.5|
|Java6||Java JDK 1.6|
|ant||Java build tools|
|vim||Popular UNIX editor|
|GNU||Basic GNU Shells, Archivers and Others|
|mc||GNU Commander with build in Editor|
|screen||GNU Terminal SW|
|lynx||GNU Text based http & https browser|
|top||Popular sys admin tool|
As part of Linuxify of Solaris I will also move root home from "/" to "/root".