As part of the debug process of a new hardware, a Sun partner is trying
to change the source code in the Opensolaris kernel and building the
kernel at their site on an x86 system. They are running into some
issues. Can anyone who has experience in building a debug kernel please
help?
=====================================================================
According to the SUN documentation for creating the OpenSolaris kernel
I did the following steps:
1 My home directory is : /export/home/testws
2 Installation of source tree: /export/home/testws/usr/src/uts ...
3 Installation of compiler (SUNWspro) and on-closed-bins-nd.i386.tar .. done
4 Setting up build environment as:
PATH=/opt/SUNWspro/bin:/opt/onbld/bin:/usr/sbin:/usr/bin:/usr/openwin/bin
export PATH
SRC=/export/home/testws/usr/src
export SRC
bldenv ./opensolaris.sh
says:
Build type is non-DEBUG
RELEASE is
VERSION is home/testws
RELEASE_DATE is
The top-level 'setup' target is available to build headers and tools.
Using /sbin/sh as shell.
... this seems to be ok ...
5 HERE THE KERNEL COMPILATION BEGINS:
uname -a
SunOS tv889 5.11 snv_112 i86pc i386 i86pc
cd /export/home/testws/usr/src/uts/i86pc
make all -> ok finishes
6 Install -k i86pc -G my-kernel
First problem ???? :
cp: cannot access
/export/home/testws/usr/src/uts/intel/ncall/debug64/ncall
can't create
/tmp/Install.root/i86pc/platform/i86pc/my-kernel/drv/amd64/ncall
Question: how to solve this ... ?
... may ignore the problem since a subdirectory has been created in:
/tmp/Install.root/i86pc/platform/i86pc/my-kernel/
7 cd /
tar xf /tmp/Install.root/Install.i86pc.tar
Second problem ???? :
Install did not create a tar - ball as assumed but a directory !?
8 I manually added an entry to the /boot/grub/menu.lst :
#----------------------------------------------------
title Solaris Express Community Edition snv_112 X86 TEST
findroot (rootfs0,0,a)
kernel$ /platform/my-kernel/kernel/$ISADIR/unix
module$ /platform/my-kernel/$ISADIR/boot_archive
#----------------------------------------------------
Q: what has to be done to be able to boot from the
menu.lst entry above beginning at step 7 above ?
Q: How do I create the corresponding boot_archive file for the
new kernel (bootadm ...) ?
.
.
.
additionally to my previous mail I got the following problem when I try
to reboot from a new kernel (menu.lst entry), which is referred as :
Bug#: 2789 (Michal Vranek)
Reboot into the new boot environment.
-- After selecting opensolaris-1 entry from GRUB menu a module
loading
problem appears:
krtld: bind_primary(): no relocation information found for module
/platform/i86pc/kernel/amd64/unix
krtld: error during initial load/link phase
This happens in case of having a boot_archive build with bootadm command
....
The "no relocation" - message applies to my new kernel .
Do I need a patch for this .... ?
==================================================================================
Thanks,
--santwona