How can I capture debug info during boot, so if it happens again. Bruce
On Jan 21, 2009, at 11:37 AM, Jean McCormack wrote: > Bruce, > > Copying caiman-discuss so everyone can be included in this discussion. > It's not clear what is going on here. I know you said the build had > no errors, but can you send the detailed log anyway? > You also might try breaking up the builds to do the just the studio > tools. See if it breaks. > It might give us a clue as to where the problem is. > > Jean > > -------- Original Message -------- > Subject: Need help with using Distribution Constructor > Date: Wed, 21 Jan 2009 08:48:24 -0700 > From: Bruce Rothermal <Bruce.Rothermal at Sun.COM> > To: Jean.McCormack at Sun.COM, Jack.Schwartz at sun.com, Karen.Tung at > Sun.COM > > > > Hi All > > I'm trying to figure out how to use the DC for creating an install > image of a specific configured system. I keep having problems > during the boot up. Everything else runs creating the iso and usb > images with no errors. > > I ran the simple example provided on the OpenSolaris web site and > everything ran fine, booted, etc. > > We want to take the basic system and include in the distro the > studio and clustertools packages. We also would like to include > certain directories which would contain our configuration scripts > etc that we would like to have run at startup. > > For now I created a manifest file which includes: > <pkg name="sunstudioexpress"/> > <pkg name="clustertools_8.1"/> > > I've also include the line > <base_include type="dir">export/home/hpcuser</base_include> > > (I've attached the entire manifest file) > I then run > /usr/bin/distro_const build ./slim_cd.xml > > Like I said it runs all the way through with no errors. I try both > burning the resulting iso and use usb_copy for a flash drive. > > When I boot using these I get past the physical checks, get to grub > menu and select the first default boot option. After a short while > I get enter maintenance user and password or Ctrl D. It will not > allow Ctrl D. I can log in as root but the system is not really > their. For example doing a ls at this point provides no listing. > > Can you help me by first letting me know if distribution > constructor is the right tool to be using (for Solaris we use a > flash image of the installed system). If this is the right tool > what am I doing wrong in setting up the manifest file. Are there > intermediate steps that need to be done instead of running all the > way through the entire process. > > Thanks for your help > > Bruce > > > <!-- > CDDL HEADER START > > The contents of this file are subject to the terms of the > Common Development and Distribution License (the "License"). > You may not use this file except in compliance with the License. > > You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE > or http://www.opensolaris.org/os/licensing. > See the License for the specific language governing permissions > and limitations under the License. > > When distributing Covered Code, include this CDDL HEADER in each > file and include the License file at usr/src/OPENSOLARIS.LICENSE. > If applicable, add the following below this CDDL HEADER, with the > fields enclosed by brackets "[]" replaced with your own identifying > information: Portions Copyright [yyyy] [name of copyright owner] > > CDDL HEADER END > > Copyright 2008 Sun Microsystems, Inc. All rights reserved. > Use is subject to license terms. > > XML specification for building the limited language OpenSolaris > live CD iso and usb image > --> > > <distribution name="OpenSolaris"> > <distro_constr_params> > <distro_constr_flags> > <!-- Controls whether the DC should stop > if there is an error when the DC is running > --> > <stop_on_error>true</stop_on_error> > <!-- You can specify the step to resume the > build from here with the resume_from > attribute field of checkpoint_enable. > This value will be overridden by > the command line if the -r flag is used. > Valid values are step > numbers or name --> > <checkpoint_enable> > <!-- true implies Checkpointing is enabled --> > true > </checkpoint_enable> > </distro_constr_flags> > <!-- The preferred authority to install packages into the > pkg_image area from. > The default url is: http://pkg.opensolaris.org/release > The default authname is opensolaris.org --> > <pkg_repo_default_authority> > <main > url="http://pkg.opensolaris.org/release" > authname="opensolaris.org"/> > <!-- If you want to use one or more mirrors that are > setup for the authority, specify the urls here. --> > <!-- Uncomment before using > <mirror url="" /> > --> > </pkg_repo_default_authority> > <!-- Any additional non-preferred authorities to pull packages > from should be specified here. Multiple additional > authorities may be specified. > If you want to use one or more mirrors that are > setup for the authority, specify the urls here. --> > <!-- Uncomment before using. > <pkg_repo_addl_authority> > <main > url="" > authname=""/> > <mirror url="" /> > </pkg_repo_addl_authority> > --> > <!-- The default preferred authority to be used by the system > after it has been installed. > The default url is: http://pkg.opensolaris.org/release > The default authname is opensolaris.org > If you want to use one or more mirrors that are > setup for the authority, specify the urls here. --> > <post_install_repo_default_authority> > <main > url="http://pkg.opensolaris.org/release" > authname="opensolaris.org"/> > <!-- Uncomment before using. > <mirror url="" /> > --> > </post_install_repo_default_authority> > <!-- Any additional non-preferred authorities to use after the > system has been installed. Multiple additional authorities > may be specified. > If you want to use one or more mirrors that are > setup for the authority, specify the urls here. --> > <!-- Uncomment before using. > <post_install_repo_addl_authority> > <main > url="" > authname=""/> > <mirror url="" /> > </post_install_repo_addl_authority> > --> > </distro_constr_params> > <img_params> > <!-- list of packages used to form the installed image --> > <packages> > <!-- Due to dependency issues, SUNWcsd and SUNWcs > must be listed first in the package list, > and SUNWcsd must preceed SUNWcs --> > <pkg name="SUNWcsd"/> > <pkg name="SUNWcs"/> > <pkg name="slim_install"/> > <pkg name="SUNWslim-utils"/> > <pkg name="entire"/> > <pkg name="sunstudioexpress"/> > <pkg name="clustertools_8.1"/> > </packages> > <!-- Packages to be removed from the pkg_image area before > bootroot construction --> > <post_install_remove_packages> > <pkg name="slim_install"/> > </post_install_remove_packages> > <!-- Indicate whether the IPS index should be > generated for > pkg install and uninstall. The default is to not > generate the IPS search index --> > <generate_ips_search_index> > false > </generate_ips_search_index> > <!-- Files and dirs to be included in the bootroot of all media > delivered by this distribution. Bootroot contains the > minimal list of contents in order to be able to > boot and setup a running system. These files and dirs > must exist in the pkg_image area. --> > <bootroot_contents> > <base_include type="file">usr/sbin/pmadm</base_include> > <base_include > type="file">usr/sbin/lofiadm</base_include> > <base_include > type="file">usr/sbin/devfsadm</base_include> > <base_include > type="file">usr/sbin/modload</base_include> > <base_include > type="file">usr/sbin/i86/modload</base_include> > <base_include type="file">usr/sbin/mount</base_include> > <base_include > type="file">usr/sbin/hostconfig</base_include> > <base_include type="file">usr/sbin/chroot</base_include> > <base_include > type="file">usr/sbin/syslogd</base_include> > <base_include type="file">usr/bin/coreadm</base_include> > <base_include type="file">usr/bin/bash</base_include> > <base_include type="file">usr/bin/ksh</base_include> > <base_include type="file">usr/bin/cat</base_include> > <base_include type="file">usr/bin/echo</base_include> > <base_include type="file">usr/bin/false</base_include> > <base_include type="file">usr/bin/grep</base_include> > <base_include type="file">usr/bin/ls</base_include> > <base_include type="file">usr/bin/rm</base_include> > <base_include type="file">usr/bin/svcprop</base_include> > <base_include type="file">usr/bin/true</base_include> > <base_include type="file">usr/bin/cd</base_include> > <base_include type="file">usr/bin/test</base_include> > <base_include type="file">usr/bin/sleep</base_include> > <base_include type="file">usr/bin/expr</base_include> > <base_include > type="file">usr/lib/fs/hsfs/fstyp</base_include> > <base_include > type="file">usr/lib/fs/hsfs/fstyp.so.1</base_include> > <base_include > type="file">usr/lib/fs/hsfs/mount</base_include> > <base_include > type="file">usr/lib/fs/ufs/fstyp</base_include> > <base_include > type="file">usr/lib/fs/ufs/fstyp.so.1</base_include> > <base_include > type="file">usr/lib/fs/ufs/mount</base_include> > <base_include > type="file">usr/lib/libfstyp.so.1</base_include> > <base_include > type="file">usr/lib/platexec</base_include> > <base_include > type="file">usr/lib/devfsadm/devfsadmd</base_include> > <base_include > type="file">usr/lib/libm.so.2</base_include> > <base_include type="file">usr/lib/libm.so</base_include> > <base_include > type="file">usr/lib/libfstyp.so</base_include> > <base_include type="file">usr/lib/libz.so</base_include> > <base_include > type="file">usr/lib/libz.so.1</base_include> > <base_include > type="file">usr/bin/i86/ksh93</base_include> > <base_include type="file">usr/lib/isaexec</base_include> > <base_include > type="file">usr/lib/libast.so.1</base_include> > <base_include > type="file">usr/lib/libshell.so.1</base_include> > <base_include type="file">usr/share/lib/xml/dtd/ > service_bundle.dtd.1</base_include> > <base_include > type="file">var/sadm/install/admin/default</ > base_include> > <base_include > type="file">var/sadm/system/admin/default_java</ > base_include> > <base_include > type="file">var/sadm/install/contents</base_include> > <base_include type="file">var/adm/utmpx</base_include> > <base_include type="file">var/adm/wtmpx</base_include> > <base_include type="file">var/adm/aculog</base_include> > <base_include > type="file">var/lib/postrun/postrun-runq</ > base_include> > <base_include > type="file">var/lib/postrun/postrun</base_include> > <base_include > type="file">var/log/postrun.log</base_include> > <base_include type="file">var/log/authlog</base_include> > <base_include type="file">var/log/syslog</base_include> > <base_include > type="file">var/saf/zsmon/log</base_include> > <base_include type="file">var/spool/cron/crontabs/adm</ > base_include> > <base_include > type="file">var/spool/cron/crontabs/root</ > base_include> > <base_include > type="file">var/nis/NIS+LDAPmapping.template</ > base_include> > <base_include type="file">var/yp/aliases</base_include> > <base_include > type="file">var/yp/nicknames</base_include> > <base_include type="dir">kernel</base_include> > <base_include type="dir">boot</base_include> > <base_include type="dir">platform</base_include> > <base_include type="dir">system</base_include> > <base_include type="dir">lib</base_include> > <base_include type="dir">sbin</base_include> > <base_include type="dir">dev</base_include> > <base_include type="dir">devices</base_include> > <base_include > type="dir">usr/lib/devfsadm/linkmod</base_include> > <base_include type="dir">root</base_include> > <base_include type="dir">jack</base_include> > <base_include type="dir">var/svc/manifest</base_include> > <base_include type="dir">var/svc/profile</base_include> > <base_include type="dir">var/pkg/catalog</base_include> > <base_include > type="file">var/pkg/cfg_cache</base_include> > <base_include type="dir">etc</base_include> > <base_exclude type="dir">etc/gconf</base_exclude> > <base_exclude type="dir">etc/brltty</base_exclude> > <base_exclude type="dir">etc/gtk-2.0</base_exclude> > <base_exclude type="dir">etc/notices</base_exclude> > <base_include > type="dir">export/home/hpcuser</base_include> > </bootroot_contents> > <!-- If/how to compress the live image. > type = compression algorith to use for pkg.zlib and > misc.xlib. > Valid types are lzma, gzip, and none. --> > <live_img_compression type="lzma"/> > <!-- Where to build. This can be a zfs dataset or a mountpoint. > The area will be created if it doesn't exist. If the > build_area > is not a zfs dataset or mountpoint, checkpointing will > not > be enabled. > --> > <build_area>hpc_build/dc</build_area> > <!-- Grub menu modifications. Will use menu.lst if not specified > --> > <grub_menu_modifications> > <entry> > <title_suffix>with magnifier</title_suffix> > <line>kernel$ > /platform/i86pc/kernel/$ISADIR/unix -B > assistive_tech=magnifier</line> > <line>module /boot/x86.microroot</line> > </entry> > <entry> > <title_suffix>with screen reader</title_suffix> > <line>kernel$ > /platform/i86pc/kernel/$ISADIR/unix -B > assistive_tech=reader</line> > <line>module /boot/x86.microroot</line> > </entry> > </grub_menu_modifications> > <output_image> > <!-- List of finalizer scripts to be run. They are used > to customize the image and will be run in the > order listed. The name of the checkpoint to > be created when this script is run is required. > The checkpoint message is displayed when the > step is run and is optional. > There are 5 standard arguments that are passed > to > every finalizer script (manifest socket, > pkg_image path, > tmp dir, bootroot build area, media dir). You > may also > specify additional arguments (arg6+) in the > argslist. > This argslist is a whitespace-separated list of > double > quoted strings. --> > <finalizer> > <script > name="/usr/share/distro_const/pre_bootroot_pkg_image_mod"> > <checkpoint > name="im-mod" > message="Image area > modifications"/> > </script> > <script name="/usr/share/distro_const/slim_cd/ > slimcd_pre_bootroot_pkg_image_mod"> > <checkpoint > name="slim-im-mod" > message="Slim CD Image area > Modifications"/> > </script> > <script > name="/usr/share/distro_const/bootroot_initialize.py"> > <checkpoint > name="br-init" > message="Boot root > initialization"/> > </script> > <script name="/usr/share/distro_const/slim_cd/ > slimcd_bootroot_configure"> > <checkpoint > name="slim-br-config" > message="Slim CD boot root > configuration"/> > </script> > <script > name="/usr/share/distro_const/bootroot_configure"> > <checkpoint > name="br-config" > message="Boot root > configuration"/> > <argslist> > > "/usr/share/distro_const/slim_cd/slimcd_generic_live.xml" > ".livecd" > </argslist> > </script> > <script > name="/usr/share/distro_const/bootroot_archive.py"> > <checkpoint > name="br-arch" > message="Boot root archiving"/> > </script> > <script name="/usr/share/distro_const/slim_cd/ > slimcd_post_bootroot_pkg_image_mod"> > <checkpoint > name="slim-post-mod" > message="Slim CD post bootroot > image area modification"/> > </script> > <script > name="/usr/share/distro_const/grub_setup.py"> > <checkpoint > name="grub-setup" > message="Grub menu setup"/> > </script> > <script name="/usr/share/distro_const/ > post_bootroot_pkg_image_mod"> > <checkpoint > name="post-mod" > message="Post bootroot image > area modification"/> > <argslist> > "usr_zlib_compression=gzip" > </argslist> > </script> > <script > name="/usr/share/distro_const/create_iso"> > <checkpoint > name="iso" > message="ISO image creation"/> > </script> > <script > name="/usr/share/distro_const/create_usb"> > <checkpoint > name="usb" > message="USB image creation"/> > </script> > </finalizer> > <bootroot> > <!-- If/how to compress the bootroot. Valid > types are gzip and none --> > <compression type="gzip" level="9"/> > </bootroot> > </output_image> > </img_params> > <key_value_pairs> > <pair key="iso_sort" > value="/usr/share/distro_const/slim_cd/slimcd_iso.sort"/> > </key_value_pairs> > </distribution> >
