Jürgen Keil
2009-May-30 17:33 UTC
Re: Is there such thing like kernel-headers for Solaris ?
To build the kernel bits you have to do something like this:
download and install the build tools:
wget http://dlc.sun.com/osol/on/downloads/b115/SUNWonbld.i386.tar.bz2
cp SUNWonbld.i386.tar.bz2 /tmp
bunzip2 /tmp/SUNWonbld.i386.tar.bz2
(cd /tmp; tar xf SUNWonbld.i386.tar.bz2)
su to root, and:
pkgadd -d /tmp SUNWonbld
After the package is installed, quit from the root shell.
setup the opensolaris.sh file (back to you normal user userid, in the onnv-3.4
directory):
cp usr/src/tools/env/opensolaris.sh .
edit the opensolaris.sh file that we''ve copied to the onnv-3.4
directory;
variables you need to change are:
GATE:
GATE=onnv-3.4;
CODEMGR_WS:
change /export to the directory where you unpacked onnv-3.4
STAFFER:
change it to your Solaris login username (the build logs are mailed
to this account)
SPRO_ROOT:
set it to the directory where you''ve installed the studio12
compiler,
in case you didn''t use the default of /opt/SUNWspro
Make sure that the onbuild tools and the sun studio12 compiler is in your $PATH
export PATH=/opt/onbld/bin:/opt/SUNWspro/bin:$PATH
It seems there is a problem with the iprb driver when building onnv-3.4 outside
of Sun,
so I had to modify one Makefile:
% hg diff
diff --git a/usr/src/pkgdefs/SUNWos86r/Makefile
b/usr/src/pkgdefs/SUNWos86r/Makefile
--- a/usr/src/pkgdefs/SUNWos86r/Makefile
+++ b/usr/src/pkgdefs/SUNWos86r/Makefile
@@ -31,7 +31,7 @@ MACHDATAFILES += i.sdconf
CLOBBERFILES += $(MACHDATAFILES)
LICENSEFILES += $(OSBL)
-LICENSEFILES += ../../../closed/uts/intel/io/iprb/THIRDPARTYLICENSE
+$(CLOSED_BUILD)LICENSEFILES +=
../../../closed/uts/intel/io/iprb/THIRDPARTYLICENSE
.KEEP_STATE:
Build everything, from the onnv-3.4 directory:
nightly opensolaris.sh
When the build is complete you should receive an email message
with subject "Nightly i386 Build of onnv-3.4 Completed."
In case there are failures, you''ll find log files in the
onnv-3.4/log/log-2009-MM-DD... subdirectories (it uses
a current timestamp as part of the directory name).
============================
Assuming the onnv-3.4 build completed without errror, you
can install the compiled bits like this:
Snapshot and clone your zfs root filesystem
zfs snapshot rpool/ROOT/snv-114@onnv-3.4
zfs clone -o mountpoint=legacy rpool/ROOT/snv-114@onnv-3.4
rpool/ROOT/onnv-3.4
Mount the cloned zfs root and install (bfu) the compiled onnv-3.4 bits:
mount -F zfs rpool/ROOT/onnv-3.4 /mnt
PATH=/opt/onbld/bin:$PATH
FASTFS=/opt/onbld/bin/`uname -p`/fastfs
BFULD=/opt/onbld/bin/`uname -p`/bfuld
EXTRACT_HOSTID=/opt/onbld/bin/`uname -p`/extract_hostid
ACR=/opt/onbld/bin/acr
GZIPBIN=/usr/bin/gzip
export PATH FASTFS BFULD ACR GZIPBIN EXTRACT_HOSTID
bfu /export/onnv-3.4/archives/i386/nightly-nd /mnt
When the bfu script has completed a shell is started. Run
the automatic conflict resolution utility for the root directory
that you''ve just upgraded:
acr /mnt
After acr has completed quit from shell.
Now you have to construct a new grub boot entry for the new
zfs root; edit /rpool/boot/grub/menu.lst; the new boot
entries should look like this:
title Solaris Express Community Edition (onnv-3.4)
bootfs rpool/ROOT/onnv-3.4
kernel$ /platform/i86pc/kernel/$ISADIR/unix -B $ZFS-BOOTFS -kv
module$ /platform/i86pc/$ISADIR/boot_archive
title Solaris xVM (onnv-3.4)
bootfs rpool/ROOT/onnv-3.4
kernel$ /boot/$ISADIR/xen.gz com1=9600,8n1 console=vga
module$ /platform/i86xpv/kernel/$ISADIR/unix
/platform/i86xpv/kernel/$ISADIR/unix -B $ZFS-BOOTFS -kv
module$ /platform/i86pc/$ISADIR/boot_archive
Reboot.
Try to boot the first entry "Solaris Express Community Edition
(onnv-3.4)".
This should boot using the new onnv-3.4 kernel, but without xen / xvm
support.
When it works ok, reboot, and try the second entry "Solaris xVM
(onnv-3.4)".
This should boot the new xen / xvm enabled dom0 kernel.
--
This message posted from opensolaris.org
Stuck at this point -bash-3.2# nightly opensolaris.sh /tmp/onnv-3.4_nightly.lock: No such file or directory i386 build of onnv-3.4 apparently already started by on as . I was waiting for about 20 minutes at this point...Should I wait longer ? Nothing under log folders. Thanks for the help. -- This message posted from opensolaris.org
Jürgen Keil
2009-Jun-01 18:44 UTC
Re: Is there such thing like kernel-headers for Solaris ?
> Stuck at this point > > -bash-3.2# nightly opensolaris.sh > /tmp/onnv-3.4_nightly.lock: No such file or directory > i386 build of onnv-3.4 apparently already started by on as . >Are you trying to build when logged in as user root? I''m building as a non-root user; I''m buildig under the ${STAFFER} user. I suspect it is failing in the /opt/onbld/bin/nightly script in the create_lock() shell function: create_lock() { lockf=$1 lockvar=$2 ldir=`dirname $lockf` [ -d $ldir ] || newdir $ldir || exit 1 eval $lockvar=$lockf while ! staffer ln -s $hostname.$STAFFER.$$ $lockf 2> /dev/null; do .... The "staffer" command is an internal shell function in the nightly script that tries to run a command under the userid ${STAFFER}; I suspect STAFFER isn''t set to a valid user name for your system. In case this doesn''t help fixing the problem, try to remove the "2> /dev/null" stderr output redirect in the above "staffer ln -s ..." command in the /opt/onbld/bin/nightly script, so that you can see the error message that is reported here...> I was waiting for about 20 minutes at this > point...Should I wait longer ? > Nothing under log folders.I suspect it is looping in the create_lock function, thinking that another compilation is already running because the lock symbolic link cannot be created. Btw. the full nightly compilation can take some time, my 2GHz dual core cpu systems need 2 - 2.5 hours for the full compilation. And that''s with disabled "shadow compilation" (export CW_NO_SHADOW=1) so that each file is compiled with SunC only, and not twice with SunC and gcc. -- This message posted from opensolaris.org
Ok.Everything worked out except I cannot boot into "Solaris xVM (onnv-3.4)" It stucks(See attached screenshot) Booting into "Solaris Express Community Edition (onnv-3.4)" is OK Please advice.Thanks. -- This message posted from opensolaris.org
Jürgen Keil
2009-Jun-05 17:07 UTC
Re: Is there such thing like kernel-headers for Solaris ?
> Ok.Everything worked out except I cannot boot into > "Solaris xVM (onnv-3.4)" > > It stucks(See screenshot here > > http://cmsintegra.com/xvm_logs/message.jpgIs that perhaps the xvm 3.4 dom0 MSI interrupt issue? http://mail.opensolaris.org/pipermail/xen-discuss/2009-June/004427.html -- This message posted from opensolaris.org
Bingo !!! That was it. Everything works! Finally I can move my freebsd stuff from esx...By-by vmware ! One probably last question.Is there reason why kernel boots with "DEBUG ENABLED" mode ? Is it possible turn it off ? Many,many thanks. -- This message posted from opensolaris.org
Jürgen Keil
2009-Jun-06 06:52 UTC
Re: Is there such thing like kernel-headers for Solaris ?
> Is there reason why kernel > boots with "DEBUG ENABLED" mode ? Is it possible turn it off ?The kernel can be compiled with full debugging enabled, or it can be compiled as release binary bits. This is controlled by the -D and -F NIGHTLY_OPTIONS in the opensolaris.sh file. If you remove the -D -F options and recompile with "nightly opensolaris.sh" you''ll get release binaries ( onnv-3.4/archives/i386/nightly-nd/ ) -- This message posted from opensolaris.org
Probably I''m missing something.I removed ''D'' and ''F'' options from opensolaris.sh Changed the following line from NIGHTLY_OPTIONS="-FNnaCDlmrt"; To NIGHTLY_OPTIONS="-NnaClmrt"; rerun nightly opensolaris.sh And repeated the whole process: zfs snapshot rpool/ROOT/snv_114@onnv-3.4-nodebug zfs clone -o mountpoint=legacy rpool/ROOT/snv_114@onnv-3.4-nodebug rpool/ROOT/onnv-3.4-nodebug mount -F zfs rpool/ROOT/onnv-3.4-nodebug /mnt bfu /root/onnv-3.4/archives/i386/nightly /mnt acr /mnt Adjusted menu.lst boot option to "rpool/ROOT/onnv-3.4-nodebug" Rebooted ,selected a right option from boot menu,but still boots with ''DEBUG ENABLED'' mode. Please advice. Thanks a lot. -- This message posted from opensolaris.org
James C. McPherson
2009-Jun-07 00:14 UTC
Re: Is there such thing like kernel-headers for Solaris ?
On Sat, 06 Jun 2009 16:04:51 -0700 (PDT) Alex Gor <no-reply@opensolaris.org> wrote:> Probably I''m missing something.I removed ''D'' and ''F'' options from opensolaris.sh > > Changed the following line > from > NIGHTLY_OPTIONS="-FNnaCDlmrt"; > To > NIGHTLY_OPTIONS="-NnaClmrt"; > > rerun > nightly opensolaris.sh > > And repeated the whole process: > > zfs snapshot rpool/ROOT/snv_114@onnv-3.4-nodebug > zfs clone -o mountpoint=legacy rpool/ROOT/snv_114@onnv-3.4-nodebug rpool/ROOT/onnv-3.4-nodebug > mount -F zfs rpool/ROOT/onnv-3.4-nodebug /mnt > bfu /root/onnv-3.4/archives/i386/nightly /mnt > acr /mnt > > Adjusted menu.lst boot option to "rpool/ROOT/onnv-3.4-nodebug" > > Rebooted ,selected a right option from boot menu,but still boots with ''DEBUG ENABLED'' mode.Did you set the bootfs property on rpool before rebooting?? # zpool set bootfs=rpool/ROOT/onnv-3.4-nodebug rpool # reboot James C. McPherson -- Senior Kernel Software Engineer, Solaris Sun Microsystems http://blogs.sun.com/jmcp http://www.jmcp.homeunix.com/blog Kernel Conference Australia - http://au.sun.com/sunnews/events/2009/kernel
Mark Johnson
2009-Jun-07 01:07 UTC
Re: Is there such thing like kernel-headers for Solaris ?
Alex Gor wrote:> Probably I''m missing something.I removed ''D'' and ''F'' options from opensolaris.sh > > Changed the following line > from > NIGHTLY_OPTIONS="-FNnaCDlmrt"; > To > NIGHTLY_OPTIONS="-NnaClmrt"; > > rerun > nightly opensolaris.sh > > And repeated the whole process: > > zfs snapshot rpool/ROOT/snv_114@onnv-3.4-nodebug > zfs clone -o mountpoint=legacy rpool/ROOT/snv_114@onnv-3.4-nodebug rpool/ROOT/onnv-3.4-nodebug > mount -F zfs rpool/ROOT/onnv-3.4-nodebug /mnt > bfu /root/onnv-3.4/archives/i386/nightly /mntthis should be bfu /root/onnv-3.4/archives/i386/nightly-nd /mnt> acr /mnt > > Adjusted menu.lst boot option to "rpool/ROOT/onnv-3.4-nodebug" > > Rebooted ,selected a right option from boot menu,but still boots with ''DEBUG ENABLED'' mode. > > Please advice. > Thanks a lot.
Thanks Mark,that made a trick. Also I removed -kv option from menu.lst to disable verbose mode. Huge Thanks everyone for helping me in that issue. Special thank to Jürgen. -- This message posted from opensolaris.org _______________________________________________ xen-discuss mailing list xen-discuss@opensolaris.org