OpenSolaris

Discussions Communities Projects Download Source Browser

Home » OpenSolaris Forums » OpenSolaris » code

Thread: Compiling OS b94 on SX:CE using SS12

Welcome, Guest Help
Login Login
Guest Settings Guest Settings
Reply to this Thread Reply to this Thread Search Forum Search Forum Back to Thread List Back to Thread List

Permlink Replies: 13 - Last Post: Nov 17, 2008 5:23 AM by: rob_c
rob_c

Posts: 129
From:

Registered: 6/30/08
Compiling OS b94 on SX:CE using SS12
Posted: Jul 24, 2008 4:05 PM
To: OpenSolaris » code
  Click to reply to this thread Reply

We are supposed to post about using SS12 to compile OpenSolaris so here goes:


I'm running SX:CE snv_93 (under VMware WS, under WinXP (SP3) :) ).


I read page:
Operating System/Networking (ON) Download Center
http://opensolaris.org/os/downloads/on/

I used source from page:
ON (OS/Net) Consolidation - b94
http://dlc.sun.com/osol/on/downloads/b94/


I read various "Building help files" and "Forum threads" such as:

Building OpenSolaris
http://opensolaris.org/os/community/on/devref_toc/devref_4/

Installation (from source) Quickstart
http://opensolaris.org/os/community/on/install_quickstart/

Thread: My experience compiling onnv_74 with Sun Studio 12
http://www.opensolaris.org/jive/thread.jspa?messageID=159049?

nl7c_sendfilev not found (use bldenv before nightly)
http://mail.opensolaris.org/pipermail/volo-dev/2008-May/000482.html

ld relocation errors occur when building the amd64 kernel for Nevada with mars build 30
http://bugs.opensolaris.org/view_bug.do;jsessionid=5712ed8166b105ffffffffa76775ccef0d019?bug_id=6470487

Change compile option from -Wu,-xmodel to -xmodel
http://bugs.opensolaris.org/view_bug.do;jsessionid=5712ed8166b105ffffffffa76775ccef0d019?bug_id=6563025


The page:
Using Sun Studio 12 with OpenSolaris
http://wikis.sun.com/display/SunStudio/Using+Sun+Studio+12+with+OpenSolaris

says that we can use SS12 to compile OpenSolaris _without_ fixing __SSNEXT after build 51 but I get the
"./debug64/unix.o" relocation errors (tons of 'em) and also very many warnings about: "-xarch=amd64 is
deprecated, use -m64 to create 64-bit programs" which would be nice to have fixed by the time b94 had come out ...

There are a number of other warnings that are numerous but not near as many as the prior two problems so
I'll include my 'mail' (edited for size) from my build as an attachment.

The links above should prove helpful for others who wish to try to build OpenSolaris.

I do not know that _I_ have a problem compiling that I will be unable to fix _on_my_own_ since I've only
been working a day on this ;) - but if someone expert in the building process spots an error and could post
a tip it would be appreciated by all.


(
Added note (help here would be great) - for Xen I read (but have yet to build it successfully - is there a better 'Build help' ?):
Building xen hypervisor
http://www.opensolaris.org/jive/thread.jspa?messageID=237154?
)

Thanks
Rob

rob_c

Posts: 129
From:

Registered: 6/30/08
Re: Compiling OS b94 on SX:CE using SS12
Posted: Jul 24, 2008 9:42 PM   in response to: rob_c
To: OpenSolaris » code
  Click to reply to this thread Reply

Running ' /opt/csw/bin/ggrep -m 1 -r xarch=amd64 * | grep -v Binary | grep -v make.state ' (Blastwave), in directory /aux0/testws I get:

proto/root_i386/usr/demo/mdb/Makefile.amd64:CFLAGS = -xarch=amd64
usr/src/Makefile.master:amd64_XARCH= -xarch=amd64 -Ui386 -U__i386
usr/src/cmd/mdb/demo/Makefile.amd64:CFLAGS = -xarch=amd64
usr/src/common/crypto/md5/amd64/md5_amd64.pl:# /ws/onnv-tools/onbld/bin/i386/aw -xarch=amd64 -P -a32 -o lea.o lea.s
usr/src/common/crypto/sha1/amd64/sha1-x86_64.pl:# /ws/onnv-tools/onbld/bin/i386/aw -xarch=amd64 -P -a32 -o lea.o lea.s
usr/src/noise-i386.out:CC: Warning: -xarch=amd64 is deprecated, use -m64 to create 64-bit programs
usr/src/install-i386.out:/opt/onbld/bin/i386/cw -_cc -xO3 -xarch=amd64 -Ui386 -U__i386 -Xa -xildoff -errtags=yes -errwarn=%all -erroff=E_EMPTY_TRANSLATION_UNIT -erroff=E_STATEMENT_NOT_REACHED -xc99=%none -W0,-xglobalstatic -DTEXT_DOMAIN=\"\" -D_TS_ERRNO -I/aux0/testws/proto/root_i386/usr/include -o main.1 -Mmap.noexeglobs.1.template main.c
usr/src/lib/libshell/misc/buildksh93.ksh: *.i386.64bit.suncc*) HOSTTYPE="sol11.i386" CC="${BSUNCC99} -xarch=amd64 -KPIC" CC_SHAREDLIB="-G" CCFLAGS="${BSUNCC_CCFLAGS}" ;;
usr/src/tools/aw/aw.c: * We also add '-xarch=amd64' in case we need to feed the assembler
usr/src/noise-i386.ref:CC: Warning: -xarch=amd64 is deprecated, use -m64 to create 64-bit programs

and checking the capitilized version I get:
# /opt/csw/bin/ggrep -m 1 -r Xarch * | grep -v Binary | grep -v make.state | grep -v lint.out

proto/root_i386/usr/demo/mdb/Makefile.amd64:LINTFLAGS = -Xarch=amd64
proto/root_i386/usr/demo/mdb/Makefile.sparcv9:LINTFLAGS = -Xarch=v9
usr/src/cmd/truss/sparcv9/Makefile:lint := LINTFLAGS64 = $(LINTFLAGS) -Xarch=v9
usr/src/cmd/ppgsz/sparcv9/Makefile:lint := LINTFLAGS64 = -x -Xarch=v9 -D_SYSCALL32
usr/src/cmd/w/sparcv9/Makefile:lint := LINTFLAGS64 = -x -Xarch=v9
usr/src/cmd/whodo/sparcv9/Makefile:lint := LINTFLAGS64 = -x -Xarch=v9
usr/src/cmd/gcore/sparcv9/Makefile:lint := LINTFLAGS64 = -x -Xarch=v9
usr/src/cmd/mdb/demo/Makefile.amd64:LINTFLAGS = -Xarch=amd64
usr/src/cmd/mdb/demo/Makefile.sparcv9:LINTFLAGS = -Xarch=v9
usr/src/cmd/ps/sparcv9/Makefile:lint := LINTFLAGS64 = -x -Xarch=v9
usr/src/cmd/fps/fptest/Makefile:LINTFLAGS = -I$(INCDIR) -I$(FPST_LOC) -Xarch=v9 -Dunix -uxn -errchk=longptr64,sizematch -Ncheck=macro -errhdr=`pwd` -Nlevel=2 -errtags=yes -errsecurity=core -DDP -D_sparc64
usr/src/cmd/sgs/ar/Makefile.com:LINTFLAGS64= -mx -Xarch=$(MACH64:sparcv9=v9)
usr/src/cmd/sgs/Makefile.var:VAR_LINTFLAGS64= -Xarch=$(MACH64:sparcv9=v9)
usr/src/cmd/sgs/nm/sparcv9/Makefile:LINTFLAGS64= -x $(LDLIBS) -Xarch=v9
usr/src/cmd/sgs/nm/amd64/Makefile:LINTFLAGS64 += -x $(LDLIBS) -Xarch=amd64
usr/src/cmd/plimit/sparcv9/Makefile:lint := LINTFLAGS64 = -x -Xarch=v9
usr/src/cmd/modload/sparcv9/Makefile:lint := LINTFLAGS64 = $(LINTFLAGS) -Xarch=v9
usr/src/cmd/nohup/sparcv9/Makefile:lint := LINTFLAGS64 = $(LINTFLAGS) -Xarch=v9
usr/src/cmd/Makefile.cmd:LINTFLAGS64= -axsm -Xarch=$(MACH64:sparcv9=v9)
usr/src/noise-i386.out:lint: Warning: -Xarch=amd64 is deprecated, use -m64 instead
usr/src/lint-noise-i386.ref:lint: Warning: -Xarch=amd64 is deprecated, use -m64 instead
usr/src/stand/lib/Makefile.sparc:LINTFLAGS64 = $(LINTFLAGS) -Xarch=v9
usr/src/uts/sun4u/Makefile.sun4u.shared:LINT_DEFS = -Xarch=v9
usr/src/uts/sun4v/Makefile.sun4v.shared:LINT_DEFS = -Xarch=v9
usr/src/uts/sparc/Makefile.sparc.shared:LINT_DEFS_64 = -Xarch=v9
usr/src/uts/Makefile.uts:LINTFLAGS_sparc_64 = $(LINTFLAGS_sparc_32) -Xarch=v9
usr/src/psm/Makefile.psm.64:$(SPARC_BLD)LINTFLAGS64 += -errchk=longptr64 -Xarch=v9
usr/src/psm/stand/boot/sparcv9/sun4v/Makefile:LINTFLAGS64 = $(LINTFLAGS) -Xarch=v9
usr/src/psm/stand/boot/sparcv9/sun4u/Makefile:LINTFLAGS64 = $(LINTFLAGS) -Xarch=v9
usr/src/lint-noise-i386.out:lint: Warning: -Xarch=amd64 is deprecated, use -m64 instead
usr/src/lib/libbsdmalloc/Makefile.com:LINTFLAGS64 = -uax -Xarch=$(MACH64:sparcv9=v9)
usr/src/lib/libfru/Makefile.flag:LINTFLAGS64 = $(LINTFLAGS) -Xarch=$(MACH64:sparcv9=v9)
usr/src/lib/libfru/libfrupicl/Makefile.com:LINTFLAGS64 = $(LINTFLAGS) -Xarch=$(MACH64:sparcv9=v9)
usr/src/lib/libfru/libfrureg/Makefile.com:LINTFLAGS64 = $(LINTFLAGS) -Xarch=$(MACH64:sparcv9=v9)
usr/src/lib/libfru/libfrupicltree/Makefile.com:LINTFLAGS64 = $(LINTFLAGS) -Xarch=$(MACH64:sparcv9=v9)
usr/src/lib/fm/libfmd_msg/Makefile.com:LINTFLAGS64 = -msux -Xarch=$(MACH64:sparcv9=v9)
usr/src/lib/fm/topo/libtopo/Makefile.com:LINTFLAGS64 = -msux -Xarch=$(MACH64:sparcv9=v9)
usr/src/lib/fm/libfmd_adm/Makefile.com:LINTFLAGS64 = -msux -Xarch=$(MACH64:sparcv9=v9)
usr/src/lib/fm/libfmd_snmp/Makefile.com:LINTFLAGS64 = -msux -Xarch=$(MACH64:sparcv9=v9)
usr/src/lib/fm/libmdesc/Makefile.com:$(LINTLIB) := LINTFLAGS64 = -nsvx -Xarch=$(MACH64:sparcv9=v9)
usr/src/lib/fm/libldom/Makefile.com:LINTFLAGS64 = -msux -Xarch=$(MACH64:sparcv9=v9)
usr/src/lib/fm/libdiagcode/Makefile.com:$(LINTLIB) := LINTFLAGS64 = -nsvx -Xarch=$(MACH64:sparcv9=v9)
usr/src/lib/fm/libfmd_log/Makefile.com:LINTFLAGS64 = -msux -Xarch=$(MACH64:sparcv9=v9)
usr/src/lib/libtsol/Makefile.com:LINTFLAGS64 += -Xarch=v9
usr/src/lib/libfruutils/Makefile.com:LINTFLAGS64 = $(LINTFLAGS) -Xarch=$(MACH64:sparcv9=v9)
usr/src/lib/libc/sparcv9/Makefile:$(LINTLIB):= LINTFLAGS64=-nvx -Xarch=v9
usr/src/lib/libc/amd64/Makefile:$(LINTLIB):= LINTFLAGS64=-nvx -Xarch=amd64
usr/src/lib/sasl_plugins/Makefile.com:LINTFLAGS64= -Xarch=$(MACH64:sparcv9=v9) $(ENC_FLAGS)
usr/src/lib/Makefile.lib:LINTFLAGS64= -uaxm -Xarch=$(MACH64:sparcv9=v9)
usr/src/lib/libpri/Makefile.com:LINTFLAGS64 = -msux -Xarch=$(MACH64:sparcv9=v9)
usr/src/lint-i386.out:lint: Warning: -Xarch=amd64 is deprecated, use -m64 instead
usr/src/ucbcmd/ps/sparcv9/Makefile:lint := LINTFLAGS64 = -x -Xarch=v9
usr/src/noise-i386.ref:lint: Warning: -Xarch=amd64 is deprecated, use -m64 instead


With all those Makefile fixes and the large amount of lint (shown in the attachment) about:
warning: function argument type inconsistent with format
warning: function argument declared inconsistently
warning: value type declared inconsistently
warning: argument used inconsistently

makes me wonder if no one is compiling the DEBUG sources, turning off lint, or not using SS12 (unlikely?) - seems like I have my weekend planned ...

rob_c

Posts: 129
From:

Registered: 6/30/08
Re: Compiling OS b94 on SX:CE using SS12
Posted: Jul 26, 2008 8:59 AM   in response to: rob_c
To: OpenSolaris » code
  Click to reply to this thread Reply

> makes me wonder if no one is compiling the DEBUG sources, turning off lint, or not using SS12 (unlikely?)

but if people are using the "-i" option with nightly that could happen (no linting).


To fix the Makefiles I applied this gdiff (see attachment), it fixes _most_ of the "-xarch=amd64 is deprecated" warnings but I seem to have missed a few. I'll post an update later.


Using that diff fixes thing sufficiently to get far enough to discover another problem.

elfsign: Unable to open /aux0/testws/usr/src/../closed/cmd/cmd-crypto/etc/certs/SUNWosnetSE as a certificate.


We (outside of Sun, or not in the 'gate group' ?) do not have SUNWosnetSE , we only have:

# ls -l /aux0/testws/usr/src/cmd/cmd-crypto/etc/certs
total 40
-r--r--r-- 1 9243 staff 1194 Jul 18 15:33 CA
-r--r--r-- 1 9243 staff 2466 Jul 18 15:33 SUNWCryptographic10
-r--r--r-- 1 9243 staff 2369 Jul 18 15:33 SUNWCryptographic11_Limited
-rw-r--r-- 1 root root 1761 Jul 25 08:20 SUNWObjectCA
-r--r--r-- 1 9243 staff 2844 Jul 18 15:33 SUNWObjectCA.annot
-r--r--r-- 1 9243 staff 2296 Jul 18 15:33 SUNWSolaris10
-r--r--r-- 1 9243 staff 2466 Jul 18 15:33 SUNWSolarisCA

They are in a different directory so either the one of the Makefiles are supposed to create
SUNWosnetSE using some yet to be discovered (by me) process or there is something
missing. I'm getting things to compile 'fairly well' but am getting a lot of problems for not
having that certificate available. Here is one example:

# cd /aux0/testws/usr/src/grub/grub-0.95/grub
# dmake -f Makefile.solaris install
dmake: defaulting to parallel mode.
See the man page dmake(1) for more information on setting up the .dmakerc file.
/usr/sfw/bin/gcc -g -O2 -Wl,-Mmapfile-intf -L/aux0/testws/proto/root_i386/lib -L/aux0/testws/proto/root_i386/usr/lib -o grub asmstub.o main.o ../stage2/libgrub.a ../lib/libcommon.a -lcurses
elfsign: Unable to open /aux0/testws/usr/src/../closed/cmd/cmd-crypto/etc/certs/SUNWosnetSE as a certificate.
*** Error code 4
The following command caused the error:
/usr/ccs/bin/mcs -d -a "@(#)SunOS 5.11 snv_94 October 2007" -a "@(#)SunOS Internal Development: `echo $LOGNAME` `date +%Y-%m-%d` `echo [\`basename $CODEMGR_WS\`]`" grub ; : ; /usr/bin/elfsign sign -k /aux0/testws/usr/src/../closed/cmd/cmd-crypto/etc/keys/SUNWosnetSE -c /aux0/testws/usr/src/../closed/cmd/cmd-crypto/etc/certs/SUNWosnetSE -e grub
dmake: Fatal error: Command failed for target `grub'
Current working directory /aux0/testws/usr/src/grub/grub-0.95/grub
#

Similar errors occur in many other 'closed' directories. I suspect that the sources on page:
http://dlc.sun.com/osol/on/downloads/b94/ have not been packaged so that 'anyone' can
download and compile them without having other files that are unavailable (outside of Sun).

Rob

carlsonj

Posts: 6,810
From: US

Registered: 3/9/05
Re: Compiling OS b94 on SX:CE using SS12
Posted: Jul 28, 2008 4:17 AM   in response to: rob_c

  Click to reply to this thread Reply

Rob Clark writes:
> Using that diff fixes thing sufficiently to get far enough to discover another problem.
>
> elfsign: Unable to open /aux0/testws/usr/src/../closed/cmd/cmd-crypto/etc/certs/SUNWosnetSE as a certificate.

Do you have "CLOSED_IS_PRESENT=no" in your environment?

> # cd /aux0/testws/usr/src/grub/grub-0.95/grub
> # dmake -f Makefile.solaris install

Try:

dmake CLOSED_IS_PRESENT=no -f Makefile.solaris install

Or use "bldenv" to set up the environment to be the same as in a
nightly build.

--
James Carlson, Solaris Networking <james dot d dot carlson at sun dot com>
Sun Microsystems / 35 Network Drive 71.232W Vox +1 781 442 2084
MS UBUR02-212 / Burlington MA 01803-2757 42.496N Fax +1 781 442 1677
_______________________________________________
opensolaris-code mailing list
opensolaris-code at opensolaris dot org
http://mail.opensolaris.org/mailman/listinfo/opensolaris-code


rob_c

Posts: 129
From:

Registered: 6/30/08
Re: Compiling OS b94 on SX:CE using SS12
Posted: Jul 26, 2008 9:07 AM   in response to: rob_c
To: OpenSolaris » code
  Click to reply to this thread Reply

To compile OpenSolaris b94 with Sun Studio 12 on SX:CE snv_93 I have had to keep some notes that
are composed of various 'Build help' files and various tips in other threads.

These are my current notes that _almost_ have a successful compile working (getting out of swap / memory,
but I have a fair bit). After increasing memory to 2GB the build worked (faster too):


## I'm following direction from URL: http://opensolaris.org/os/community/on/devref_toc/devref_1/
## Notes: go root, create a workspace drive (using c1t2d0 c1t3d0 c1t4d0 gives me 47GB)
## create a download and workspace directory, wget files, unpack files from download to workspace directory
## add "/opt/onbld/bin" to environment variable PATH, copy the opensolaris script to workspace,
## edit opensolaris.sh to set a few variables, run nightly, if doing a "cap-eye-install" run "Install"
## I'm username "vmware" and below any "##" are comments
##
$ su
# cd /export/home/vmware/Download

## Install 'on' Builder
# wget http://dlc.sun.com/osol/on/downloads/current/SUNWonbld.i386.tar.bz2
# bzip2 -dc SUNWonbld.i386.tar.bz2 | tar xf -
# pkgadd -d onbld SUNWonbld

## Make a large workspace
# zpool create -f aux0 c1t2d0 c1t3d0 c1t4d0
# cd /aux0
# mkdir /aux0/Download
# cd /aux0/Download

## wget (I only used the x86 DEBUG versions from http://dlc.sun.com/osol/on/downloads/b94/)
# wget http://dlc.sun.com/osol/on/downloads/b94/on-src.tar.bz2
# wget http://dlc.sun.com/osol/on/downloads/b94/xvm-src.tar.bz2
# wget http://dlc.sun.com/osol/on/downloads/b94/on-closed-bins.i386.tar.bz2
# wget http://dlc.sun.com/osol/on/downloads/b94/on-bfu-nightly-osol.i386.tar.bz2
# wget http://dlc.sun.com/osol/on/downloads/b94/README.opensolaris
# wget http://dlc.sun.com/osol/on/downloads/b94/on-changelog-b94.html

# mkdir /aux0/testws
# cd /aux0/testws
# bzip2 -dc ../Download/on-src.tar.bz2 | tar xf -
# bzip2 -dc ../Download/on-closed-bins.i386.tar.gz | tar xf -
# bzip2 -dc ../Download/on-bfu-nightly-osol.i386.tar.bz2 | tar xf -

## The directory /aux0/testws/closed _seems_ like the correct location for
## the 'closed' directory but Makefile.master likes "CLOSED=$(SRC)/../closed"
## so copy it there also.
# cp -r /aux0/testws/closed /aux0/testws/usr/

# export set PATH=/usr/sbin:/usr/bin:/opt/onbld/bin
# export set MANPATH= ... + /opt/onbld/man
# cp /aux0/testws/usr/src/tools/env/opensolaris.sh /aux0/testws

## Edit /aux0/testws/opensolaris.sh and set a few variables
## GATE=testws
## CODEMGR_WS="/aux0/$GATE"
## STAFFER=vmware (or your login)
## VERSION=snv_94
# nano opensolaris.sh (nano is from http://www.blastwave.org/)

## Setup environment variables ("-d" for DEBUG build)
# bldenv -d opensolaris.sh

## Setup environment variable Sun Studio 12
# export set __SSNEXT=""

## Check environment to ensure that BUILD_TOOLS=/opt and ONBLD_TOOLS=/opt/onbld
## (and ONBLD_TOOLS != /aux0/testws/usr/src/tools/proto/opt/onbld).

## Fix missing include files (may need to add "-i" to nightly to preserve these)
# cp -r -/ /usr/include/* /aux0/testws/proto/root_i386/usr/include/
# mkdir -p /aux0/testws/usr/closed/uts/
# cp -r -/ /aux0/testws/usr/src/uts/* /aux0/testws/usr/closed/uts/

## Avoid the Warning: "Don't know how to make target `/aux0/testws/proto/root_i386/usr/include/sys/memtest.h' "
# cp /opt/SUNWspro/prod/examples/memorychecks/memtest.h /aux0/testws/proto/root_i386/usr/include/sys/

## Avoid the error: elfsign: Unable to open /aux0/testws/usr/src/../closed/cmd/cmd-crypto/etc/certs/SUNWosnetSE as a certificate.
## Be certain that ./opensolaris.sh has ' CLOSED_IS_PRESENT="no" ' (you don't have closed source, just the bins).


## Now we can build OpenSolaris (make sure you have enough memory)
## Using 1280M took 8 hrs and the build failed
## Using 2048M only 73 minutes to rebuild using "-i"
# nightly ./opensolaris.sh &


## Now we can Cap-Eye-Install OpenSolaris (without overwriting current kernel)
# /opt/onbld/bin/Install -G kernel.snv_94 -k i86pc
## outputs: Creating tarfile /tmp/Install.vmware/Install.i86pc.tar

## bzip2 the file and move it to the root dir
# bzip2 -9 /tmp/Install.vmware/Install.i86pc.tar
# mv /tmp/Install.vmware/Install.i86pc.tar.bz2 /

## Actually install the kernel (to /platform) without overwriting the current kernel
# cd /
# bzip2 -dc Install.i86pc.tar.bz2 | tar xf -


## Boot the new kernel
## See URL: http://opensolaris.org/os/community/on/devref_toc/devref_5/

## (AMD64)
# reboot -- 'kernel.snv_94/amd64/unix'
## output: updating /platform/i86pc/amd64/boot_archive
## output: updating /platform/i86pc/boot_archive
## on reboot Grub menu displays "Solaris_reboot_transient" as highlighted entry
## BUT, there is an error on booting, see next message


## (x86) (32-bit)
# reboot -- 'kernel.snv_94/unix'



## If (when) that works I will try xVM too
## Now build the b94/xvm-src.tar.bz2 as described at URL: http://opensolaris.org/jive/thread.jspa?messageID=237884
# cd /aux0/testws
# bzip2 -dc ../Download/xvm-src.tar.bz2 | tar xf -
#

meem

Posts: 3,045
From: US

Registered: 3/9/05
Re: Compiling OS b94 on SX:CE using SS12
Posted: Jul 28, 2008 11:46 AM   in response to: rob_c

  Click to reply to this thread Reply


> ## Fix missing include files (may need to add "-i" to nightly to preserve these)
> # cp -r -/ /usr/include/* /aux0/testws/proto/root_i386/usr/include/

The above is not a fix, it's a workaround, and a bad one at that, since
there's no guarantee that the system's native header files will be
appropriate for the bits being built. Offhand, sounds like there are some
missing packages that you need to install.

--
meem
_______________________________________________
opensolaris-code mailing list
opensolaris-code at opensolaris dot org
http://mail.opensolaris.org/mailman/listinfo/opensolaris-code


rob_c

Posts: 129
From:

Registered: 6/30/08
Re: Compiling OS b94 on SX:CE using SS12
Posted: Jul 28, 2008 11:25 PM   in response to: rob_c
To: OpenSolaris » code
  Click to reply to this thread Reply

Here is the .diff file I used to rmove _most_ (but I missed a couple) of the
"Warning: -Xarch=amd64 is deprecated, use -m64 instead" messages and also a
copy of my mail_msg (with LOTS of lint).

Despite getting a number of errors and warnings during the compile (and linting),
complaints about "Files missing from the proto area" and "Inconsistencies between
pkgdefs and proto area" I am able to boot what I compiled and am running
"Mozilla Firefox 2.0.0.14" to enter this message.


To assist search engines to find this page I will include a few lines of the errors
that occurred during the build:

==== 'dmake lint' of src ERRORS ====

dmake: Fatal error: Could not fork child process for dmake job: Not enough space
dmake: Fatal error: Could not fork child process for dmake job: Not enough space
dmake: Fatal error: Could not fork child process for dmake job: Not enough space
dmake: Warning: Command failed for target `dmod/snarf.ln'
dmake: Warning: Command failed for target `dmod/walk_hsp.ln'
dmake: Warning: Command failed for target `dmod/simple_de_ic.ln'
dmake: Warning: Command failed for target `md'
dmake: Warning: Command failed for target `nca'
dmake: Warning: Command failed for target `nsmb'
dmake: Warning: Target `lint' not remade because of errors
dmake: Warning: Target `lint' not remade because of errors
dmake: Warning: Command failed for target `cmd/mdb'
dmake: Warning: Target `lint' not remade because of errors
dmake: Warning: Command failed for target `cmd/mesg'
dmake: Warning: Target `lint' not remade because of errors
...

==== lint warnings src ====
(many lint warnings - see attachment)
...
dmake: Warning: Command failed for target `cmd/mdb'
dmake: Warning: Command failed for target `cmd/mesg'
dmake: Warning: Command failed for target `dmod/simple_de_ic.ln'
dmake: Warning: Command failed for target `dmod/snarf.ln'
dmake: Warning: Command failed for target `dmod/walk_hsp.ln'
dmake: Warning: Command failed for target `md'
dmake: Warning: Command failed for target `nca'
dmake: Warning: Command failed for target `nsmb'
dmake: Warning: Target `lint' not remade because of errors
lint: Fatal error in /opt/SUNWspro/prod/bin/lint1
lint: Process table full - try again later
lint: Status 139
lint: Warning: -Xarch=amd64 is deprecated, use -m64 instead

...

==== Find core files ====

/aux0/testws/usr/src/./cmd/mdb/intel/ia32/nca/core: ELF 32-bit LSB core file 80386 Version 1, from 'dmake'
/aux0/testws/usr/src/./cmd/mdb/intel/ia32/md/core: ELF 32-bit LSB core file 80386 Version 1, from 'lint1'

==== Check lists of files ====

/aux0/testws/usr/src/pkgdefs/etc/exception_list_i386:132: usr/include/ike
/aux0/testws/usr/src/pkgdefs/etc/exception_list_i386:856: usr/include/sys/bmc_cmd.h

==== Impact on file permissions ====


==== Nightly build noise ====

sort: can't mmap anonymous memory: Resource temporarily unavailable
Usage: pmodes [-DowsnNmdePvq] [-r file] pkgdir ...


Attaching diff and mail in next message (since this website gives a "you are not
allowed to edit this message" warning when you try to attach files to a message
you have written (why?).

Rob

rob_c

Posts: 129
From:

Registered: 6/30/08
Re: Compiling OS b94 on SX:CE using SS12
Posted: Jul 28, 2008 11:32 PM   in response to: rob_c
To: OpenSolaris » code
  Click to reply to this thread Reply

Mail (with lots of lint) and a small gdiff file for most of the makefiles to remove most
of the "-Xarch=amd64 is deprecated, use -m64 instead" warnings from SS12.

rob_c

Posts: 129
From:

Registered: 6/30/08
Re: Compiling OS b94 on SX:CE using SS12
Posted: Jul 27, 2008 3:54 PM   in response to: rob_c
To: OpenSolaris » code
  Click to reply to this thread Reply

I installed SX:CE snv_93 with a mirrored ZFS root pool.


When rebooting I get a few errors:

DEBUG enabled
NOTICE: mount: not a UFS magic number (0x0)

panic[cpu0]/thread=fffffffffbc37ba0: cannot mount root path /ramdisk:a

fffffffffbc572d0 genunix:rootconf+11c ()
fffffffffbc57310 genunix:vfs_mountroot+63 ()
fffffffffbc57350 genunix:main+12f ()
fffffffffbc57360 unix:_locore_start+92 ()

skipping system dump - no dump device configured
rebooting...


This returns to the Grub menu and after the 8 second timeout retries again. :(

I'm enclosing a screenshot.

Any help would be appreciated.

Thanks,
Rob

rob_c

Posts: 129
From:

Registered: 6/30/08
Re: Compiling OS b94 on SX:CE using SS12
Posted: Jul 27, 2008 3:57 PM   in response to: rob_c
To: OpenSolaris » code
  Click to reply to this thread Reply

The prior message would not allow me to attach a file to it so I needed to make another post.

Screenshot of boot error:


There seems to be an answer here:

Thread: how to upgrade kernel by my own on root-zfs platform
http://www.opensolaris.org/jive/thread.jspa?messageID=235662

Thread: panic on snv_91
http://www.opensolaris.org/jive/thread.jspa?messageID=250904


I read the man page for reboot, boot and kernel and it seemed like I could use this command:

"man boot" says this:

Booting from ZFS
Booting from ZFS differs from booting from UFS in that, with
ZFS, a device specifier identifies a storage pool ...
This default selection can be overridden by specifying an
alternate bootable dataset with the -Z option.

So ...


# reboot -- 'kernel.snv_94/amd64/unix' -Z rpool
but that gave this error:
krtld: Ignoring invalid kernel option -Z.
krtld: Unused kernel arguments" 'rpool'.


The 'correct' method to modify Grub (from what I can tell) is to use bootadm
rather than modifying menu.lst directly but I'll try what the URLs above suggest,
here is my mod:


## Added this to end of /rpool/boot/grub/menu.lst
#---------- ADDED BY hand - DO NOT EDIT ----------
title OpenSolaris snv_94 X86 (my compile)
findroot (pool_rpool,0,a)
kernel$ /platform/i86pc/kernel.snv_94/$ISADIR/unix -B $ZFS-BOOTFS
module$ /platform/i86pc/$ISADIR/boot_archive


Now I use the [Start-Button] [Shutdown] and restart the system (the regular way).
I choose my new entry on the grub menu. Here is the result:


# uname -a
SunOS unknown 5.11 snv_94 i86pc i386 i86pc


It works OK.

That is how I compiled OpenSolaris b94 on Solaris Express Community Edition using Sun Studio 12 - whew.

No help needed for my first attempt.

jmcp

Posts: 937
From: AU

Registered: 3/9/05
Re: Compiling OS b94 on SX:CE using SS12
Posted: Jul 27, 2008 5:49 PM   in response to: rob_c

  Click to reply to this thread Reply

Rob Clark wrote:
> I installed SX:CE snv_93 with a mirrored ZFS root pool.
>
>
> When rebooting I get a few errors:
>
> DEBUG enabled
> NOTICE: mount: not a UFS magic number (0x0)
>
> panic[cpu0]/thread=fffffffffbc37ba0: cannot mount root path /ramdisk:a
>
> fffffffffbc572d0 genunix:rootconf+11c ()
> fffffffffbc57310 genunix:vfs_mountroot+63 ()
> fffffffffbc57350 genunix:main+12f ()
> fffffffffbc57360 unix:_locore_start+92 ()
>
> skipping system dump - no dump device configured
> rebooting...
>
>
> This returns to the Grub menu and after the 8 second timeout retries again. :(

add

-B $ZFS-BOOTFS

to your kernel$ line in grub, or run

reboot -- "-B \$ZFS-BOOTFS"



This is

6714681 snv_91's reboot panics system due to invalid grub menu entry



James C. McPherson
--
Senior Kernel Software Engineer, Solaris
Sun Microsystems
http://blogs.sun.com/jmcp http://www.jmcp.homeunix.com/blog
_______________________________________________
opensolaris-code mailing list
opensolaris-code at opensolaris dot org
http://mail.opensolaris.org/mailman/listinfo/opensolaris-code


rob_c

Posts: 129
From:

Registered: 6/30/08
Re: Compiling OS b94 on SX:CE using SS12
Posted: Jul 28, 2008 11:41 PM   in response to: jmcp
To: OpenSolaris » code
  Click to reply to this thread Reply

> Rob Clark wrote:
> > I installed SX:CE snv_93 with a mirrored ZFS root pool.
> >
> > When rebooting I get a few errors:
> >
> > DEBUG enabled
> > NOTICE: mount: not a UFS magic number (0x0)
...
>
> add
>
> -B $ZFS-BOOTFS
>
> to your kernel$ line in grub, or run
>
> reboot -- "-B \$ZFS-BOOTFS"
>
>
> This is 6714681 snv_91's reboot panics system due to invalid grub menu entry
>
> James C. McPherson
> Senior Kernel Software Engineer, Solaris
> Sun Microsystems
> http://blogs.sun.com/jmcp http://www.jmcp.homeunix.com
> /blog
> _______________________________________________

A have Grub working now, see prior posts in http://www.opensolaris.org/jive/thread.jspa?messageID=262982


> James C. McPherson
> reboot -- "-B \$ZFS-BOOTFS"

For reference purposes, does that mean (in my case) that I should use:

reboot -- "-B \$ZFS-BOOTFS" 'kernel.snv_94/amd64/unix'


Thanks for your post,
Rob

dmick

Posts: 522
From: US

Registered: 3/9/05
Re: Compiling OS b94 on SX:CE using SS12
Posted: Jul 29, 2008 5:48 PM   in response to: rob_c

  Click to reply to this thread Reply


>> reboot -- "-B \$ZFS-BOOTFS"
>
> For reference purposes, does that mean (in my case) that I should use:
>
> reboot -- "-B \$ZFS-BOOTFS" 'kernel.snv_94/amd64/unix'

-B is a kernel arg, so needs to succeed (rather than precede) the kernel file
name, but otherwise, yes, should work, I think.
_______________________________________________
opensolaris-code mailing list
opensolaris-code at opensolaris dot org
http://mail.opensolaris.org/mailman/listinfo/opensolaris-code


rob_c

Posts: 129
From:

Registered: 6/30/08
Re: Compiling OS b94 on SX:CE using SS12
Posted: Nov 17, 2008 5:23 AM   in response to: rob_c
To: OpenSolaris » code
  Click to reply to this thread Reply

Note: These instructions are "helpful" but not 100% applicable for building OpenSolaris b102 with SXCE_snv101.

Fixing the __SSNEXT environment variable is no longer necessary.




Terms of Use | Privacy | Trademarks | Copyright Policy | Site Guidelines
Your use of this web site or any of its content or software indicates your agreement to be bound by these Terms of Use.
Copyright © 1995-2005 Sun Microsystems, Inc.