« November 2009
SunMonTueWedThuFriSat
1
2
3
4
5
6
7
8
9
10
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
     
       
Today
XML

Neat blogs

Navigation

Editing

Powered by Roller Weblogger.

statcounter.com

clustrmaps.com

Locations of visitors to this page

technorati.com

20060317 Friday March 17, 2006
Kanigix - An experiment in packaging 5

So I found a couple of really interesting reads:

I have the last two because I'm getting smarter about what is going on. I read the first and thought, "Wait, what about grub?" Sure enough, I'm pretty sure grub complicates things. Lets look at the root of the Nevada b35 DVD:

# ls -la
total 946
dr-xr-xr-x   2 root     sys         4096 Mar  6 15:24 .
drwxr-xr-x   3 root     nobody       512 Mar 16 21:30 ..
-r--r--r--   1 root     root        2048 Mar  6 15:25 .catalog
-r--r--r--   1 root     root          92 Feb 18 01:27 .cdtoc
dr-xr-xr-x   5 root     root        2048 Mar  6 15:24 .install
lr-xr-xr-x   1 root     root          33 Mar  6 15:23 .install_config -> ./Solaris_11/Misc/.install_config
-r--r--r--   1 root     root         419 Mar  2 17:33 .slicemapfile
-r--r--r--   1 root     root          15 Mar  2 17:33 .volume.inf
-r--r--r--   1 root     root          17 Mar  6 14:34 .volume.inf.2
-r--r--r--   1 root     root          17 Mar  6 14:36 .volume.inf.3
-r--r--r--   1 root     root          17 Mar  6 14:37 .volume.inf.4
-r--r--r--   1 root     root        6851 Mar  2 17:33 Copyright
-r--r--r--   1 root     root      459760 Mar  2 17:33 JDS-THIRDPARTYLICENSEREADME
dr-xr-xr-x   8 root     root        2048 Mar  6 15:24 Solaris_11
dr-xr-xr-x   3 root     root        2048 Mar  6 15:24 boot
-r-xr-xr-x   1 root     root         257 Mar  6 14:37 installer

And lets now look at the root of a Solaris 10 CD. I think this was the first official release:

[tdh@adept cdrecorder]> ls -la
total 1911
drwxr-xr-x  3 root bin     2048 Jan 22  2005 .
drwxr-xr-x  3 root root    4096 Mar 15 00:29 ..
-rw-r--r--  2 root bin  1474560 Jan 22  2005 .bootimage
-r--r--r--  1 root bin     2048 Jan 22  2005 .catalog
-r--r--r--  2 root root      87 Jan  6  2005 .cdtoc
-r--r--r--  2 root root    6308 Jan  6  2005 Copyright
lrwxrwxrwx  1 root bin       33 Jan 22  2005 .install_config -> ./Solaris_10/Misc/.install_config
-r--r--r--  2 root root  459760 Jan  6  2005 JDS-THIRDPARTYLICENSEREADME
-r--r--r--  2 root root     419 Jan  6  2005 .slicemapfile
drwxr-xr-x  7 root root    2048 Jan 22  2005 Solaris_10
-r--r--r--  2 root root      19 Jan  6  2005 .volume.inf
[tdh@adept cdrecorder]> more .slicemapfile

#
# @(#) i386.dot.slicemapfile 1.4@(#)
#

#
#
# a slice map file for install CD boot slices - maps platform (or not)
# or karch to an install boot slice.
#
# entries are one of:
# x ""  <`uname -i`>            exclude platform (must preceed "m" entries)
#                               used if the platform is not really in a karch
# p  <`uname -i`>        platform token entry (must preceed "m" entries)
# m  <`uname -m`>        karch entry
#

m       0       i86pc

If you've been paying attention, you might realize that adept is my Linux desktop. If I put this CD in wont, my Nevada b35 system, it will consistently panic. I've got a core file to submit a bug later.

Right off the bat, we can see that the Solaris 10 system has a .bootimage file and the Nevada b35 does not. According to Creating a Customized Boot CD/DVD for the Solaris Operating System for x86 Platforms, there should be a .bootimage file. Since there is not, I'm going to skip the experiment of creating one.

I think I've got to use installgrub to make the DVD bootable.

I think my options are to either:

  • Use a trick from the blueprint to create a MBR I can burn to the DVD.
  • Snarf the MBR from the current DVD and zap it back onto the new one.

I've done a lot of googling and I should have gone to the source: Making a GRUB bootable CD-ROM. And I can find the stage2_eltorito file here:

# cd /boot/grub/
# ls -la
total 1246
drwxr-xr-x   3 root     sys          512 Mar 16 00:08 .
drwxr-xr-x   5 root     sys          512 Mar 16 00:08 ..
drwxr-xr-x   2 root     sys          512 Mar 15 23:33 bin
-r--r--r--   1 root     sys           10 Mar  3 15:11 default
-rw-r--r--   1 root     sys         8500 Mar  3 15:11 e2fs_stage1_5
-rw-r--r--   1 root     sys         8228 Mar  3 15:11 fat_stage1_5
-rw-r--r--   1 root     sys         7508 Mar  3 15:11 ffs_stage1_5
-rw-r--r--   1 root     sys          496 Mar  3 15:11 install_menu
-rw-r--r--   1 root     sys         7608 Mar  3 15:11 iso9660_stage1_5
-rw-r--r--   1 root     sys         8996 Mar  3 15:11 jfs_stage1_5
-rw-r--r--   1 root     sys         1633 Mar 16 00:08 menu.lst
-rw-r--r--   1 root     sys         7700 Mar  3 15:11 minix_stage1_5
-rw-r--r--   1 root     sys       118288 Mar  3 15:11 nbgrub
-rw-r--r--   1 root     sys       119312 Mar  3 15:11 pxegrub
-rw-r--r--   1 root     sys         9940 Mar  3 15:11 reiserfs_stage1_5
-rw-r--r--   1 root     sys         8772 Mar  3 15:11 splash.xpm.gz
-rw-r--r--   1 root     sys          512 Mar  3 15:11 stage1
-rw-r--r--   1 root     sys       118896 Mar  3 15:11 stage2
-rw-r--r--   1 root     sys       118896 Mar  3 15:11 stage2_eltorito
-rw-r--r--   1 root     sys         7784 Mar  3 15:11 ufs2_stage1_5
-rw-r--r--   1 root     sys         7380 Mar  3 15:11 ufs_stage1_5
-rw-r--r--   1 root     sys         7124 Mar  3 15:11 vstafs_stage1_5
-rw-r--r--   1 root     sys         9820 Mar  3 15:11 xfs_stage1_5

Note: From the BigAdmin articles, I want to use Sun supplied files, they have made changes to grub which may not yet be back-ported.

# mkisofs -R -b boot/grub/stage2_eltorito -no-emul-boot -boot-load-size 4 -R -d -L -l -r -D -U  -boot-info-table -o /isos/kanigix.iso /kanigix
Using ".mkisofsrc"
mkisofs: The option '-L' is reserved by POSIX.1-2001.
mkisofs: The option '-L' means 'follow all symbolic links'.
mkisofs: Mkisofs-2.02 will introduce POSIX semantics for '-L'.
mkisofs: Use -allow-leading-dots in future to get old mkisofs behavior.
Warning: creating filesystem that does not conform to ISO-9660.
Using TopicSelectors$Subscri000.class for  /kanigix/Solaris_11/Product/SUNWiqdoc/reloc/usr/demo/imq/jms/TopicSelectors$Subscriber$MultipleListener.class (TopicSelectors$Subscriber.class)
Using MessageHeadersTopic$He000.class for  /kanigix/Solaris_11/Product/SUNWiqdoc/reloc/usr/demo/imq/jms/MessageHeadersTopic$HeaderPublisher.class (MessageHeadersTopic$HeaderSubscriber.class)
Using DurableSubscriberExamp000.class for  /kanigix/Solaris_11/Product/SUNWiqdoc/reloc/usr/demo/imq/jms/DurableSubscriberExample$1.class (DurableSubscriberExample$DurableSubscriber$TextListener.class)
Using DurableSubscriberExamp001.class for  /kanigix/Solaris_11/Product/SUNWiqdoc/reloc/usr/demo/imq/jms/DurableSubscriberExample$DurableSubscriber$TextListener.class (DurableSubscriberExample$DurableSubscriber.class)
Using DurableSubscriberExamp002.class for  /kanigix/Solaris_11/Product/SUNWiqdoc/reloc/usr/demo/imq/jms/DurableSubscriberExample$DurableSubscriber.class (DurableSubscriberExample$MultiplePublisher.class)
Using AsynchTopicExample$Asy000.class for  /kanigix/Solaris_11/Product/SUNWiqdoc/reloc/usr/demo/imq/jms/AsynchTopicExample$AsynchSubscriber$TextListener.class (AsynchTopicExample$AsynchSubscriber.class)
Using AckEquivExample$Asynch000.class for  /kanigix/Solaris_11/Product/SUNWiqdoc/reloc/usr/demo/imq/jms/AckEquivExample$AsynchSubscriber$TextListener.class (AckEquivExample$AsynchSubscriber.class)
Using NamedPipeSocketFactory000.class for  /kanigix/companion/Solaris_sparc/components/sparc/Packages/SFWmyjdb/reloc/sfw/mysql/share/jdbc/com/mysql/jdbc/NamedPipeSocketFactory$RandomAccessFileOutputStream.class (NamedPipeSocketFactory$RandomAccessFileInputStream.class)
Using NamedPipeSocketFactory000.class for  /kanigix/companion/Solaris_x86/components/i386/Packages/SFWmyjdb/reloc/sfw/mysql/share/jdbc/com/mysql/jdbc/NamedPipeSocketFactory$RandomAccessFileOutputStream.class (NamedPipeSocketFactory$RandomAccessFileInputStream.class)
Size of boot image is 4 sectors -> No emulation
  3.30% done, estimate finish Thu Mar 16 23:49:50 2006
  3.60% done, estimate finish Thu Mar 16 23:50:25 2006
  3.90% done, estimate finish Thu Mar 16 23:50:55 2006
  4.20% done, estimate finish Thu Mar 16 23:50:57 2006
  4.50% done, estimate finish Thu Mar 16 23:51:21 2006
  4.80% done, estimate finish Thu Mar 16 23:51:21 2006
...
 99.82% done, estimate finish Thu Mar 16 23:55:21 2006
Total translation table size: 2048
Total rockridge attributes bytes: 12099008
Total directory bytes: 106348544
Path table size(bytes): 772046
Max brk space used 6aba000
1667923 extents written (3257 MB)
# ls -la /isos/kanigix.iso
-rw-r--r--   1 root     root     3415906304 Mar 16 23:55 /isos/kanigix.iso

Houston, we have liftoff!

Okay, it booted - which is what I wanted to accomplish. Lets see if it will install. I've gotten it past doing the layout of the disk and now it is putting packages on. The key will be some of the Java class stuff, i.e., the translation warnings I got from mkisofs.

And it installed and then booted again. (Next goal is to be able to install the Solaris Software Companion Stuff before this reboot.) Hmm, I guess I also need to get some branding in place.

So the Solaris Software Companion bits are installing okay. My next step is to put together a script to automate this creation. I'll be putting that up on kanigix.org. By the way, the DVD has fancy artwork - I'll try to capture an image with the diffuse day light sometime in the day.


Technorati Tags:
Orginally posted on Kool Aid Served Daily
Copyright (C) 2006, Kool Aid Served Daily

Trackback URL: http://blogs.sun.com/tdh/entry/kanigix_an_experiment_in_packaging4
Comments:

hey tom - thanks for the walkthrough/guide. :) i'm putting together an OpenSolaris DVD freebie for the FISL conference next month, and your blog entries were instrumental in helping me out. much appreciated... cheers, steve

Posted by stevel on March 22, 2006 at 07:56 PM CST #

Post a Comment:

Name:
E-Mail:
URL:

Your Comment:

HTML Syntax: NOT allowed