|
|
|
|
|
|
|
Sponsored By


|
|
|
|
|
|

|
|
|
|
|
|
|
Efika 5200B Project
 |
Embedded Solaris
in category Operating Systems proposed by Yonghong Yan on 12th February 2006 (accepted on 20th March 2006)
|
|
|
|
|
|
Blog Entry
|
|
|
|
|
|
|
The ice-age boot-up of Solaris on EFIKA
posted by Yonghong Yan on 24th January 2007
Continue on the last blog, the Solaris PowerPC kernel boot-up on EFIKA, both as usual and unusual, on Dec 4th 2006.
As usual, which we expect due to the facts that the ODW and EFIKA use the same firmware, and it is industry standard (IEEE1275) used widely in Sun SPARC systems and Apple PowerPC systems. It is a very nice solution to provide binary compabilities for different hardware configuration. As ODW is the target machine for Solaris PowerPC development, we are not surprising at all to see the kernel bootup without problem.
As unusual, even with the same firmware in EFIKA as in ODW, there are differences in hardware, which means the firmware implementation is not the same on these two board, even they all both have the standard interfaces. Yet the differences are well addressed by the firmwares and they are transparent to the kernel. An os kernel (or a kernel loader) that is developed on top of it is BINARY portable. Please note, it is not just portable in source level or just application binary compatible.
Here is the boot log from serial port:
[07:25 PM] :~$ date Mon Dec 4 19:25:30 CST 2006 [07:25 PM] :~$ tip -115200 /dev/ttya connected EFIKA 5K2 Boot Strap [RELEASE BUILD] (c) 2002-2006 bplan GmbH (BUILD 20061101134 833) Running on CPU PVR: 0x80822014 Running on system SVR: 0x80110022 BIOS Code position: 0xFFF040D0 Setup System Config... Done. Setup Memory Config... Done. Setup PCI... Done. Setup ATA... Done. Setup USB... Done. Setup ETH... Done. Testing 08000000 Bytes, Pass: 00000000 Failed: 00000000 RAM TEST (fill random)... Done. cpu0: PowerPC,G2 CPUClock 396 Mhz BUSClock 132 Mhz (Version 0x8082,0x2014) Welcome to SmartFirmware(tm) for bplan EFIKA5K2 Version 1.3 (20061107101950) SmartFirmware(tm) Copyright 1996-2001 by CodeGen, Inc. All Rights Reserved. Pegasos BIOS Extensions Copyright 2001-2006 by bplan GmbH. All Rights Reserved. ok ls openprom aliases options packages chosen memory@0 cpus rtas failsafe builtin@F0000000 pci@80000000 ok printenv Variable Value (Default Value) ------------------------------------------------------------------------------ ac-back-behaviour on () security-password ******** security-#badlogins () security-mode () fcode-debug? false (false) load-base 0x00400000 (0x00400000) virt-size -1 (-1) virt-base -1 (-1) real-size 0x00400000 (0x00400000) real-base 0x00000000 (0x00000000) real-mode? true (true) little-endian? false (false) inverse-video? false (false) oem-banner This space for rent. (This space for rent.) oem-banner? false (false) oem-logo? false (false) screen-#rows 24 (24) screen-#columns 80 (80) output-device screen (screen) input-device keyboard (keyboard) use-nvramrc? true (true) nvramrc 1: devalias eth /builtin/ethernet 2: probe-all install-console banner client-ip () server-ip () secondary-diag? false (false) use-argv[0]? false (false) usb-enable? true (true) fb-mode 0x0x0 (0x0x0) diag-switch? false (false) diag-file diag (diag) diag-device eth (eth) boot-protocol dhcp (dhcp) boot-device eth (eth) boot-file os_image (os_image) boot-command boot (boot) auto-boot-timeout 5000 (5000) auto-boot? false (false) ok setenv client-ip 192.168.1.15 client-ip = 192.168.1.15 ok setenv server-ip 192.168.1.13 server-ip = 192.168.1.13 ok printenv Variable Value (Default Value) ------------------------------------------------------------------------------ ac-back-behaviour on () security-password ******** security-#badlogins () security-mode () fcode-debug? false (false) load-base 0x00400000 (0x00400000) virt-size -1 (-1) virt-base -1 (-1) real-size 0x00400000 (0x00400000) real-base 0x00000000 (0x00000000) real-mode? true (true) little-endian? false (false) inverse-video? false (false) oem-banner This space for rent. (This space for rent.) oem-banner? false (false) oem-logo? false (false) screen-#rows 24 (24) screen-#columns 80 (80) output-device screen (screen) input-device keyboard (keyboard) use-nvramrc? true (true) nvramrc 1: devalias eth /builtin/ethernet 2: probe-all install-console banner client-ip 192.168.1.15 () server-ip 192.168.1.13 () secondary-diag? false (false) use-argv[0]? false (false) usb-enable? true (true) fb-mode 0x0x0 (0x0x0) diag-switch? false (false) diag-file diag (diag) diag-device eth (eth) boot-protocol dhcp (dhcp) boot-device eth (eth) boot-file os_image (os_image) boot-command boot (boot) auto-boot-timeout 5000 (5000) auto-boot? false (false) ok boot eth:192.168.1.13,inetboot RR boot: OpenSolaris on PowerPC Boot Interface. OpenSolaris on PowerPC from Sun Labs and the Blastwave Community! memlistpage = 186a000 scratchmemp = 186b000 Physmem avail: addr = 0x0:0x1801000, size = 0x0:0x67ff000 Virtmem avail: addr = 0x0:0x0, size = 0x0:0x8000000 Phys installed: addr = 0x0:0x0, size = 0x0:0x8000000 bootpath: 0x1863800 /builtin@F0000000/ethernet@F0003000:192.168.1.13,inetboot bootargs: 0x1863900 -v filename: 0x1868938 kernname: 0x18448d0 ppc/unix boot: bsys_printf is at offset 0x38 instead of 60 boot: this will likely make old kernels die without printing a message.
Physinstalled: addr = 0x0:0x0, size = 0x0:0x8000000
Physfree: addr = 0x0:0x1801000, size = 0x0:0x67ff000
Virtfree: addr = 0x0:0x0, size = 0x0:0x8000000 device path '/builtin@F0000000/ethernet@F0003000:192.168.1.13,inetboot' client path '/builtin@F0000000/ethernet@F0003000' Now mounting root fs on device /builtin@F0000000/ethernet@F0003000:192.168.1.13, Using RARP/BOOTPARAMS... Internet address is: 192.168.1.15 Internet address (via rarp) is: 192.168.1.15 hostname: efika.yan.hom domainname: yan.hom Found 192.168.1.13 @ 0:16:41:17:97:2c root server: (192.168.1.13) root directory: /export/home/yanyh/bootbase/nfsroot root fs mounted on device /builtin@F0000000/ethernet@F0003000:192.168.1.13,inetboot standalone = `ppc/unix', args = `-v' boot: cannot open ppc/unix Enter filename [ppc/unix]: /platform/ppc/kernel/unix trying '/platform/ppc/kernel/unix' Boot file (/platform/ppc/kernel/unix) opened! fd = 1 calling readelf, elfheader is: e_ident 0x7f454c46, 0x1020100, 0x0, 0x0 e_machine 0x14 e_entry 0x22a9010 e_shoff 0x355578 e_shnentsize 40 e_shnum 10 e_shstrndx 9 Entry point: 22a9010 lseek: args = 1 34 0 Size: Doing header 0x0 phdr p_offset = 10000, p_vaddr = 2000000 p_memsz = ba6304, p_filesz = 3410c0 seeking to 0x10000 0x3410c0+allocating memory: 2000000 ba6304 0 reading 0x3410c0 bytes into 0x2000000 \
|
|
|
|
|
|