Re: report on debian-9.0-sparc64-NETINST-1.iso with qemu [SOLVED]

2017-03-17 Thread Mark Cave-Ayland
On 27/01/17 18:52, Bruno Haible wrote:

>> But there is a point in Marks reply: maybe nowadays virtio-net also
>> has to be switched into the legacy mode.
>> Instead of "-net nic,model=virtio -net user" can you please try:
>>
>> -netdev user,id=hostnet0  -device
>> virtio-net-pci,disable-modern=off,disable-legacy=off,disable-modern=on,netdev=hostnet0
> 
> Yeah! This works! The machine now can connect to the internet.
> The ifconfig output now is:
> 
> # /target/sbin/ifconfig
> enp0s5: flags=4163  mtu 1500
> inet 10.0.2.15  netmask 255.255.255.0  broadcast 0.0.0.0
> inet6 fec0::5054:ff:fe12:3456  prefixlen 64  scopeid 0x40
> inet6 fe80::5054:ff:fe12:3456  prefixlen 64  scopeid 0x20
> ether 52:54:00:12:34:56  txqueuelen 1000  (Ethernet)
> RX packets 291  bytes 263098 (256.9 KiB)
> RX errors 0  dropped 0  overruns 0  frame 0
> TX packets 174  bytes 15608 (15.2 KiB)
> TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0
> 
> lo: flags=73  mtu 65536
> inet 127.0.0.1  netmask 255.0.0.0
> inet6 ::1  prefixlen 128  scopeid 0x10
> loop  txqueuelen 1  (Local Loopback)
> RX packets 0  bytes 0 (0.0 B)
> RX errors 0  dropped 0  overruns 0  frame 0
> TX packets 0  bytes 0 (0.0 B)
> TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0
> 
> # lsmod | grep virt
> virtio_net 24168  0
> virtio_pci 14583  0
> virtio_ring12099  2 virtio_net,virtio_pci
> virtio  6188  2 virtio_net,virtio_pci
> 
> (qemu) info network
> virtio-net-pci.0: 
> index=0,type=nic,model=virtio-net-pci,macaddr=52:54:00:12:34:56
>  \ hostnet0: index=0,type=user,net=10.0.2.0,restrict=off
> 
> Thanks a lot!

BTW just a heads-up: I've found and fixed the bug in OpenBIOS which was
causing virtio in its default modern mode to freeze (it was the 64-bit
virtio BAR being programmed incorrectly), and the fix has been merged
into QEMU git master as of yesterday.

So in the upcoming 2.9 release you will no longer need to specify
"disable-modern=on" as part of the qemu-system-sparc64 command line and
"-net nic,model=virtio -net user" will work once again.


ATB,

Mark.



Re: report on debian-9.0-sparc64-NETINST-1.iso with qemu [SOLVED]

2017-02-09 Thread John Paul Adrian Glaubitz
On 02/05/2017 09:03 PM, Torbjörn Granlund wrote:
> Bruno Haible  writes:
> 
>   Here's a summary of what's needed to get a Sparc64 Linux running in QEMU.
>   
> Are these instructions available someplace on the Net for me to link to?

Not yet. That's why I asked whether someone could take Bruno's instructions [1]
and put them up on the wiki or update the existing wiki page [2].

Adrian

> [1] https://lists.debian.org/debian-sparc/2017/01/msg00094.html
> [2] https://wiki.debian.org/Sparc64Qemu

-- 
 .''`.  John Paul Adrian Glaubitz
: :' :  Debian Developer - glaub...@debian.org
`. `'   Freie Universitaet Berlin - glaub...@physik.fu-berlin.de
  `-GPG: 62FF 8A75 84E0 2956 9546  0006 7426 3B37 F5B5 F913



Re: report on debian-9.0-sparc64-NETINST-1.iso with qemu [SOLVED]

2017-02-05 Thread Torbjörn Granlund
Bruno Haible  writes:

  Here's a summary of what's needed to get a Sparc64 Linux running in QEMU.
  
Are these instructions available someplace on the Net for me to link to?

I found https://wiki.debian.org/Sparc64Qemu, but it looks quite
different; they have some xml abomination used to make plain
configuration superverbose and highly unreadable...

-- 
Torbjörn
Please encrypt, key id 0xC8601622



Re: report on debian-9.0-sparc64-NETINST-1.iso with qemu [SOLVED]

2017-01-28 Thread Bruno Haible
Here's a summary of what's needed to get a Sparc64 Linux running in QEMU.

I use qemu-2.8.0, compiled from source.

1) Use the image from
   
https://people.debian.org/~glaubitz/debian-cd/2016-05-04/debian-9.0-sparc64-NETINST-1.iso
It is new enough but avoids a 'debootstrap' bug found in newer versions.
(Symptom: During the installation of the base system:
"debootstrap: mknod: /target/dev/null: No such file or directory")

2) Use the following qemu options:
2.1) Machine args:
 -m 512 -vga none
Without the option "-vga none", the installed system, after one minute,
activates a framebuffer device on the emulated VGA card, and something
goes wrong with that (either the Sparc64 Linux does not have the right
drivers for it, or qemu cannot display its contents).
(Symptom: Black screen after booting into the installed system.)

2.2) Disk args:
 -drive file=debian90.img,format=raw,index=0
This is standard.

2.3) Network device args:
 -netdev user,id=hostnet0 -device 
virtio-net-pci,disable-modern=off,disable-legacy=off,disable-modern=on,netdev=hostnet0
Without it, the network card accepts a configuration through the built-in DHCP
server of QEMU, but - as I could see by putting myself in a chroot environment
at the end of the installation - an 'ssh me@10.0.2.2' cannot connect to the
host machine at 10.0.2.2, and DNS lookup doesn't work either.
Thanks to Artyom Tarasenko for the solution.

2.4) Display args:
 -nographic
This makes it easier (compared to "-display gtk" or "-display vnc:N")
to copy text from the host into the guest VM.

3) During the installation of the Debian system (use qemu option
   -cdrom /path/to/debian-9.0-sparc64-NETINST-1.iso -boot d
), when it comes to partitioning the disk, use
  Manual.
  - Create a first partition, size less than 1 MB (I used 250 MB), ext2, /boot,
set bootable: true. This will become /dev/sda1.
  - Create a second partition, size: the rest of the disk minus 1 GB, ext4, /.
This will become /dev/sda2.
  - Create a third partition, swap.
With the default partitioning, on a disk larger than 1 GB, the kernel and initrd
may not lie within the first 1 GB of this disk. Symptom: The installation
completes but the installed system can not boot: "Cannot find /etc/silo.conf".

You can now boot into the installed system. At the SILO prompt, I can either
wait or press Return, or enter this kernel invocation line:
  1/vmlinuz initrd=/initrd.img root=/dev/sda2

4) After booting into the installed system (use qemu option  -boot c), fix
two network configuration problems:

4.1) Symptom: "ifconfig" lists only the loopback device, but "ifconfig -a"
shows that there is actually a network device enp0s4.
Fix: Edit /etc/network/interfaces, to mention enp0s4 instead of enp0s5.
For some reason, the name of the network device was different during the
installation session than in the installed system.

Then reboot.

4.2) Accessing a web site by name does not work.
/etc/resolv.conf contains: "nameserver fec0::3"
Workaround: Disable IPv6 through
echo 'net.ipv6.conf.all.disable_ipv6 = 1' > /etc/sysctl.d/01-disable-ipv6.conf

Then reboot.

5) Finally edit /etc/apt/sources.list, as shown in
https://wiki.debian.org/Sparc64. Now you can "sudo apt-get install" whatever
you like.


Bruno



Re: report on debian-9.0-sparc64-NETINST-1.iso with qemu [SOLVED]

2017-01-28 Thread John Paul Adrian Glaubitz
On 01/28/2017 11:46 AM, Bruno Haible wrote:
> Here's a summary of what's needed to get a Sparc64 Linux running in QEMU.

Thanks a lot for the detailed walk through. I'll put that up on the
Debian Wiki.

-- 
 .''`.  John Paul Adrian Glaubitz
: :' :  Debian Developer - glaub...@debian.org
`. `'   Freie Universitaet Berlin - glaub...@physik.fu-berlin.de
  `-GPG: 62FF 8A75 84E0 2956 9546  0006 7426 3B37 F5B5 F913



Re: report on debian-9.0-sparc64-NETINST-1.iso with qemu

2017-01-27 Thread Bruno Haible
I wrote:
> 2) The installed system now boots, either by entering
>  1/vmlinuz initrd=/initrd.img root=/dev/sda2
> at the SILO prompt, or by letting this prompt timeout. However, the boot 
> process
> hangs after one minute, after this output:
> 
>  Starting udev Kernel Device Manager...
> [  OK  ] Started udev Kernel Device Manager.
> [  OK  ] Found device /dev/ttyS0.
> [   66.121368] sd 0:0:0:0: Attached scsi generic sg0 type 0
> [   66.137222] sr 1:0:0:0: Attached scsi generic sg1 type 5
> [   66.384970] [drm] Initialized drm 1.1.0 20060810
> [   66.726958] [drm] Found bochs VGA, ID 0xb0c5.
> [   66.727424] [drm] Framebuffer size 16384 kB @ 0x1ff0100, mmio @ 
> 0x1ff0200.
> [   66.773438] [TTM] Zone  kernel: Available graphics memory: 248620 kiB
> [   66.774061] [TTM] Initializing pool allocator

The fix for this is to add
  -vga none
to the qemu command line.

I first tried variations of kernel parameters (with and without -nographic):
1/vmlinuz initrd=/initrd.img root=/dev/sda2 video=atyfb:1024x768@60
1/vmlinuz initrd=/initrd.img root=/dev/sda2 video=sbus:off
1/vmlinuz initrd=/initrd.img root=/dev/sda2 video=atyfb:off
but this had no effect: I could not convince Linux not to use the VGA graphics
card for a frame buffer. So I finally "removed" the graphics card from the
emulated computer.

I think '-nographic' cannot have an effect in such a situation because it
affects only the _presentation_ in the host system of the emulated hardware.
And the guest OS running in the emulated hardware behaves independently of how
it's displayed in the host.

Adrian Glaubitz wrote:
> Did you try -nographic? This should create an emulated serial console device.

The emulated serial console device also exists when I use '-display gtk' instead
of '-nographic'. There's a menu item in the window that allows me to see its
contents.

  Bruno



Re: report on debian-9.0-sparc64-NETINST-1.iso with qemu [SOLVED]

2017-01-27 Thread Mark Cave-Ayland
On 27/01/17 18:52, Bruno Haible wrote:

> Yeah! This works! The machine now can connect to the internet.
> The ifconfig output now is:
> 
> # /target/sbin/ifconfig
> enp0s5: flags=4163  mtu 1500
> inet 10.0.2.15  netmask 255.255.255.0  broadcast 0.0.0.0
> inet6 fec0::5054:ff:fe12:3456  prefixlen 64  scopeid 0x40
> inet6 fe80::5054:ff:fe12:3456  prefixlen 64  scopeid 0x20
> ether 52:54:00:12:34:56  txqueuelen 1000  (Ethernet)
> RX packets 291  bytes 263098 (256.9 KiB)
> RX errors 0  dropped 0  overruns 0  frame 0
> TX packets 174  bytes 15608 (15.2 KiB)
> TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0
> 
> lo: flags=73  mtu 65536
> inet 127.0.0.1  netmask 255.0.0.0
> inet6 ::1  prefixlen 128  scopeid 0x10
> loop  txqueuelen 1  (Local Loopback)
> RX packets 0  bytes 0 (0.0 B)
> RX errors 0  dropped 0  overruns 0  frame 0
> TX packets 0  bytes 0 (0.0 B)
> TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0
> 
> # lsmod | grep virt
> virtio_net 24168  0
> virtio_pci 14583  0
> virtio_ring12099  2 virtio_net,virtio_pci
> virtio  6188  2 virtio_net,virtio_pci
> 
> (qemu) info network
> virtio-net-pci.0: 
> index=0,type=nic,model=virtio-net-pci,macaddr=52:54:00:12:34:56
>  \ hostnet0: index=0,type=user,net=10.0.2.0,restrict=off
> 
> Thanks a lot!

Excellent! I should add that qemu-system-sparc64 should support virtio
1.0 at some point when I get some time to figure out why it hangs - all
that's happened is that the default flipped from legacy to modern with
the last QEMU release which is why this is now suddenly visible.


ATB,

Mark.



Re: report on debian-9.0-sparc64-NETINST-1.iso with qemu [SOLVED]

2017-01-27 Thread Bruno Haible
Artyom Tarasenko wrote on 27.01.2017:
> On Thu, Jan 26, 2017 at 10:16 PM, Bruno Haible  wrote:
> > Mark Cave-Ayland wrote:
> >> >> The hardware emulated by QEMU on this platform is
> >> >>   hub 0
> >> >>\ hub0port1: user.0: index=0,type=user,net=10.0.2.0,restrict=off
> >> >>\ hub0port0: ne2k_pci.0: 
> >> >> index=0,type=nic,model=ne2k_pci,macaddr=52:54:00:12:34:56
> >> >> Does anyone happen to know?
> >> >
> >> > You should ask Mark Cave-Ayland or Artyom Tarasenko who are the 
> >> > maintainers for
> >> > the SPARC target in qemu.
> >>
> >> I can confirm that virtio does work in QEMU, but only in legacy (0.9)
> >> mode - for some reason if 1.0 mode is used then we seem to hang because
> >> we're missing an interrupt. I've managed to recreate this locally but
> >> not had the time to dig into the details yet - any help always
> >> appreciated :)
> >>
> >> The command line you need for virtio on QEMU looks something like this:
> >>
> >> ./qemu-system-sparc64 -drive
> >> file=debian-9.0-sparc64-NETINST-1.iso,if=none,index=0,id=cd,media=cdrom
> >> -device virtio-blk-pci,disable-modern=on,drive=cd -nographic
> >
> > Thanks for the attempt to help. But I don't have a need for virtio for
> > the disk or cdrom - the default works perfectly fine there. The problem I
> > have is with the network card: the default doesn't work, and virtio
> > (as recommended by Artyom) crashes qemu.
> 
> To be more specific, it's not crashing qemu. It just brings the
> emulated system in a condition in which it won't function (trap after
> the maximal trap level is reached). So it's not necessarily a qemu
> bug. Can be a virtio/kernel bug as well.
> 
> But there is a point in Marks reply: maybe nowadays virtio-net also
> has to be switched into the legacy mode.
> Instead of "-net nic,model=virtio -net user" can you please try:
> 
> -netdev user,id=hostnet0  -device
> virtio-net-pci,disable-modern=off,disable-legacy=off,disable-modern=on,netdev=hostnet0

Yeah! This works! The machine now can connect to the internet.
The ifconfig output now is:

# /target/sbin/ifconfig
enp0s5: flags=4163  mtu 1500
inet 10.0.2.15  netmask 255.255.255.0  broadcast 0.0.0.0
inet6 fec0::5054:ff:fe12:3456  prefixlen 64  scopeid 0x40
inet6 fe80::5054:ff:fe12:3456  prefixlen 64  scopeid 0x20
ether 52:54:00:12:34:56  txqueuelen 1000  (Ethernet)
RX packets 291  bytes 263098 (256.9 KiB)
RX errors 0  dropped 0  overruns 0  frame 0
TX packets 174  bytes 15608 (15.2 KiB)
TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

lo: flags=73  mtu 65536
inet 127.0.0.1  netmask 255.0.0.0
inet6 ::1  prefixlen 128  scopeid 0x10
loop  txqueuelen 1  (Local Loopback)
RX packets 0  bytes 0 (0.0 B)
RX errors 0  dropped 0  overruns 0  frame 0
TX packets 0  bytes 0 (0.0 B)
TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

# lsmod | grep virt
virtio_net 24168  0
virtio_pci 14583  0
virtio_ring12099  2 virtio_net,virtio_pci
virtio  6188  2 virtio_net,virtio_pci

(qemu) info network
virtio-net-pci.0: 
index=0,type=nic,model=virtio-net-pci,macaddr=52:54:00:12:34:56
 \ hostnet0: index=0,type=user,net=10.0.2.0,restrict=off

Thanks a lot!

Bruno



Re: report on debian-9.0-sparc64-NETINST-1.iso with qemu [SOLVED]

2017-01-27 Thread John Paul Adrian Glaubitz
Can someone sitting in front of their computer please put that information up 
on the Debian Wiki in the sparc64 section. I'd appreciate that a lot :).

Adrian
(currently on mobile)

> On Jan 27, 2017, at 7:52 PM, Bruno Haible  wrote:
> 
> Artyom Tarasenko wrote on 27.01.2017:
>>> On Thu, Jan 26, 2017 at 10:16 PM, Bruno Haible  wrote:
>>> Mark Cave-Ayland wrote:
>> The hardware emulated by QEMU on this platform is
>>  hub 0
>>   \ hub0port1: user.0: index=0,type=user,net=10.0.2.0,restrict=off
>>   \ hub0port0: ne2k_pci.0: 
>> index=0,type=nic,model=ne2k_pci,macaddr=52:54:00:12:34:56
>> Does anyone happen to know?
> 
> You should ask Mark Cave-Ayland or Artyom Tarasenko who are the 
> maintainers for
> the SPARC target in qemu.
 
 I can confirm that virtio does work in QEMU, but only in legacy (0.9)
 mode - for some reason if 1.0 mode is used then we seem to hang because
 we're missing an interrupt. I've managed to recreate this locally but
 not had the time to dig into the details yet - any help always
 appreciated :)
 
 The command line you need for virtio on QEMU looks something like this:
 
 ./qemu-system-sparc64 -drive
 file=debian-9.0-sparc64-NETINST-1.iso,if=none,index=0,id=cd,media=cdrom
 -device virtio-blk-pci,disable-modern=on,drive=cd -nographic
>>> 
>>> Thanks for the attempt to help. But I don't have a need for virtio for
>>> the disk or cdrom - the default works perfectly fine there. The problem I
>>> have is with the network card: the default doesn't work, and virtio
>>> (as recommended by Artyom) crashes qemu.
>> 
>> To be more specific, it's not crashing qemu. It just brings the
>> emulated system in a condition in which it won't function (trap after
>> the maximal trap level is reached). So it's not necessarily a qemu
>> bug. Can be a virtio/kernel bug as well.
>> 
>> But there is a point in Marks reply: maybe nowadays virtio-net also
>> has to be switched into the legacy mode.
>> Instead of "-net nic,model=virtio -net user" can you please try:
>> 
>> -netdev user,id=hostnet0  -device
>> virtio-net-pci,disable-modern=off,disable-legacy=off,disable-modern=on,netdev=hostnet0
> 
> Yeah! This works! The machine now can connect to the internet.
> The ifconfig output now is:
> 
> # /target/sbin/ifconfig
> enp0s5: flags=4163  mtu 1500
>inet 10.0.2.15  netmask 255.255.255.0  broadcast 0.0.0.0
>inet6 fec0::5054:ff:fe12:3456  prefixlen 64  scopeid 0x40
>inet6 fe80::5054:ff:fe12:3456  prefixlen 64  scopeid 0x20
>ether 52:54:00:12:34:56  txqueuelen 1000  (Ethernet)
>RX packets 291  bytes 263098 (256.9 KiB)
>RX errors 0  dropped 0  overruns 0  frame 0
>TX packets 174  bytes 15608 (15.2 KiB)
>TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0
> 
> lo: flags=73  mtu 65536
>inet 127.0.0.1  netmask 255.0.0.0
>inet6 ::1  prefixlen 128  scopeid 0x10
>loop  txqueuelen 1  (Local Loopback)
>RX packets 0  bytes 0 (0.0 B)
>RX errors 0  dropped 0  overruns 0  frame 0
>TX packets 0  bytes 0 (0.0 B)
>TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0
> 
> # lsmod | grep virt
> virtio_net 24168  0
> virtio_pci 14583  0
> virtio_ring12099  2 virtio_net,virtio_pci
> virtio  6188  2 virtio_net,virtio_pci
> 
> (qemu) info network
> virtio-net-pci.0: 
> index=0,type=nic,model=virtio-net-pci,macaddr=52:54:00:12:34:56
> \ hostnet0: index=0,type=user,net=10.0.2.0,restrict=off
> 
> Thanks a lot!
> 
> Bruno



Re: report on debian-9.0-sparc64-NETINST-1.iso with qemu

2017-01-27 Thread Artyom Tarasenko
On Thu, Jan 26, 2017 at 10:16 PM, Bruno Haible  wrote:
> Mark Cave-Ayland wrote:
>> >> The hardware emulated by QEMU on this platform is
>> >>   hub 0
>> >>\ hub0port1: user.0: index=0,type=user,net=10.0.2.0,restrict=off
>> >>\ hub0port0: ne2k_pci.0: 
>> >> index=0,type=nic,model=ne2k_pci,macaddr=52:54:00:12:34:56
>> >> Does anyone happen to know?
>> >
>> > You should ask Mark Cave-Ayland or Artyom Tarasenko who are the 
>> > maintainers for
>> > the SPARC target in qemu.
>>
>> I can confirm that virtio does work in QEMU, but only in legacy (0.9)
>> mode - for some reason if 1.0 mode is used then we seem to hang because
>> we're missing an interrupt. I've managed to recreate this locally but
>> not had the time to dig into the details yet - any help always
>> appreciated :)
>>
>> The command line you need for virtio on QEMU looks something like this:
>>
>> ./qemu-system-sparc64 -drive
>> file=debian-9.0-sparc64-NETINST-1.iso,if=none,index=0,id=cd,media=cdrom
>> -device virtio-blk-pci,disable-modern=on,drive=cd -nographic
>
> Thanks for the attempt to help. But I don't have a need for virtio for
> the disk or cdrom - the default works perfectly fine there. The problem I
> have is with the network card: the default doesn't work, and virtio
> (as recommended by Artyom) crashes qemu.

To be more specific, it's not crashing qemu. It just brings the
emulated system in a condition in which it won't function (trap after
the maximal trap level is reached). So it's not necessarily a qemu
bug. Can be a virtio/kernel bug as well.

But there is a point in Marks reply: maybe nowadays virtio-net also
has to be switched into the legacy mode.
Instead of "-net nic,model=virtio -net user" can you please try:

-netdev user,id=hostnet0  -device
virtio-net-pci,disable-modern=off,disable-legacy=off,disable-modern=on,netdev=hostnet0

-- 
Regards,
Artyom Tarasenko

SPARC and PPC PReP under qemu blog: http://tyom.blogspot.com/search/label/qemu



Re: report on debian-9.0-sparc64-NETINST-1.iso with qemu

2017-01-26 Thread Bruno Haible
Mark Cave-Ayland wrote:
> >> The hardware emulated by QEMU on this platform is
> >>   hub 0
> >>\ hub0port1: user.0: index=0,type=user,net=10.0.2.0,restrict=off
> >>\ hub0port0: ne2k_pci.0: 
> >> index=0,type=nic,model=ne2k_pci,macaddr=52:54:00:12:34:56
> >> Does anyone happen to know?
> > 
> > You should ask Mark Cave-Ayland or Artyom Tarasenko who are the maintainers 
> > for
> > the SPARC target in qemu.
> 
> I can confirm that virtio does work in QEMU, but only in legacy (0.9)
> mode - for some reason if 1.0 mode is used then we seem to hang because
> we're missing an interrupt. I've managed to recreate this locally but
> not had the time to dig into the details yet - any help always
> appreciated :)
> 
> The command line you need for virtio on QEMU looks something like this:
> 
> ./qemu-system-sparc64 -drive
> file=debian-9.0-sparc64-NETINST-1.iso,if=none,index=0,id=cd,media=cdrom
> -device virtio-blk-pci,disable-modern=on,drive=cd -nographic

Thanks for the attempt to help. But I don't have a need for virtio for
the disk or cdrom - the default works perfectly fine there. The problem I
have is with the network card: the default doesn't work, and virtio
(as recommended by Artyom) crashes qemu.

Bruno



Re: report on debian-9.0-sparc64-NETINST-1.iso with qemu - network

2017-01-26 Thread Bruno Haible
Hi Artyom,

> > 3) There's a problem with the network interface: It accepts a configuration
> > through the built-in DHCP server of QEMU, but - as I could see by putting 
> > myself
> > in a chroot environment at the end of the installation - an 'ssh 
> > me@10.0.2.2'
> > cannot connect to the host machine at 10.0.2.2. DNS lookup doesn't work 
> > either,
> > although /etc/resolv.conf contains the correct value 10.0.2.3.
> > On other platforms this works.
> > The hardware emulated by QEMU on this platform is
> >   hub 0
> >\ hub0port1: user.0: index=0,type=user,net=10.0.2.0,restrict=off
> >\ hub0port0: ne2k_pci.0: 
> > index=0,type=nic,model=ne2k_pci,macaddr=52:54:00:12:34:56
> > Does anyone happen to know?
> 
> What is your exact QEMU command line?

It is
qemu-system-sparc64 -m 512 -nographic -drive 
file=debian90.img,format=raw,index=0 -cdrom 
/path/to/debian-9.0-sparc64-NETINST-1.iso -boot d

> Does ping 10.0.2.2 work?

No:

# ping 10.0.2.2
PING 10.0.2.2 (10.0.2.2) 56(84) bytes of data.
>From 10.0.2.15 icmp_seq=1 Destination Host Unreachable
>From 10.0.2.15 icmp_seq=2 Destination Host Unreachable
>From 10.0.2.15 icmp_seq=3 Destination Host Unreachable

# ping 10.0.2.3
PING 10.0.2.3 (10.0.2.3) 56(84) bytes of data.
>From 10.0.2.15 icmp_seq=1 Destination Host Unreachable
>From 10.0.2.15 icmp_seq=2 Destination Host Unreachable
>From 10.0.2.15 icmp_seq=3 Destination Host Unreachable

> Is the interface up in the ifconfig output?

Not sure:

# /sbin/ifconfig
enp0s4: flags=4163  mtu 1500
inet 10.0.2.15  netmask 255.255.255.0  broadcast 0.0.0.0
inet6 fe80::5054:ff:fe12:3456  prefixlen 64  scopeid 0x20
ether 52:54:00:12:34:56  txqueuelen 1000  (Ethernet)
RX packets 202  bytes 16220 (15.8 KiB)
RX errors 0  dropped 0  overruns 0  frame 0
TX packets 191  bytes 12246 (11.9 KiB)
TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0
device interrupt 6  base 0x8000  

lo: flags=73  mtu 65536
inet 127.0.0.1  netmask 255.0.0.0
inet6 ::1  prefixlen 128  scopeid 0x10
loop  txqueuelen 1  (Local Loopback)
RX packets 92  bytes 9436 (9.2 KiB)
RX errors 0  dropped 0  overruns 0  frame 0
TX packets 92  bytes 9436 (9.2 KiB)
TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

# ifdown enp0s4   
ifdown: interface enp0s4 not configured

And 'ifup' doesn't help:

# ifup enp0s4
Internet Systems Consortium DHCP Client 4.3.4
Copyright 2004-2016 Internet Systems Consortium.
All rights reserved.
For info, please visit https://www.isc.org/software/dhcp/

Listening on LPF/enp0s4/52:54:00:12:34:56
Sending on   LPF/enp0s4/52:54:00:12:34:56
Sending on   Socket/fallback
DHCPDISCOVER on enp0s4 to 255.255.255.255 port 67 interval 8
DHCPREQUEST of 10.0.2.15 on enp0s4 to 255.255.255.255 port 67
DHCPOFFER of 10.0.2.15 from 10.0.2.2
DHCPACK of 10.0.2.15 from 10.0.2.2
RTNETLINK answers: File exists
bound to 10.0.2.15 -- renewal in 34726 seconds.
root@sparix:/# ping 10.0.2.2
PING 10.0.2.2 (10.0.2.2) 56(84) bytes of data.
>From 10.0.2.15 icmp_seq=1 Destination Host Unreachable
>From 10.0.2.15 icmp_seq=2 Destination Host Unreachable
>From 10.0.2.15 icmp_seq=3 Destination Host Unreachable

Disabling IPv6 through
# echo 1 > /proc/sys/net/ipv6/conf/all/disable_ipv6
doesn't help either.

> But virtio was definitely working in 2015. Please try
> 
> -net nic,model=virtio -net user

It crashes during the "Detecting network hardware" step of the Debian
installer:

  ┌─┤ Detecting network hardware ├──┐
  │ │
  │0%   │
  │ │
  │ qemu: fatal: Trap 0x0032 while trap level (5) >= MAXTL (5), Error state │
pc: 004055dc  npc: 004055e0 │
%g0-3:  0200 00a9d000 0200──┘
%g4-7: fac00464  f8001d168000 fac0
%o0-3:  100e4d30 f8001d07b380 f8001f7cab80 
%o4-7: f8001d0ed720 f8001d0ed720 f8001d07aa41 00784128 
%l0-3: 8000 00ac2e68 00ac2ea8 c000 
%l4-7: f000 ff00  004c5040 
%i0-3: f8001f7d4c00 100e4d30  024000c0 
%i4-7:   f8001d07aaf1 100e4488 
%f00:  45435f494e495449 6465766963652f64 555345435f494e49 5449414c495a4544
%f08:     
%f16:  0117cf40 f801004a9608 011753f0 0100
%f24:   0021 01174fb0 011753e0
%f32:  0050 0030 

Re: report on debian-9.0-sparc64-NETINST-1.iso with qemu

2017-01-26 Thread Mark Cave-Ayland
On 25/01/17 10:39, John Paul Adrian Glaubitz wrote:

> On 01/24/2017 10:03 PM, Bruno Haible wrote:
>> May I suggest that the Debian installer uses such a partitioning scheme by
>> default? I've seen the Debian 8.6 installer use a separate /boot partition
>> by default on armhf and s390x. So, it shouldn't be easy to do the same thing
>> for sparc...?
> 
> No, we're not going to do that. SILO is scheduled to be replaced by GRUB on
> sparc64 in the foreseeable future as SILO is effectively no longer in active
> development and has too many limitations, especially on newer, sun4v machines.
> 
>> Any idea? Is there a combination of a '-vga' parameter to qemu [2] and some 
>> kernel
>> parameters [3] (I tried 'console=ttyS0', 'console=/dev/null', 'nofb', 
>> 'nomodeset',
>> 'vga=normal') that would make this work?
> 
> Did you try -nographic? This should create an emulated serial console device.
> 
>> 3) There's a problem with the network interface: It accepts a configuration
>> through the built-in DHCP server of QEMU, but - as I could see by putting 
>> myself
>> in a chroot environment at the end of the installation - an 'ssh me@10.0.2.2'
>> cannot connect to the host machine at 10.0.2.2. DNS lookup doesn't work 
>> either,
>> although /etc/resolv.conf contains the correct value 10.0.2.3.
>> On other platforms this works.
>> The hardware emulated by QEMU on this platform is
>>   hub 0
>>\ hub0port1: user.0: index=0,type=user,net=10.0.2.0,restrict=off
>>\ hub0port0: ne2k_pci.0: 
>> index=0,type=nic,model=ne2k_pci,macaddr=52:54:00:12:34:56
>> Does anyone happen to know?
> 
> You should ask Mark Cave-Ayland or Artyom Tarasenko who are the maintainers 
> for
> the SPARC target in qemu.

I can confirm that virtio does work in QEMU, but only in legacy (0.9)
mode - for some reason if 1.0 mode is used then we seem to hang because
we're missing an interrupt. I've managed to recreate this locally but
not had the time to dig into the details yet - any help always
appreciated :)

The command line you need for virtio on QEMU looks something like this:

./qemu-system-sparc64 -drive
file=debian-9.0-sparc64-NETINST-1.iso,if=none,index=0,id=cd,media=cdrom
-device virtio-blk-pci,disable-modern=on,drive=cd -nographic

Note that things are currently made a bit more complicated due to the
fact the OpenBIOS doesn't (yet) support virtio, so you'll still need to
actually boot from a normal IDE hd/cd.

I did get a prototype legacy driver working last year at
https://www.coreboot.org/pipermail/openbios/2016-July/009504.html but
again due to time restrictions I've haven't been able to finish it and
get it into a committable state.


ATB,

Mark.



Re: report on debian-9.0-sparc64-NETINST-1.iso with qemu

2017-01-25 Thread Adrian Davey

On 2017-01-25 13:24, Artyom Tarasenko wrote:

On Tue, Jan 24, 2017 at 10:03 PM, Bruno Haible  wrote:

Hi Adrian,

Thank you for the rapid answer.

Yes, the latest image is known to have a broken version of 
debootstrap. I

should probably remove these images to keep others from using them.


Thanks. I tried again with the older image
https://people.debian.org/~glaubitz/debian-cd/2016-05-04/

1) At the first attempt, with a default partitioning ('/' partition 
and swap
partition), the installation completed but the installed system could 
not

boot: "Cannot find /etc/silo.conf".

The reason appears to be that my hard disk is > 1 GB, and the advice 
from [1]
helped: I could overcome this problem by creating a boot partition at 
the
beginning of the disk (250 MB in my case, and in ext2, to avoid the 
warning).


May I suggest that the Debian installer uses such a partitioning 
scheme by
default? I've seen the Debian 8.6 installer use a separate /boot 
partition
by default on armhf and s390x. So, it shouldn't be easy to do the same 
thing

for sparc...?

2) The installed system now boots, either by entering
 1/vmlinuz initrd=/initrd.img root=/dev/sda2
at the SILO prompt, or by letting this prompt timeout. However, the 
boot process

hangs after one minute, after this output:

 Starting udev Kernel Device Manager...
[  OK  ] Started udev Kernel Device Manager.
[  OK  ] Found device /dev/ttyS0.
[   66.121368] sd 0:0:0:0: Attached scsi generic sg0 type 0
[   66.137222] sr 1:0:0:0: Attached scsi generic sg1 type 5
[   66.384970] [drm] Initialized drm 1.1.0 20060810
[   66.726958] [drm] Found bochs VGA, ID 0xb0c5.
[   66.727424] [drm] Framebuffer size 16384 kB @ 0x1ff0100, mmio @ 
0x1ff0200.
[   66.773438] [TTM] Zone  kernel: Available graphics memory: 248620 
kiB

[   66.774061] [TTM] Initializing pool allocator

Any idea? Is there a combination of a '-vga' parameter to qemu [2] and 
some kernel
parameters [3] (I tried 'console=ttyS0', 'console=/dev/null', 'nofb', 
'nomodeset',

'vga=normal') that would make this work?

3) There's a problem with the network interface: It accepts a 
configuration
through the built-in DHCP server of QEMU, but - as I could see by 
putting myself
in a chroot environment at the end of the installation - an 'ssh 
me@10.0.2.2'
cannot connect to the host machine at 10.0.2.2. DNS lookup doesn't 
work either,

although /etc/resolv.conf contains the correct value 10.0.2.3.
On other platforms this works.
The hardware emulated by QEMU on this platform is
  hub 0
   \ hub0port1: user.0: index=0,type=user,net=10.0.2.0,restrict=off
   \ hub0port0: ne2k_pci.0: 
index=0,type=nic,model=ne2k_pci,macaddr=52:54:00:12:34:56

Does anyone happen to know?


What is your exact QEMU command line?

Does ping 10.0.2.2 work? Is the interface up in the ifconfig output?

I'm currently more focused on sun4v emulation, so I'm not sure about
the ne2k status. My blog post from May 2012 [1] says it was not
working at that time, but it was before Mark improved the IOMMU
support. But virtio was definitely working in 2015. Please try

-net nic,model=virtio -net user

qemu boot parameters (modifying the "interrupts" property described in
[1] should not be necessary nowadays).

Artyom

1. 
http://tyom.blogspot.de/2012/05/networking-in-linuxsparc64-under-qemu.html


Hi,

https://wiki.debian.org/Sparc64Qemu

Might be a starting point for you with qemu emulating sparc64 hardware. 
I know that e1000 nic works perfectly.


Regards,

Adrian



Re: report on debian-9.0-sparc64-NETINST-1.iso with qemu

2017-01-25 Thread Artyom Tarasenko
On Tue, Jan 24, 2017 at 10:03 PM, Bruno Haible  wrote:
> Hi Adrian,
>
> Thank you for the rapid answer.
>
>> Yes, the latest image is known to have a broken version of debootstrap. I
>> should probably remove these images to keep others from using them.
>
> Thanks. I tried again with the older image
> https://people.debian.org/~glaubitz/debian-cd/2016-05-04/
>
> 1) At the first attempt, with a default partitioning ('/' partition and swap
> partition), the installation completed but the installed system could not
> boot: "Cannot find /etc/silo.conf".
>
> The reason appears to be that my hard disk is > 1 GB, and the advice from [1]
> helped: I could overcome this problem by creating a boot partition at the
> beginning of the disk (250 MB in my case, and in ext2, to avoid the warning).
>
> May I suggest that the Debian installer uses such a partitioning scheme by
> default? I've seen the Debian 8.6 installer use a separate /boot partition
> by default on armhf and s390x. So, it shouldn't be easy to do the same thing
> for sparc...?
>
> 2) The installed system now boots, either by entering
>  1/vmlinuz initrd=/initrd.img root=/dev/sda2
> at the SILO prompt, or by letting this prompt timeout. However, the boot 
> process
> hangs after one minute, after this output:
>
>  Starting udev Kernel Device Manager...
> [  OK  ] Started udev Kernel Device Manager.
> [  OK  ] Found device /dev/ttyS0.
> [   66.121368] sd 0:0:0:0: Attached scsi generic sg0 type 0
> [   66.137222] sr 1:0:0:0: Attached scsi generic sg1 type 5
> [   66.384970] [drm] Initialized drm 1.1.0 20060810
> [   66.726958] [drm] Found bochs VGA, ID 0xb0c5.
> [   66.727424] [drm] Framebuffer size 16384 kB @ 0x1ff0100, mmio @ 
> 0x1ff0200.
> [   66.773438] [TTM] Zone  kernel: Available graphics memory: 248620 kiB
> [   66.774061] [TTM] Initializing pool allocator
>
> Any idea? Is there a combination of a '-vga' parameter to qemu [2] and some 
> kernel
> parameters [3] (I tried 'console=ttyS0', 'console=/dev/null', 'nofb', 
> 'nomodeset',
> 'vga=normal') that would make this work?
>
> 3) There's a problem with the network interface: It accepts a configuration
> through the built-in DHCP server of QEMU, but - as I could see by putting 
> myself
> in a chroot environment at the end of the installation - an 'ssh me@10.0.2.2'
> cannot connect to the host machine at 10.0.2.2. DNS lookup doesn't work 
> either,
> although /etc/resolv.conf contains the correct value 10.0.2.3.
> On other platforms this works.
> The hardware emulated by QEMU on this platform is
>   hub 0
>\ hub0port1: user.0: index=0,type=user,net=10.0.2.0,restrict=off
>\ hub0port0: ne2k_pci.0: 
> index=0,type=nic,model=ne2k_pci,macaddr=52:54:00:12:34:56
> Does anyone happen to know?

What is your exact QEMU command line?

Does ping 10.0.2.2 work? Is the interface up in the ifconfig output?

I'm currently more focused on sun4v emulation, so I'm not sure about
the ne2k status. My blog post from May 2012 [1] says it was not
working at that time, but it was before Mark improved the IOMMU
support. But virtio was definitely working in 2015. Please try

-net nic,model=virtio -net user

qemu boot parameters (modifying the "interrupts" property described in
[1] should not be necessary nowadays).

Artyom

1. http://tyom.blogspot.de/2012/05/networking-in-linuxsparc64-under-qemu.html


-- 
Regards,
Artyom Tarasenko

SPARC and PPC PReP under qemu blog: http://tyom.blogspot.com/search/label/qemu



Re: report on debian-9.0-sparc64-NETINST-1.iso with qemu

2017-01-25 Thread John Paul Adrian Glaubitz
On 01/24/2017 10:03 PM, Bruno Haible wrote:
> May I suggest that the Debian installer uses such a partitioning scheme by
> default? I've seen the Debian 8.6 installer use a separate /boot partition
> by default on armhf and s390x. So, it shouldn't be easy to do the same thing
> for sparc...?

No, we're not going to do that. SILO is scheduled to be replaced by GRUB on
sparc64 in the foreseeable future as SILO is effectively no longer in active
development and has too many limitations, especially on newer, sun4v machines.

> Any idea? Is there a combination of a '-vga' parameter to qemu [2] and some 
> kernel
> parameters [3] (I tried 'console=ttyS0', 'console=/dev/null', 'nofb', 
> 'nomodeset',
> 'vga=normal') that would make this work?

Did you try -nographic? This should create an emulated serial console device.

> 3) There's a problem with the network interface: It accepts a configuration
> through the built-in DHCP server of QEMU, but - as I could see by putting 
> myself
> in a chroot environment at the end of the installation - an 'ssh me@10.0.2.2'
> cannot connect to the host machine at 10.0.2.2. DNS lookup doesn't work 
> either,
> although /etc/resolv.conf contains the correct value 10.0.2.3.
> On other platforms this works.
> The hardware emulated by QEMU on this platform is
>   hub 0
>\ hub0port1: user.0: index=0,type=user,net=10.0.2.0,restrict=off
>\ hub0port0: ne2k_pci.0: 
> index=0,type=nic,model=ne2k_pci,macaddr=52:54:00:12:34:56
> Does anyone happen to know?

You should ask Mark Cave-Ayland or Artyom Tarasenko who are the maintainers for
the SPARC target in qemu.

Adrian

-- 
 .''`.  John Paul Adrian Glaubitz
: :' :  Debian Developer - glaub...@debian.org
`. `'   Freie Universitaet Berlin - glaub...@physik.fu-berlin.de
  `-GPG: 62FF 8A75 84E0 2956 9546  0006 7426 3B37 F5B5 F913



Re: report on debian-9.0-sparc64-NETINST-1.iso with qemu

2017-01-24 Thread Bruno Haible
Hi Adrian,

Thank you for the rapid answer.

> Yes, the latest image is known to have a broken version of debootstrap. I
> should probably remove these images to keep others from using them.

Thanks. I tried again with the older image
https://people.debian.org/~glaubitz/debian-cd/2016-05-04/

1) At the first attempt, with a default partitioning ('/' partition and swap
partition), the installation completed but the installed system could not
boot: "Cannot find /etc/silo.conf".

The reason appears to be that my hard disk is > 1 GB, and the advice from [1]
helped: I could overcome this problem by creating a boot partition at the
beginning of the disk (250 MB in my case, and in ext2, to avoid the warning).

May I suggest that the Debian installer uses such a partitioning scheme by
default? I've seen the Debian 8.6 installer use a separate /boot partition
by default on armhf and s390x. So, it shouldn't be easy to do the same thing
for sparc...?

2) The installed system now boots, either by entering
 1/vmlinuz initrd=/initrd.img root=/dev/sda2
at the SILO prompt, or by letting this prompt timeout. However, the boot process
hangs after one minute, after this output:

 Starting udev Kernel Device Manager...
[  OK  ] Started udev Kernel Device Manager.
[  OK  ] Found device /dev/ttyS0.
[   66.121368] sd 0:0:0:0: Attached scsi generic sg0 type 0
[   66.137222] sr 1:0:0:0: Attached scsi generic sg1 type 5
[   66.384970] [drm] Initialized drm 1.1.0 20060810
[   66.726958] [drm] Found bochs VGA, ID 0xb0c5.
[   66.727424] [drm] Framebuffer size 16384 kB @ 0x1ff0100, mmio @ 
0x1ff0200.
[   66.773438] [TTM] Zone  kernel: Available graphics memory: 248620 kiB
[   66.774061] [TTM] Initializing pool allocator

Any idea? Is there a combination of a '-vga' parameter to qemu [2] and some 
kernel
parameters [3] (I tried 'console=ttyS0', 'console=/dev/null', 'nofb', 
'nomodeset',
'vga=normal') that would make this work?

3) There's a problem with the network interface: It accepts a configuration
through the built-in DHCP server of QEMU, but - as I could see by putting myself
in a chroot environment at the end of the installation - an 'ssh me@10.0.2.2'
cannot connect to the host machine at 10.0.2.2. DNS lookup doesn't work either,
although /etc/resolv.conf contains the correct value 10.0.2.3.
On other platforms this works.
The hardware emulated by QEMU on this platform is
  hub 0
   \ hub0port1: user.0: index=0,type=user,net=10.0.2.0,restrict=off
   \ hub0port0: ne2k_pci.0: 
index=0,type=nic,model=ne2k_pci,macaddr=52:54:00:12:34:56
Does anyone happen to know?

Bruno

[1] http://www.justskins.com/forums/fun-installing-debian-in-219272.html
[2] http://wiki.qemu.org/download/qemu-doc.html
[3] http://lxr.free-electrons.com/source/Documentation/kernel-parameters.txt



Re: report on debian-9.0-sparc64-NETINST-1.iso with qemu

2017-01-22 Thread John Paul Adrian Glaubitz
Hi Bruno!

Please always send your reports to the mailing list.

On 01/22/2017 09:38 PM, Bruno Haible wrote:
> and encountered two problems:
> 1) A warning that the boot loader will not be able to find the kernel on an
> ext4 file system because it supports only ext2 and ext3. This is stupid, 
> because
> ext4 is upward-compatible with ext2.

It's not stupid. It's just because no one has update silo-installer yet. I'm 
also
not sure if it's 100% safe to use SILO on ext4. Furthermore, Oracle is actually
working to add SPARC support to GRUB [1].

Unfortunately, this hasn't been merged yet. But we should maybe go ahead and
do a local GRUB build for sparc64. I have tried it once, but I didn't manage
to build it, but also gave up quickly. I should probably give it another
try.

> 2) During the installation of the base system:
> Jan 22 18:24:05 debootstrap: mknod: /target/dev/null: No such file or 
> directory
> I tried to manually create the /target/dev directory and retry, but it did
> not help.

Yes, the latest image is known to have a broken version of debootstrap. I
should probably remove these images to keep others from using them.

Adrian

> [1] https://github.com/esnowberg/grub2-sparc

-- 
 .''`.  John Paul Adrian Glaubitz
: :' :  Debian Developer - glaub...@debian.org
`. `'   Freie Universitaet Berlin - glaub...@physik.fu-berlin.de
  `-GPG: 62FF 8A75 84E0 2956 9546  0006 7426 3B37 F5B5 F913