hiwoody
关于编译核心时出现system is too big提示的解释!
在公司VIA C3的机器上红旗OS6.0的平台上编译2.6.25核心时候出现 system is too big的出错提示
在google上发现遇到这类错误的同仁并不很多,整理后有如下E文,大致是说BIOS的功能所限制的.我把
E文贴在这里,留个记号,但愿遇到此类错误的同仁能有所收获!
[quote]On Wed, 7 Apr 1999, Riley Williams wrote:
> Hi there.
>
> > # make bzImage
> > [...]
> > Root device is (3, 2)
> > Boot sector 512 bytes.
> > Setup is 3432 bytes.
> > System is 1412 kB
> > System is too big. Try using modules.
> > make[1]: *** [bzImage] Error 1
> > make[1]: Leaving directory `/usr/src/linux/arch/i386/boot'
> > make: *** [bzImage] Error 2
>
> > What is the reason of size limit for bzImage ?
>
> I would presume that's connected with the 640k limit again, but in a
> different way - presumably, the bzImage loader has its own limit on
> the kernel size it can handle before it runs out of conventional
> memory to buffer through...
The zImage size limit is available space within the IBM (Not Intel)
architecture limit. Intel's limit is 1 megabyte +/- a few bytes (depends
upon segment:offset used) . The bzImage limit is the available size on a
1.44 megabyte floppy. It could be changed.
Both loaders use the BIOS to read from disk and put data into memory.
zImage data is loaded at 0x1000:0 and can go to 0x9000:0xFFFF. This
means (0x9000 - 0x1000) x 0x10 = 0x80000 = 524,288 Plus offset of
0xFFFF = 589,824 bytes. This is the maximum size for zImage.
The loader for bzImage uses BIOS interrupt 0x15, function 0x85 (block
move), to copy data read, from a real-mode buffer to memory starting
at 1 megabyte upwards to 16 megabytes. This allows the maximum size
to be 15 megabytes. This limitation is due to the GDT set for a
24-bit address.
Intel should not be blamed. It was IBM that decided that there should
be ROM-BIOS blocks of grud cluttering up fixed locations in memory.
Adding a screen regen buffer at either of two locations compounded
the mess.
Cheers,
Dick Johnson
***** FILE SYSTEM WAS MODIFIED *****
Penguin : Linux version 2.2.5 on an i686 machine (400.59 BogoMips).
Warning : It's hard to remain at the trailing edge of technology.
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [email]majordomo@vger.rutgers.edu[/email]
Please read the FAQ at [url]http://www.tux.org/lkml/[/url]
[/quote]
kenduest
[quote]原帖由 [i]hiwoody[/i] 于 2008-5-4 17:04 发表 [url=http://linux.chinaunix.net/bbs/redirect.php?goto=findpost&pid=6576719&ptid=999426][img]http://linux.chinaunix.net/bbs/images/common/back.gif[/img][/url]
在公司VIA C3的机器上红旗OS6.0的平台上编译2.6.25核心时候出现 system is too big的出错提示
在google上发现遇到这类错误的同仁并不很多,整理后有如下E文,大致是说BIOS的功能所限制的.我把
E文贴在这里,留个 ... [/quote]
傳統都用 make zImage,但是目前 kernel 都很大一定超過 6xx KB,所以都改用 make bzImage 囉 :-)
如此讓 kernel 載入區域不是在傳統 640K ram 內,改成載入到更高一點 (ex: 1MB 以上) 的記憶體區段 :-)
--