help-grub
[Top][All Lists]
Advanced

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

Compilation of grub 1.99~rc1 returns


From: Raniere
Subject: Compilation of grub 1.99~rc1 returns
Date: Mon, 7 Mar 2011 09:23:10 -0800 (PST)

Hi.
I'm from Brazil and this message was translated into English using googletranlator.
Below is the original text.

I'm trying to compile grub-1.99 ~ rc1 and am getting an error message.

The story from the beginning:
I compiled the kernel linux-2.6.36.2, configured the file / boot / grub / menu.lst as follows:

======= PART REFERRED TO THE NEW KERNEL =======
title = CB_Conectiva Linux - 2.6.36.2_0CBhighmem
= kernel (hd0, 5) / vmlinuz-2.6.36.2_0CBhighmem root = / dev/hda5 vga = 0x314
initrd = (hd0, 5) / vmlinuz-2.6.36.2_0CBhighmem
=========================================

I created the file / boot/initrd-2.6.36.2_0CBhighmem with the following command:
mkinitrd / boot/initrd-2.6.36.2_0CBhighmem 2.6.36.2_0CBhighmem

But when I restart and having to boot the new kernel, I get the following message: No setup found Segnatura ...

Searching the Internet I discovered that this message seems to be related to the version of grub that is installed on my system (very old), which is 0.92. So I decided to compile and update.
I tried to compile all these versions:
grub-0.96
grub-1.90
grub-1.94
grub-1.96
grub-1.97
grub-1.97.2
grub-1.98
And they all return an error message like this (when using. / Configure):
objcopy checking for ... objcopy
Whether checking objcopy works for absolute addresses ... configure: error: gcc can not link at address 7C00

I could not solve it and went on to build for version 1.99 ~ rc1, running through the setup process without problems. But when I "make" to actually build, the following message appears at the end:

gcc-DHAVE_CONFIG_H-I. -I .. -W-Wall -I../include -I../include-DGRUB_MACHINE_PCBIOS = 1-DGRUB_MACHINE = I386_PC-DGRUB_FILE = \ "video / fb / video_fb.c \"-I. -I. -I .. -I .. -I../include -I../include-Os-Wall-W-Wshadow-Wpointer-arith-Wmissing-prototypes-Wundef-Wstrict-prototypes-g-falign-jumps = 1-falign-loops = 1-falign -functions = 1-mno-mmx-mno-sse-mno-sse2-mno-3dnow-m32-fno-stack-protector-mno-stack-arg-probe-Werror-MRTD-mregparm ffreestanding = 3-MT-video / fb / video_fb_module-video_fb.o-MD-MP-MF video / fb / .deps-core / video_fb_module-video_fb.Tpo-c-o video / fb / video_fb_module-video_fb.o `test-f 'video / fb / video_fb . c '| | echo'./'` video / fb / video_fb.c
cc1: warnings Being treated the errors
video / fb / video_fb.c: In function 'grub_video_fb_setup':
video / fb / video_fb.c: 1451: warning: passing argument 4 of 'grub_video_fb_doublebuf_blit_init' Discards qualifiers from pointer target type
make [3]: ** [video / fb / video_fb_module-video_fb.o] Error 1
make [3]: Leaving directory `/ ~ home/raniere/tmp/compilacao/GRUB/grub-1.99 rc1/grub-core '
make [2]: ** [all] Error 2
make [2]: Leaving directory `/ ~ home/raniere/tmp/compilacao/GRUB/grub-1.99 rc1/grub-core '
make [1]: ** [all-recursive] Error 1
make [1]: Leaving directory `/ home/raniere/tmp/compilacao/GRUB/grub-1.99 ~ rc1 '
make: ** [all] Error 2

If I use "make-d" for more details I get the following:

gcc-DHAVE_CONFIG_H-I. -I .. -W-Wall -I../include -I../include-DGRUB_MACHINE_PCBIOS = 1-DGRUB_MACHINE = I386_PC-DGRUB_FILE = \ "video / fb / video_fb.c \"-I. -I. -I .. -I .. -I../include -I../include-Os-Wall-W-Wshadow-Wpointer-arith-Wmissing-prototypes-Wundef-Wstrict-prototypes-g-falign-jumps = 1-falign-loops = 1-falign -functions = 1-mno-mmx-mno-sse-mno-sse2-mno-3dnow-m32-fno-stack-protector-mno-stack-arg-probe-Werror-MRTD-mregparm ffreestanding = 3-MT-video / fb / video_fb_module-video_fb.o-MD-MP-MF video / fb / .deps-core / video_fb_module-video_fb.Tpo-c-o video / fb / video_fb_module-video_fb.o `test-f 'video / fb / video_fb . c '| | echo'./'` video / fb / video_fb.c
Putting child 0x40a43c00 (video / fb / video_fb_module-video_fb.o) PID 4940 on the chain.
Live child 0x40a43c00 (video / fb / video_fb_module-video_fb.o) PID 4940
cc1: warnings Being treated the errors
video / fb / video_fb.c: In function 'grub_video_fb_setup':
video / fb / video_fb.c: 1451: warning: passing argument 4 of 'grub_video_fb_doublebuf_blit_init' Discards qualifiers from pointer target type
Reaping losing child 0x40a43c00 PID 4940
make [3]: ** [video / fb / video_fb_module-video_fb.o] Error 1
Removing child 0x40a43c00 PID 4940 from chain.
make [3]: Leaving directory `/ ~ home/raniere/tmp/compilacao/GRUB/grub-1.99 rc1/grub-core '
Reaping losing child 0x40949ac0 PID 4934
make [2]: ** [all] Error 2
Removing child 0x40949ac0 PID 4934 from chain.
make [2]: Leaving directory `/ ~ home/raniere/tmp/compilacao/GRUB/grub-1.99 rc1/grub-core '
Reaping losing child 0x404a3400 PID 4904
make [1]: ** [all-recursive] Error 1
Removing child 0x404a3400 PID 4904 from chain.
make [1]: Leaving directory `/ home/raniere/tmp/compilacao/GRUB/grub-1.99 ~ rc1 '
Reaping losing child 0x40665d80 PID 4898
make: ** [all] Error 2
Removing child 0x40665d80 PID 4898 from chain.
bash-2.05b #
bash-2.05b #

Looking at the error message, it seems that the problem is in fact the compiler does not get any info on such a video mode or video buffer.
And it seems that the file "video / fb / video_fb.c" on the directory tree of source code from grub, is the main participant of the error, especially at line 1451 of file.
I do not understand anything when looking at the file and also not sure what the problem is him. maybe I am missing some dependency, though I do not miss not one.
And so, on the Internet, everyone seems to show the build process as something simple, but here is not working too well.

Does anyone have any tips?
If you do not know of anything that might help, but can direct me to a place where one can take my doubt, it will be very good! :)

GCC version used: 4.2.2

Thanks.

-----------
Original text:


Olá.
Estou tentando compilar o grub-1.99~rc1 e estou recebendo uma mensagem de erro.

A história desde o começo:
Compilei o kernel linux-2.6.36.2; configurei o arquivo /boot/grub/menu.lst da seguinte forma:

=======PARTE QUE SE REFERE AO NOVO KERNEL=======
title = CB_Conectiva Linux - 2.6.36.2_0CBhighmem
kernel = (hd0,5)/vmlinuz-2.6.36.2_0CBhighmem root=/dev/hda5 vga=0x314
initrd = (hd0,5)/vmlinuz-2.6.36.2_0CBhighmem
=========================================

Criei o arquivo /boot/initrd-2.6.36.2_0CBhighmem com o seguinte comando:
mkinitrd /boot/initrd-2.6.36.2_0CBhighmem 2.6.36.2_0CBhighmem

Mas quando reinicio e tendo dar boot pelo novo kernel, recebo a seguinte mensagem: No setup segnature found...

Pesquisando na Internet descobri que essa mensagem parece estar relacionada com a versão do grub que está instalada em meu sistema (muito antiga), que é a 0.92. Então resolvi compilar e atualizar.
Tentei compilar todas estas versões:
grub-0.96
grub-1.90
grub-1.94
grub-1.96
grub-1.97
grub-1.97.2
grub-1.98
E todas elas retornam uma mensagem de erro como esta (quando uso ./configure):
checking for objcopy... objcopy
checking whether objcopy works for absolute addresses... configure: error: gcc cannot link at address 7C00

Eu não consegui resolver isso e parti para a compilação da versão 1.99~rc1, que passa pelo processo de configuração sem problemas. Mas quando dou "make" para efetivamente compilar, surge a seguinte mensagem no final:

gcc -DHAVE_CONFIG_H -I. -I.. -Wall -W -I../include -I../include -DGRUB_MACHINE_PCBIOS=1 -DGRUB_MACHINE=I386_PC -DGRUB_FILE=\"video/fb/video_fb.c\" -I. -I. -I.. -I.. -I../include -I../include -Os -Wall -W -Wshadow -Wpointer-arith -Wmissing-prototypes -Wundef -Wstrict-prototypes -g -falign-jumps=1 -falign-loops=1 -falign-functions=1 -mno-mmx -mno-sse -mno-sse2 -mno-3dnow -m32 -fno-stack-protector -mno-stack-arg-probe -Werror -mrtd -mregparm=3 -ffreestanding -MT video/fb/video_fb_module-video_fb.o -MD -MP -MF video/fb/.deps-core/video_fb_module-video_fb.Tpo -c -o video/fb/video_fb_module-video_fb.o `test -f 'video/fb/video_fb.c' || echo './'`video/fb/video_fb.c
cc1: warnings being treated as errors
video/fb/video_fb.c: In function 'grub_video_fb_setup':
video/fb/video_fb.c:1451: warning: passing argument 4 of 'grub_video_fb_doublebuf_blit_init' discards qualifiers from pointer target type
make[3]: ** [video/fb/video_fb_module-video_fb.o] Erro 1
make[3]: Saindo do diretório `/home/raniere/tmp/compilacao/GRUB/grub-1.99~rc1/grub-core'
make[2]: ** [all] Erro 2
make[2]: Saindo do diretório `/home/raniere/tmp/compilacao/GRUB/grub-1.99~rc1/grub-core'
make[1]: ** [all-recursive] Erro 1
make[1]: Saindo do diretório `/home/raniere/tmp/compilacao/GRUB/grub-1.99~rc1'
make: ** [all] Erro 2

Se eu usar "make -d" para ver mais detalhes obtenho o seguinte:

gcc -DHAVE_CONFIG_H -I. -I.. -Wall -W -I../include -I../include -DGRUB_MACHINE_PCBIOS=1 -DGRUB_MACHINE=I386_PC -DGRUB_FILE=\"video/fb/video_fb.c\" -I. -I. -I.. -I.. -I../include -I../include -Os -Wall -W -Wshadow -Wpointer-arith -Wmissing-prototypes -Wundef -Wstrict-prototypes -g -falign-jumps=1 -falign-loops=1 -falign-functions=1 -mno-mmx -mno-sse -mno-sse2 -mno-3dnow -m32 -fno-stack-protector -mno-stack-arg-probe -Werror -mrtd -mregparm=3 -ffreestanding -MT video/fb/video_fb_module-video_fb.o -MD -MP -MF video/fb/.deps-core/video_fb_module-video_fb.Tpo -c -o video/fb/video_fb_module-video_fb.o `test -f 'video/fb/video_fb.c' || echo './'`video/fb/video_fb.c
Putting child 0x40a43c00 (video/fb/video_fb_module-video_fb.o) PID 4940 on the chain.
Live child 0x40a43c00 (video/fb/video_fb_module-video_fb.o) PID 4940
cc1: warnings being treated as errors
video/fb/video_fb.c: In function 'grub_video_fb_setup':
video/fb/video_fb.c:1451: warning: passing argument 4 of 'grub_video_fb_doublebuf_blit_init' discards qualifiers from pointer target type
Reaping losing child 0x40a43c00 PID 4940
make[3]: ** [video/fb/video_fb_module-video_fb.o] Erro 1
Removing child 0x40a43c00 PID 4940 from chain.
make[3]: Saindo do diretório `/home/raniere/tmp/compilacao/GRUB/grub-1.99~rc1/grub-core'
Reaping losing child 0x40949ac0 PID 4934
make[2]: ** [all] Erro 2
Removing child 0x40949ac0 PID 4934 from chain.
make[2]: Saindo do diretório `/home/raniere/tmp/compilacao/GRUB/grub-1.99~rc1/grub-core'
Reaping losing child 0x404a3400 PID 4904
make[1]: ** [all-recursive] Erro 1
Removing child 0x404a3400 PID 4904 from chain.
make[1]: Saindo do diretório `/home/raniere/tmp/compilacao/GRUB/grub-1.99~rc1'
Reaping losing child 0x40665d80 PID 4898
make: ** [all] Erro 2
Removing child 0x40665d80 PID 4898 from chain.
bash-2.05b#
bash-2.05b#

Olhando a mensagem de erro, parece que o problema está no fato do compilador não conseguir alguma informação sobre um tal modo de vídeo ou buffer de vídeo.
E parece que o arquivo "video/fb/video_fb.c", na arvore de diretórios do código fonte do grub, é o principal participante do erro, em especial na linha 1451, do arquivo.
Eu não entendi nada ao olhar o arquivo, e também não tenho certeza de que o problema é nele. talvez eu esteja com alguma dependência faltando, apesar de achar que não falta nem uma.
E por aí, na internet, todos parecem mostrar o processo de compilação como algo simples, mas aqui não está dando muito certo.

Alguém tem alguma dica?
Se não souberem de algo que possa ajudar, mas puderem me indicar um local onde um possa levar minha dúvida, já será muito bom! :)

Versão do GCC usado: 4.2.2

Obrigado.

 
reply via email to

[Prev in Thread] Current Thread [Next in Thread]