Re: 2.6.23-rc1: no setup signature found...

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Mon, Jul 30, 2007 at 01:46:33PM -0700, H. Peter Anvin wrote:
> Borislav Petkov wrote:
>> Hi,
>> i decided to do some cheating :) and skipped the breakpoint where it used 
>> to
>> stop (0x40200). (by the way, hitting 'c' wouldn't continue at all and keep
>> executing the same instruction over and over again). This time it seems it 
>> behaves as expected:
>
> Uhm, it looks to me that you ran qemu with the -kernel option again (I can 
> tell because the dump exhibits a few bugs that are characteristic of the 
> qemu loader.)  This makes qemu itself load the kernel and not rely on the 
> boot loader that's on your bootloader.
>
> I was expecting you to run "qemu -S -s -hda /dev/hda -snapshot", which you 
> previously said when run (without the -S -s) options reproduced the 
> problem.
ups, sorry for that, i thought falsely here that you want to debug the kernel
part of the setup code ...
>
> After taking the dump, please do:
>
> 	delete
> 	c
>
> ... to verify the problem is reproduced.

In this case, we never land on a jump instruction:

GNU gdb 6.6-debian
Copyright (C) 2006 Free Software Foundation, Inc.
GDB is free software, covered by the GNU General Public License, and you are
welcome to change it and/or distribute copies of it under certain conditions.
Type "show copying" to see the conditions.
There is absolutely no warranty for GDB.  Type "show warranty" for details.
This GDB was configured as "i486-linux-gnu".
(gdb) target remote localhost:1234
Remote debugging using localhost:1234
0x0000fff0 in ?? ()
	(gdb) set arch i8086
	The target architecture is assumed to be i8086
	(gdb) disp/i ($cs << 4)+$eip
	1: x/i ($cs << 4) + $eip  0xffff0:      ljmp   $0xf000,$0xe05b
	(gdb) br *0x10200
	Breakpoint 1 at 0x10200
	(gdb)         br *0x20200
	Breakpoint 2 at 0x20200
	(gdb)         br *0x30200
	Breakpoint 3 at 0x30200
	(gdb)         br *0x40200
	Breakpoint 4 at 0x40200
	(gdb)         br *0x50200
	Breakpoint 5 at 0x50200
	(gdb)         br *0x60200
	Breakpoint 6 at 0x60200
	(gdb)         br *0x70200
	Breakpoint 7 at 0x70200
	(gdb)         br *0x80200
	Breakpoint 8 at 0x80200
	(gdb)         br *0x90200
	Breakpoint 9 at 0x90200
	(gdb) c
	Continuing.

	Breakpoint 4, 0x00040200 in ?? ()
	1: x/i ($cs << 4) + $eip  0x40300:      lea    (%si),%dx
	(gdb) c
	Continuing.

if i do delete here, it loads the second stage of grub and continues to load the
kernel. Is there another way to land at the jmp instruction instead of poking
blindly, maybe disassemble something parts of the initial code. \me reading
grub-docs...

-- 
Regards/Gruß,
    Boris.
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [email protected]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

[Index of Archives]     [Kernel Newbies]     [Netfilter]     [Bugtraq]     [Photo]     [Stuff]     [Gimp]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Video 4 Linux]     [Linux for the blind]     [Linux Resources]
  Powered by Linux