Subject: Re: 32-Bit Userland On 64-Bit Machine?
To: None <port-sparc64@netbsd.org, port-sparc@netbsd.org>
From: Bill Dorsey <dorsey@lila.com>
List: port-sparc64
Date: 05/25/2003 01:34:24
Hmm.  Either I screwed something up with the procedure I outlined 
below, or there are some issues with the 32-bit Sun4u kernel.  I was 
trying to build some software in pkgsrc (digest) and cc1 died from a 
signal 11.  After a number of tries, the kernel paniced with the 
following:

trap: textfault at 21070!! sending SIGILL due to trap 16: illegal 
instruction
trap: textfault at 21070!! sending SIGILL due to trap 16: illegal 
instruction
trap: textfault at 21070!! sending SIGILL due to trap 16: illegal 
instruction
trap: textfault at 21070!! sending SIGILL due to trap 16: illegal 
instruction
trap type 0x34: pc=1337f2c npc=1337f30 pstate=140006<PRIV,IE>
kernel trap 34: mem address not aligned
syncing disks... 18 6 done
Frame pointer is at 0xe5915a0
Call traceback:
e591608

Just when I thought I had my problems with this )$(#*%&#)$*( Ultra 
licked...  Anyone have any ideas?

--
Bill Dorsey

On Saturday, May 24, 2003, at 23:11 US/Pacific, Bill Dorsey wrote:

> Are you sure it's 200MHz?  A friend of mine has Solaris 9 installed on 
> his 270MHz Ultra, and I'm pretty sure when we checked the executables 
> in userland, they were 32-bit.  Also, Sun's "officially supported" 
> version of Linux (Debian) runs all the ultrasparcs with a 32-bit 
> kernel and 32-bit userland.
>
> In any event, after many hours of experimenting on my Ultra, I believe 
> I've discovered a (relatively) simple way to install a 32-bit kernel 
> and userland.  Maybe this could be a FAQ somewhere on the NetBSD web 
> site?
>
> 1)  Install the 64-bit miniroot filesystem on a disk partition (I used 
> the swap partition)
> 2)  Boot the miniroot off the miniroot partition, and install NetBSD 
> normally (with 64-bit kernel/executables)
> 3)  After sysinst is finished and returns you to a shell prompt, start 
> it up again
> 4)  Now tell it you want to install/upgrade.  When it asks you where 
> to get the binary sets from, specify a directory
>     containing the 32-bit binary sets.
> 5)  Once this second install is finished, return to the shell prompt, 
> mount the root filesystem on /mnt, and replace the
>     kernel with the 32-bit sun4u kernel from the NetBSD ftp site.
> 6)  Reboot your machine, and you should be running a 32-bit 
> kernel/32-bit userland on your Ultra.
>
> While it may be that running in 64-bit mode is the right way to go 
> down the line, until more of the pkgsrc sources I depend on (like 
> cyrus and apache-ssl) work in 64-bit big-endian mode, I'm stuck 
> running in 32-bit mode.  Given all the compiler warnings I saw scroll 
> by when I was trying to get these (and other packages) working in 
> 64-bit mode, it looks like it will take quite a bit of work to get 
> them all straightened out.
>
> --
> Bill Dorsey
>
> On Saturday, May 24, 2003, at 18:57 US/Pacific, Rick Kelly wrote:
>
>> Bill Dorsey said:
>>
>>> I find it a bit strange that what seems to me to be the most useful
>>> configuration of an ultra-sparc based system (running in 32-bit mode
>>> for best compatibility -- just as Sun does with Solaris) requires one
>>> to perform a lot of contortions before getting it working.
>>
>> From Solaris 8 and onwards, it only installs 32bit kernel on Ultra 
>> sparc
>> boxes of 200 mhz or less. I believe that Solaris 10 is eliminating 
>> 32bit
>> kernel mode all together.
>>
>>
>> -- 
>> Rick Kelly  rmk@rmkhome.com  www.rmkhome.com
>>
>>
>