doesn't clear screen on boot

Bug #922076 reported by Askar Safin
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
QEMU
Expired
Undecided
Unassigned

Bug Description

When I start Linux in Qemu via "qemu -kernel /vmlinuz ...", Qemu window appears and it shows message "Starting Seabios (version 0.5.1-2010...)", and then Linux writes messages like "Loading, please wait..." on top of previous message!

For example, I can see "Loading, please wait...on 0.5.1-2010...)"

So, Qemu doesn't clean screan before booting OS.

Moreover, when I start Linux via "qemu /disk-image", Qemu shows "Starting Seabios (version 0.5.1-2010...)", then switches to graphical mode, shows GRUB, then switches back to text mode and shows "Starting Seabios" again! And again Linux prints messages on top of Seabios messages, and we see a mix of symbols on screen.

Also, I found another bug! I am learning now to write kernels. And I see that operator "*(char *)0xb8000 = 0" in C code of kernel doesn't clean first charaster of screen in Qemu in "-curses" mode! If I want to real clean this charaster, I must type "*(char *)0xb8000 = ' '".

I attach a kernel (x86, multiboot) with this bug. Just type "make" (you need gcc) and "qemu -curses -kernel kernel". You will see that screen is not cleared, but kernel tries to clean it. If you change 0 to ' ', all will work!

Revision history for this message
Askar Safin (safinaskar) wrote :
Revision history for this message
Askar Safin (safinaskar) wrote :

UPDATE: The second bug (which is started with "Also, I found another bug! I am learning...") is fixed in 1.4.0

About the first bug: screen clears on real hardware, so it is really bug. Also, it is reproducible with Qemu 1.4.0 and Qemu 5e3a0f418c4d57399778cee0b55aebfb663b6425.

Askar Safin (safinaskar)
description: updated
Revision history for this message
Thomas Huth (th-huth) wrote :

Does this problem still exist with the latest version of QEMU? Which interface type are you using (SDL, gtk, ...)? Can you please provide your full command line and build options?

Changed in qemu:
status: New → Incomplete
Revision history for this message
Askar Safin (safinaskar) wrote :

The bug still exists in qemu 2.7 (version present in my debian stretch).
I was not able reproduce the bug with booting kernel directly with 2.7 (-kernel ...), but booting disk image causes the bug.

So, I have debian gnu/linux stretch amd64. debian package qemu-system-x86 1:2.7+dfsg-3+b1. I run my host system in qemu (i. e. I run in qemu same system that running on the host) using well known "-snapshot -drive file=/dev/sda" trick. Precise command line is:

kdesudo -c "exec qemu-system-x86_64 -m 1024M -enable-kvm -daemonize -snapshot -drive file=/dev/sda,cache=none,format=raw"

Qemu appears and I see usual "SeaBIOS (version 1.9.3-20161025_171302-gandalf)" as you can see at screenshot Screenshot_20161216_005817.png .

Then qemu switches to grub.

And then qemu switches to text mode back. And fsck prints to console: "/dev/sda2: recovering journal", but this words appears on top of that SeaBIOS self-adver., so we have the following words mixture:

/dev/sda2: recovering journal25_171302-gandalf)

I use sdl. I don't know build option, this is qemu from debian package

Revision history for this message
Askar Safin (safinaskar) wrote :

This is Screenshot_20161216_005859.png , screenshot with grub

Revision history for this message
Askar Safin (safinaskar) wrote :

And this is Screenshot_20161216_005917.png . Here (after grub) we see "recovering journal" on top of seabios string

Thomas Huth (th-huth)
Changed in qemu:
status: Incomplete → Triaged
Revision history for this message
Thomas Huth (th-huth) wrote : Moved bug report

This is an automated cleanup. This bug report has been moved to QEMU's
new bug tracker on gitlab.com and thus gets marked as 'expired' now.
Please continue with the discussion here:

 https://gitlab.com/qemu-project/qemu/-/issues/87

Changed in qemu:
status: Triaged → Expired
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.