[caiman-discuss] Sorting out files in bootcd_skel directory
Moinak Ghosh
Moinak.Ghosh at Sun.COM
Tue Sep 25 00:35:29 PDT 2007
Karen W. Tung wrote:
> To create a Live CD/DVD, the Live Media project introduced a set of files in the a directory called "bootcd_skel". The files in the directory replaces some files that are normally included as part of Solaris, and introduces some new files that are specific for making Live CD/DVD work.
> Instead of deliverying this whole set of files as a bundle, we are working on sorting out each file and see whether there is a better way to deliver them, eg: via a special package for Live Media...etc..
>
> As a first step, I went through each of these files and categorized them into the following 4 categories.
>
> - Microroot Only - LiveCD specific files
> - Proto area - LiveCD modifications of existing files
> - Changes that I think can be done using scripts instead of replacing the whole file.
> - Changes that I think is not necessary, or I am confused about what they are.
>
> If you see any problems with the way I sort them out, or if you have any input on some of
> the things I don't understand, please help with making the list better.
>
> -------------------------------------------------------------------------
> Microroot Only - LiveCD specific files
> --------------------------------
> f 0444 root:root .livecd
> - contains volume name
> f 0644 root:other reconfigure
> - ????
>
Indicates a re-configuration reboot. Every boot of the LiveCD necessarily
requires re-configuration of devices.
> f 0777 root:root noautoshutdown
> - ????
>
Disable power management. Though this can be achieved by properly
setting up the /etc/power.conf
> f 0755 root:sys kernel/fs/hsfs
> - hsfs driver (will this be included in NV by the time Indiana ships???)
>
Should be in. Testing is complete and I am waiting for the final
code-review
to complete after which I can submit the RTI.
[...]
> f 0644 root:root etc/rtc_config
> - Specifies the timezone to be GMT. This file doesn't seem to be
> included in any existing package. Is it normally created during
> install time?
>
Yes.
> f 0644 root:root etc/inet/routing.conf
> - Sets up routing. Not shipped by any package.
> Not sure whether content should be generated
> somehow instead of hardcoding here.
>
This file is included to avoid routed from running. I think this can now
be better administered via SMF and the route services can be disabled
in the generic_live.xml profile, so this file should be eventually be
dropped
> f 0644 root:other etc/.UNCONFIGURED
> - To indicate that this system is not configured?????
>
This file can be omitted. This is used by the sysid tools to figure
out whether
they need to run during a re-configuration reboot.
> For proto area
> ----------------
> f 0644 root:root boot/solaris/bootenv.rc
> - ???? - replaces the "standard" one
>
Critical for the LiveCD to work.
> f 0644 root:sys boot/grub/menu.lst
> - grub menu - replaces the "standard" one
> f 0644 root:root boot/grub/sx-boot.xpm.gz
> - grub menu background graphics - replaces the "standard" one
>
> The following changes are needed, can they be done with a script instead of
> replacing the whole file? (All these files only need to be in microroot)
> ----------------------------------------------------------------------
>
> f 0644 root:sys etc/security/prof_attr
> f 0644 root:sys etc/security/exec_attr
> - Need our customized one because we want to add the
> "Inetmenu" profile? Can we add the profile in via a command?
>
Yes.
> f 0644 root:staff etc/inet/hosts
> - Why need this one? Because we need to give localhost a "hostname"?
> Is it better just leave it to have no name?
>
Need this to avoid ugly warnings from syslog and sendmail.
> f 0644 root:sys etc/passwd
> - Makes "root" have home directory of /root, and shell of "bash".
> Is there a command to do this? If not, can we just modify
> the passwd file with a script?
>
Yes, should be a script.
> f 0400 root:sys etc/shadow
> - Gives an hardcoded password to the "root" user.
>
> f 0644 root:other etc/coreadm.conf
> - Specifies where core files should go to. This file is not
> shipped by any package.
>
This is generated via coreadm. Coreadm can be run by chrooting to the
proto area to set this up, so can be in a script.
>
> f 0644 root:root etc/nodename
> - Hard code name of the host. Can be created dynamically, based on
> user input. This file is not shipped by any package??
>
Yes should be based on user configuration.
> [...]
> f 0644 root:other etc/dumpadm.conf
> - Set crash dump enable to be "DUMPADM_ENABLE=no". This file is not
> installed by default. It is used by the "svc-dumpadm" script.
> Change script to not read dumpadm.conf for LiveCD?
>
This can be replaced by a script that executes dumpadm -n -r <proto dir>
> f 0644 root:sys etc/minor_perm
> - I don't know what's special in here for LiveCD? If we need to
> add something, probably can make mod with script.
>
This file should be omitted as it is generated automatically in the
proto.
> f 0644 root:root etc/resolv.conf
> - File not delivered by any package. Create it using script.
>
> Not necessary, I think
> ----------------------------
> f 0555 root:bin lib/opengl/ogl_select/nvidia_vendor_select
> - ????
>
This is part of an Xorg package but not needed in miniroot as the Nvidia
driver can't be included in Slim Install.
> f 0644 root:sys etc/profile
> f 0644 root:root etc/default_env.sh
> - Why need a customized etc/profile script? Just so that it can read
> in the customized "default_env.sh". Is it really necessary to
> have the "default_env.sh"?
>
The default_env is a hack and should be avoided. A pre-configured
/etc/profile is good since the default PATH setup in Solaris is too
limited.
> f 0600 root:root etc/ssh/ssh_host_dsa_key
> f 0644 root:root etc/ssh/ssh_host_dsa_key.pub
> f 0600 root:root etc/ssh/ssh_host_rsa_key
> f 0644 root:root etc/ssh/ssh_host_rsa_key.pub
> - Public and private keys for DSA and RSA shouldn't be hard coded.
>
Yep. These should be generated during every boot. These files can be
omitted.
>
> f 0644 root:sys etc/pam.conf
> - Looks like a lot of changes is for KDE. Since we don't ship KDE,
> do we need those changes?
>
No. This is actually a carry-over from BeleniX since the LiveKit had
it's origins from the BeleniX build scripts.
> [...]
> f 0644 root:sys etc/rpc
> - "sgi_fam" and "kde_dcompserver" are added. Are they needed for us?
>
Not needed.
> f 0644 root:sys etc/devlink.tab
> - ????
>
This should be removed from the bootcd_skel as it is auto-generated in
the proto.
> f 0644 root:root etc/nsswitch.conf
> - Looks the same as the normal nsswitch.files to me. Can we just
> copy nsswitch.files to be this one?
>
Yes.
> f 0644 root:root etc/nsswitch.nis
> - Why need to use NIS?
>
This is needed if the DHCP server provides NIS and the user
wants to use it.
> d 0755 root:root etc/xconfigs
> f 0644 root:root etc/xconfigs/xorg.conf.virtpc
> f 0644 root:root etc/xconfigs/xorg.conf.f4k
> - Special config for the Xserver for certain type of graphics card??
>
Not needed.
> f 0644 root:sys etc/logindevperm
> - ??? don't know what is special about this compare to the default
>
> f 0640 root:smmsp etc/mail/aliases.db
> - Not delivered in any package. Not sure why this is needed.
>
> f 0644 root:sys etc/security/device_policy
> - Not sure what is needed here
>
These are all auto-generated in proto, so can be removed from
bootcd_skel.
> f 0644 root:sys etc/services
> - Added the "KDE" service?
>
Again carry over from BeleniX.
Regards,
Moinak.
> --
> This message posted from opensolaris.org
> _______________________________________________
> caiman-discuss mailing list
> caiman-discuss at opensolaris.org
> http://mail.opensolaris.org/mailman/listinfo/caiman-discuss
>
More information about the caiman-discuss
mailing list