Hello, I tried to install netbsd 5.0.2 to qemu-system-sparc (which uses openbios). Boot from cdrom image and installation passed with no problems. But I was not able to boot from hdd. All the -boot, -prom-env options kind of ignored by qemu-system-sparc... All tries end up with booting fromn cdrom (if presented).
Configuration device id QEMU version 1 machine id 64 UUID: 00000000-0000-0000-0000-000000000000 CPUs: 1 x TI,TMS390Z55 invalid nvram partition length nvram error detected, zapping pram [sparc] Booting file 'cdrom' with parameters '' Trying cdrom (/iommu/sbus/espdma/esp/sd@2,0)
It looks like something wrong happens in the way of passing nvram parameters to openbios.
Looking at the sources, I found that key method void arch_nvram_get(char*) is missing from openbios-1.0/arch/sparc32/openbios.c, but it is included in openbios-1.0/arch/sparc64/openbios.c. How nvram settings are passed from qemu command line to openbios-sparc32 in this case? Isn't this a bug?
Thanks.
On Sat, Sep 11, 2010 at 3:39 AM, Dmitriy Kargapolov dmitriy.kargapolov@gmail.com wrote:
Hello, I tried to install netbsd 5.0.2 to qemu-system-sparc (which uses openbios). Boot from cdrom image and installation passed with no problems. But I was not able to boot from hdd. All the -boot, -prom-env options kind of ignored by qemu-system-sparc... All tries end up with booting fromn cdrom (if presented).
Configuration device id QEMU version 1 machine id 64 UUID: 00000000-0000-0000-0000-000000000000 CPUs: 1 x TI,TMS390Z55 invalid nvram partition length nvram error detected, zapping pram
This looks like a very old version. Please use a recent one like SVN HEAD, or the one shipped with QEMU (currently r859 in git HEAD).
On Sat, Sep 11, 2010 at 3:08 AM, Blue Swirl blauwirbel@gmail.com wrote:
On Sat, Sep 11, 2010 at 3:39 AM, Dmitriy Kargapolov dmitriy.kargapolov@gmail.com wrote:
Hello, I tried to install netbsd 5.0.2 to qemu-system-sparc (which uses
openbios).
Boot from cdrom image and installation passed with no problems. But I was not able to boot from hdd. All the -boot, -prom-env options
kind
of ignored by qemu-system-sparc... All tries end up with booting fromn cdrom (if presented).
Configuration device id QEMU version 1 machine id 64 UUID: 00000000-0000-0000-0000-000000000000 CPUs: 1 x TI,TMS390Z55 invalid nvram partition length nvram error detected, zapping pram
This looks like a very old version. Please use a recent one like SVN HEAD, or the one shipped with QEMU (currently r859 in git HEAD).
Yes, I see Fedora-based packages (which I tried to use) are too old.
To compile openbios from the repo I need sparc cross-compiler, -binutils, -glibc... I found no precompiled cross-tools for sparc in Fedora... What would be your recommendation regarding cross-tools version, what do you use to compile openbios and on what host platform? Thank you.
On Sun, Sep 12, 2010 at 4:28 PM, Dmitriy Kargapolov dmitriy.kargapolov@gmail.com wrote:
On Sat, Sep 11, 2010 at 3:08 AM, Blue Swirl blauwirbel@gmail.com wrote:
On Sat, Sep 11, 2010 at 3:39 AM, Dmitriy Kargapolov dmitriy.kargapolov@gmail.com wrote:
Hello, I tried to install netbsd 5.0.2 to qemu-system-sparc (which uses openbios). Boot from cdrom image and installation passed with no problems. But I was not able to boot from hdd. All the -boot, -prom-env options kind of ignored by qemu-system-sparc... All tries end up with booting fromn cdrom (if presented).
Configuration device id QEMU version 1 machine id 64 UUID: 00000000-0000-0000-0000-000000000000 CPUs: 1 x TI,TMS390Z55 invalid nvram partition length nvram error detected, zapping pram
This looks like a very old version. Please use a recent one like SVN HEAD, or the one shipped with QEMU (currently r859 in git HEAD).
Yes, I see Fedora-based packages (which I tried to use) are too old. To compile openbios from the repo I need sparc cross-compiler, -binutils, -glibc... I found no precompiled cross-tools for sparc in Fedora... What would be your recommendation regarding cross-tools version, what do you use to compile openbios and on what host platform? Thank you.
$ sparc-elf-ld -V GNU ld (GNU Binutils) 2.18 Supported emulations: elf32_sparc elf64_sparc $ sparc-elf-gcc -v Using built-in specs. Target: sparc-elf Configured with: ../configure --enable-targets=sparc-elf,sparc64-elf --disable-nls --disable-threads --enable-multilib --enable-languages=c --with-gnu-ld --with-gnu-as --disable-libssp --target=sparc-elf Thread model: single gcc version 4.2.4
IIRC GCC configure line was almost identical to binutils line.
Optionally also: $ sparc-elf-gdb -v GNU gdb 6.8 Copyright (C) 2008 Free Software Foundation, Inc. License GPLv3+: GNU GPL version 3 or later http://gnu.org/licenses/gpl.html This is free software: you are free to change and redistribute it. There is NO WARRANTY, to the extent permitted by law. Type "show copying" and "show warranty" for details. This GDB was configured as "--host=x86_64-unknown-linux-gnu --target=sparc-elf".
There's no need for glibc, OpenBIOS is a fully freestanding target.
I'd also recommend using QEMU from git HEAD.
Am 12.09.2010 um 19:42 schrieb Blue Swirl:
On Sun, Sep 12, 2010 at 4:28 PM, Dmitriy Kargapolov dmitriy.kargapolov@gmail.com wrote:
What would be your recommendation regarding cross-tools version, what do you use to compile openbios and on what host platform?
$ sparc-elf-ld -V GNU ld (GNU Binutils) 2.18 Supported emulations: elf32_sparc elf64_sparc
I've had success with 2.20 and 2.20.1, too.
$ sparc-elf-gcc -v Using built-in specs. Target: sparc-elf Configured with: ../configure --enable-targets=sparc-elf,sparc64-elf --disable-nls --disable-threads --enable-multilib --enable-languages=c --with-gnu-ld --with-gnu-as --disable-libssp --target=sparc-elf Thread model: single gcc version 4.2.4
gcc 4.4.2 and 4.4.3 here. gcc 4.5.x didn't work for ppc.
Andreas