# Can't boot FreeBSD 8.1 on T2000 from network



## ro (Sep 7, 2010)

Hi all.

I have to try boot FreeBSD on T2000 from network with dhcp in it. If I put the standart loader, to tftp - I receive:

```
{0} ok boot net:dhcp


T5140, No Keyboard                                                                                                                                           
Copyright 2009 Sun Microsystems, Inc.  All rights reserved.                                                                                                  
OpenBoot 4.30.4, 32544 MB memory available, Serial #87836946.                                                                                                
Ethernet address 0:21:28:3c:49:12, Host ID: 853c4912.                                                                                                        
                                                                                                                                                             
                                                                                                                                                             
                                                                                                                                                             
Boot device: /pci@500/pci@0/pci@8/network@0:dhcp  File and args:                                                                                             
/pci@500/pci@0/pci@8/network@0: 1000 Mbps full duplex link up                                                                                                
Timed out waiting for BOOTP/DHCP reply                                                                                                                       
Consoles: Open Firmware console                                                                                                                              

Booting with sun4v support.

FreeBSD/sparc64 bootstrap loader, Revision 1.0
(root@c7.dtd, Fri Sep  3 01:25:24 MSD 2010)
bootpath="/pci@500/pci@0/pci@8/network@0:dhcp"
boot: ethernet address: 00:21:28:3c:49:12
/pci@500/pci@0/pci@8/network@0: 1000 Mbps full duplex link up
Loading /boot/defaults/loader.conf 
/boot/kernel/kernel data=0x9bbb48+0x75d68 syms=[0x8+0xa7aa8+0x8+0x99ea2]
|
Hit [Enter] to boot immediately, or any other key for command prompt.
Booting [/boot/kernel/kernel]...               
jumping to kernel entry at 0xc0088000.
ERROR: Last Trap: Illegal Instruction

{0} ok
```
If I put the loader.nfs into tftp, I receive:

```
{0} ok boot net:dhcp


T5140, No Keyboard
Copyright 2009 Sun Microsystems, Inc.  All rights reserved.
OpenBoot 4.30.4, 32544 MB memory available, Serial #87836946.
Ethernet address 0:21:28:3c:49:12, Host ID: 853c4912.



Boot device: /pci@500/pci@0/pci@8/network@0:dhcp  File and args: 
/pci@500/pci@0/pci@8/network@0: 1000 Mbps full duplex link up
Timed out waiting for BOOTP/DHCP reply
Console: OpenFirmware console
ERROR: Last Trap: Privileged Action

{0} ok
```
What's wrong? Can anybody help me?
10x


----------



## mmoll (Sep 7, 2010)

ro said:
			
		

> What's wrong? Can anybody help me?
> 10x



T2000 is sun4v, which is not supported at the moment as porting efforts stalled some years ago, see http://lists.freebsd.org/pipermail/freebsd-sun4v/2009-December/000098.html

Besides Solaris, OpenBSD should run quite good on these machines.


----------



## ro (Sep 8, 2010)

Ooops, I'm soory, I,m confused.
Thanks for the help.


----------



## ro (Sep 9, 2010)

The FreeBSD/sun4v is unstable right now. I understand it.
It was a mistake to try to boot sparc64 on T2000. I've cross-compiled sun4v arch from 8.1-release sources, and tried to boot again. Jump-start was fine, but after kernel was loaded, I receive panic:

```
FreeBSD is a registered trademark of The FreeBSD Foundation.
FreeBSD 8.1-RELEASE #2: Thu Sep  9 10:28:23 MSD 2010
    root@c7.dtd:/usr/obj/sun4v/usr/home/net_boot/diskless/8.1-release-sun4v/usr/src/sys/diskless-8.1-sun4v sun4v
Preloaded elf kernel "/boot/kernel/kernel" at 0xc0b80000.
Preloaded mfs_root "/boot/mfsroot" at 0xc0b80130.
db_command_register: Warning, the command "halt" already exists; ignoring request
db_command_register: Warning, the command "reboot" already exists; ignoring request
Timecounter "tick" frequency 1165383408 Hz quality 1000
real memory  = 34124857344 (32544 MB)
avail memory = 33554702336 (32000 MB)
machine: SUNW,T5140
32 cpus: UltraSparc T1 Processor (1165.38 MHz CPU)
FreeBSD/SMP: Multiprocessor System Detected: 32 CPUs
mem: <memory>
nfslock: pseudo-device
null: <null device, zero device>
random: <entropy source, Software, Yarrow>
openfirm: <Open Firmware control device>
nexus0: <Open Firmware Nexus device>
panic: can't get cell sizes
```
The kernel was build with:

```
device          nxge
options         BOOTP
options         BOOTP_NFSROOT
options         BOOTP_NFSV3
options         BOOTP_COMPAT
options         BOOTP_WIRED_TO=nxge0
options         NFSCLIENT
options         NFSLOCKD
options         NFS_ROOT
```
Is it possible to fix it?


----------



## mmoll (Sep 9, 2010)

ro said:
			
		

> The FreeBSD/sun4v is unstable right now.
> Is it possible to fix it?



If you are good at OS programming, http://wiki.freebsd.org/FreeBSD/sun4v holds a (probably outdated) list of open tasks. It would need a developer to take care of the architecture, write drivers, write/integrate MD parts, coordinate with sparc64 and so on...


----------



## ro (Sep 9, 2010)

10x mmoll.


----------



## ro (Sep 10, 2010)

This kernel panic is because:

```
...
        if (OF_getprop(node, "#address-cells", &naddrcell,
            sizeof naddrcell) != sizeof naddrcell || OF_getprop(node,
            "#interrupt-cells", &nintrcell, sizeof nintrcell) !=
            sizeof nintrcell || nintrcell != 1)
                panic("can't get cell sizes"); /* or invalid intr cell size */
...
```
it is the part of sys/sun4v/sun4v/nexus.c
I haven't understand this code yet. May be he problem is known?
I only have tried to clean this condition from code and rebuild the kernel.
The panic was later, after probe nexus0 device:

```
...
nexus0: <ebus> irq 19 type unknown (no driver attached)
nexus0: <pci-performance-counters> type unknown (no driver attached)
pcib8: <Hypervisor PCI Bridge> irq 20,21,22,23 on nexus0
pci8: <OFW PCI bus> on pcib8
pci8: domain=0, physical bus=2
nexus0: <pci-performance-counters> type unknown (no driver attached)
Reducing kern.maxvnodes 1030618 -> 100000
procfs registered
Timecounters tick every 1.000 msec
panic: trap: 35=fast data access mmu miss: 0x180c5e000 at 0xc0546cfc:0xc0546d00 error=11 asi=0x0
...
```
Anybody knows what for this device is necessary?


----------

