Hello,
after using the config-file from the Advantech PCM-5823 and adding the option "HAVE_FRAMEBUFFER=1" in the config-file I got this Errormessage: (kernelpath set to systemkernel 2.6.7)
holodoc:/home/thomasle/Desktop/awb651 # make gcc -x assembler-with-cpp -DASSEMBLY -E ... crt0.S > crt0.s gcc ... -o crt0.o crt0.s crt0.S: Assembler messages: crt0.S:156: Warning: indirect jmp without `*' gcc ... -o version.o /home/thomasle/freebios/src/lib/version.c gcc ... -o mainboard.o /home/thomasle/freebios/src/mainboard/ics-d/awb651/mainboard.c gcc ... -o irq_tables.o /home/thomasle/freebios/src/mainboard/ics-d/awb651/irq_tables.c rm -f linuxbios.a ar cr linuxbios.a linuxbiosmain.o linuxpci.o newpci.o clog2.o printk.o serial_subr.o subr.o vsprintf.o memset.o memcpy.o memcmp.o malloc.o elfboot.o do_inflate.o delay.o compute_ip_checksum.o version.o keyboard.o mc146818rtc.o isa-dma.o ide.o boot.o linuxbios_table.o i386_subr.o params.o hardwaremain.o pirq_routing.o c_start.o cpuid.o delay_tsc.o northbridge.o southbridge.o superio_SMC_fdc37b72x.o nsuperio.o mainboard.o irq_tables.o gcc -nostdlib -r -o linuxbios_c.o c_start.o rom_fill_inbuf.o linuxbios.a /usr/lib/gcc-lib/i586-suse-linux/3.3.1/libgcc.a perl -e 'foreach $var (split(" ", $ENV{VARIABLES})) { if ($ENV{$var} =~ m/^(0x[0-9a-fA-F]+|0[0-7]+|[0-9]+)$/) { print "$var = $ENV{$var};\n"; }}' > ldoptions gcc -nostdlib -nostartfiles -static -o linuxbios_c -T /home/thomasle/freebios/src/config/linuxbios_c.ld linuxbios_c.o linuxbios_c.o(.text+0xa56): In function `hardwaremain': : undefined reference to `framebuffer_on' collect2: ld returned 1 exit status make: *** [linuxbios_c] Error 1
Can anyone give me a hint please? What did I wrong?
Thx, Tom
Hi,
Well I have not used PCM or Frame buffering, but your error looks like you have the framebuffer definition/ prototype, but no implementation. Look for where `framebuffer_on' is implemented and see if there is an additional compile switch needed to build this in for support. Hope this helps.
Dave
On Mon, 2004-07-19 at 08:13, Thomas Leidenfrost wrote:
Hello,
after using the config-file from the Advantech PCM-5823 and adding the option "HAVE_FRAMEBUFFER=1" in the config-file I got this Errormessage: (kernelpath set to systemkernel 2.6.7)
holodoc:/home/thomasle/Desktop/awb651 # make gcc -x assembler-with-cpp -DASSEMBLY -E ... crt0.S > crt0.s gcc ... -o crt0.o crt0.s crt0.S: Assembler messages: crt0.S:156: Warning: indirect jmp without `*' gcc ... -o version.o /home/thomasle/freebios/src/lib/version.c gcc ... -o mainboard.o /home/thomasle/freebios/src/mainboard/ics-d/awb651/mainboard.c gcc ... -o irq_tables.o /home/thomasle/freebios/src/mainboard/ics-d/awb651/irq_tables.c rm -f linuxbios.a ar cr linuxbios.a linuxbiosmain.o linuxpci.o newpci.o clog2.o printk.o serial_subr.o subr.o vsprintf.o memset.o memcpy.o memcmp.o malloc.o elfboot.o do_inflate.o delay.o compute_ip_checksum.o version.o keyboard.o mc146818rtc.o isa-dma.o ide.o boot.o linuxbios_table.o i386_subr.o params.o hardwaremain.o pirq_routing.o c_start.o cpuid.o delay_tsc.o northbridge.o southbridge.o superio_SMC_fdc37b72x.o nsuperio.o mainboard.o irq_tables.o gcc -nostdlib -r -o linuxbios_c.o c_start.o rom_fill_inbuf.o linuxbios.a /usr/lib/gcc-lib/i586-suse-linux/3.3.1/libgcc.a perl -e 'foreach $var (split(" ", $ENV{VARIABLES})) { if ($ENV{$var} =~ m/^(0x[0-9a-fA-F]+|0[0-7]+|[0-9]+)$/) { print "$var = $ENV{$var};\n"; }}' > ldoptions gcc -nostdlib -nostartfiles -static -o linuxbios_c -T /home/thomasle/freebios/src/config/linuxbios_c.ld linuxbios_c.o linuxbios_c.o(.text+0xa56): In function `hardwaremain': : undefined reference to `framebuffer_on' collect2: ld returned 1 exit status make: *** [linuxbios_c] Error 1
Can anyone give me a hint please? What did I wrong?
Thx, Tom
Linuxbios mailing list Linuxbios@clustermatic.org http://www.clustermatic.org/mailman/listinfo/linuxbios
Hi Again,
Just out of curiosity I poked around again and I don't think the PCM-5823 has support for the frame buffering. You could try VGA bios/testbios to get your card to initialize. You'll need pcituils to compile it, but it should work.
Dave On Mon, 2004-07-19 at 08:13, Thomas Leidenfrost wrote:
Hello,
after using the config-file from the Advantech PCM-5823 and adding the option "HAVE_FRAMEBUFFER=1" in the config-file I got this Errormessage: (kernelpath set to systemkernel 2.6.7)
holodoc:/home/thomasle/Desktop/awb651 # make gcc -x assembler-with-cpp -DASSEMBLY -E ... crt0.S > crt0.s gcc ... -o crt0.o crt0.s crt0.S: Assembler messages: crt0.S:156: Warning: indirect jmp without `*' gcc ... -o version.o /home/thomasle/freebios/src/lib/version.c gcc ... -o mainboard.o /home/thomasle/freebios/src/mainboard/ics-d/awb651/mainboard.c gcc ... -o irq_tables.o /home/thomasle/freebios/src/mainboard/ics-d/awb651/irq_tables.c rm -f linuxbios.a ar cr linuxbios.a linuxbiosmain.o linuxpci.o newpci.o clog2.o printk.o serial_subr.o subr.o vsprintf.o memset.o memcpy.o memcmp.o malloc.o elfboot.o do_inflate.o delay.o compute_ip_checksum.o version.o keyboard.o mc146818rtc.o isa-dma.o ide.o boot.o linuxbios_table.o i386_subr.o params.o hardwaremain.o pirq_routing.o c_start.o cpuid.o delay_tsc.o northbridge.o southbridge.o superio_SMC_fdc37b72x.o nsuperio.o mainboard.o irq_tables.o gcc -nostdlib -r -o linuxbios_c.o c_start.o rom_fill_inbuf.o linuxbios.a /usr/lib/gcc-lib/i586-suse-linux/3.3.1/libgcc.a perl -e 'foreach $var (split(" ", $ENV{VARIABLES})) { if ($ENV{$var} =~ m/^(0x[0-9a-fA-F]+|0[0-7]+|[0-9]+)$/) { print "$var = $ENV{$var};\n"; }}' > ldoptions gcc -nostdlib -nostartfiles -static -o linuxbios_c -T /home/thomasle/freebios/src/config/linuxbios_c.ld linuxbios_c.o linuxbios_c.o(.text+0xa56): In function `hardwaremain': : undefined reference to `framebuffer_on' collect2: ld returned 1 exit status make: *** [linuxbios_c] Error 1
Can anyone give me a hint please? What did I wrong?
Thx, Tom
Linuxbios mailing list Linuxbios@clustermatic.org http://www.clustermatic.org/mailman/listinfo/linuxbios
Hi,
currently I'm using the AW-B651 from ICS, it is very similar to the PCM-5823, except the other superio-chip (Winbond M83977EF), I changed the Config-File according to this. Also I removed the option "HAVE_FRAMEBUFFER=1" for the second try, but the error-message was very similar to the previous one.
..cp linuxbios_payload.nrv2b linuxbios_payload echo "INCLUDE ldoptions" > ldscript.ld ; for file in /home/thomasle/freebios/src/arch/i386/config/ldscript.base /home/thomasle/freebios/src/cpu/i386/entry16.lds /home/thomasle/freebios/src/cpu/i386/entry32.lds /home/thomasle/freebios/src/cpu/i386/reset16.lds ; do echo "INCLUDE $file" >> ldscript.ld ; done gcc -nostdlib -nostartfiles -static -o linuxbios -T ldscript.ld crt0.o crt0.o(.rom.text+0x7e): In function `__protected_start': : undefined reference to `SERIAL_SUPERIO_BASEADDRESS' crt0.o(.rom.text+0x8f): In function `__protected_start': : undefined reference to `SERIAL_SUPERIO_BASEADDRESS' crt0.o(.rom.text+0xa0): In function `__protected_start': : undefined reference to `SERIAL_SUPERIO_BASEADDRESS' crt0.o(.rom.text+0xb1): In function `__protected_start': : undefined reference to `SERIAL_SUPERIO_BASEADDRESS' crt0.o(.rom.text+0xc2): In function `__protected_start': : undefined reference to `SERIAL_SUPERIO_BASEADDRESS' crt0.o(.rom.text+0xd3): more undefined references to `SERIAL_SUPERIO_BASEADDRESS' follow collect2: ld returned 1 exit status make: *** [linuxbios] Error 1
Anyway, thanks @David for your advice, but I'm an absolutely novice without any idea of your intention, neither was it pcituils nor where to get it or how to use it. So I think I want to make it work anyway and then comes the fine-tuning.
Thx, Tom
David Aubin wrote:
Hi Again,
Just out of curiosity I poked around again and I don't think the PCM-5823 has support for the frame buffering. You could try VGA bios/testbios to get your card to initialize. You'll need pcituils to compile it, but it should work.
Dave On Mon, 2004-07-19 at 08:13, Thomas Leidenfrost wrote:
Hello,
after using the config-file from the Advantech PCM-5823 and adding the option "HAVE_FRAMEBUFFER=1" in the config-file I got this Errormessage: (kernelpath set to systemkernel 2.6.7)
holodoc:/home/thomasle/Desktop/awb651 # make gcc -x assembler-with-cpp -DASSEMBLY -E ... crt0.S > crt0.s gcc ... -o crt0.o crt0.s crt0.S: Assembler messages: crt0.S:156: Warning: indirect jmp without `*' gcc ... -o version.o /home/thomasle/freebios/src/lib/version.c gcc ... -o mainboard.o /home/thomasle/freebios/src/mainboard/ics-d/awb651/mainboard.c gcc ... -o irq_tables.o /home/thomasle/freebios/src/mainboard/ics-d/awb651/irq_tables.c rm -f linuxbios.a ar cr linuxbios.a linuxbiosmain.o linuxpci.o newpci.o clog2.o printk.o serial_subr.o subr.o vsprintf.o memset.o memcpy.o memcmp.o malloc.o elfboot.o do_inflate.o delay.o compute_ip_checksum.o version.o keyboard.o mc146818rtc.o isa-dma.o ide.o boot.o linuxbios_table.o i386_subr.o params.o hardwaremain.o pirq_routing.o c_start.o cpuid.o delay_tsc.o northbridge.o southbridge.o superio_SMC_fdc37b72x.o nsuperio.o mainboard.o irq_tables.o gcc -nostdlib -r -o linuxbios_c.o c_start.o rom_fill_inbuf.o linuxbios.a /usr/lib/gcc-lib/i586-suse-linux/3.3.1/libgcc.a perl -e 'foreach $var (split(" ", $ENV{VARIABLES})) { if ($ENV{$var} =~ m/^(0x[0-9a-fA-F]+|0[0-7]+|[0-9]+)$/) { print "$var = $ENV{$var};\n"; }}' > ldoptions gcc -nostdlib -nostartfiles -static -o linuxbios_c -T /home/thomasle/freebios/src/config/linuxbios_c.ld linuxbios_c.o linuxbios_c.o(.text+0xa56): In function `hardwaremain': : undefined reference to `framebuffer_on' collect2: ld returned 1 exit status make: *** [linuxbios_c] Error 1
Can anyone give me a hint please? What did I wrong?
Thx, Tom
Linuxbios mailing list Linuxbios@clustermatic.org http://www.clustermatic.org/mailman/listinfo/linuxbios
Thomas Leidenfrost wrote:
..cp linuxbios_payload.nrv2b linuxbios_payload echo "INCLUDE ldoptions" > ldscript.ld ; for file in /home/thomasle/freebios/src/arch/i386/config/ldscript.base /home/thomasle/freebios/src/cpu/i386/entry16.lds /home/thomasle/freebios/src/cpu/i386/entry32.lds /home/thomasle/freebios/src/cpu/i386/reset16.lds ; do echo "INCLUDE $file" >> ldscript.ld ; done gcc -nostdlib -nostartfiles -static -o linuxbios -T ldscript.ld crt0.o crt0.o(.rom.text+0x7e): In function `__protected_start': : undefined reference to `SERIAL_SUPERIO_BASEADDRESS' crt0.o(.rom.text+0x8f): In function `__protected_start': : undefined reference to `SERIAL_SUPERIO_BASEADDRESS' crt0.o(.rom.text+0xa0): In function `__protected_start': : undefined reference to `SERIAL_SUPERIO_BASEADDRESS' crt0.o(.rom.text+0xb1): In function `__protected_start': : undefined reference to `SERIAL_SUPERIO_BASEADDRESS' crt0.o(.rom.text+0xc2): In function `__protected_start': : undefined reference to `SERIAL_SUPERIO_BASEADDRESS' crt0.o(.rom.text+0xd3): more undefined references to `SERIAL_SUPERIO_BASEADDRESS' follow
Looks like the boot up serial_setup is not right. crt0.s is built from files specified in your ./mainboard/Avantech/pcm-5823/Config
the serial boot output stuff is built from this line.
mainboardinit superio/SMC/fdc37b72x/setup_serial.inc
Looking at the .inc for the advantech stuff and the config and some grepping I see that the superio base address is set with SMC_BASE in the pcm-5823 but set with SERIAL_SUPERIO_BASEADDRESS in the pcm-9574.
What did you change this like to?
Go look at whatever seteup_serial.inc you have and see what option it needs set for the serial base address.
It may be as simple as adding a
option SERIAL_SUPERIO_BASEADDRESS 0x<base>
to your mainboard config file or you may have to make some setup_serial.inc mods for whatever superio you changed to.
Now I am one step closer to the end, thanks for your patience and help! Probably not the last, but my actual problem: :-)
...dd if=linuxbios.strip of=linuxbios.rom bs=1 seek=`expr 65536 - $size` 65536 65536+0 Records ein 65536+0 Records aus objcopy -O binary -R .note -R .comment -S /boot/vmlinux linux.bin objcopy: /boot/vmlinux: File format not recognized make: *** [linux.bin] Error 1
I got a linuxbios.rom and a linuxbios.strip, both 64kB. But somehow, I think, the other 192kB of the Bios have to be filled with some kernel-sources. I read something about kernel 2.4.10 and a patch, but I can't find these instructions again. Then, if done, I think I have to put the linuxbios.rom & the linux.bin together with the tool nrv2b. Am I right?
Thanks again,
Tom
P.S. @Richard: I added this to the config-file (didn't know it should be there): option SERIAL_SUPERIO_BASEADDRESS=0x3f0
Richard Smith wrote:
Thomas Leidenfrost wrote:
..cp linuxbios_payload.nrv2b linuxbios_payload echo "INCLUDE ldoptions" > ldscript.ld ; for file in /home/thomasle/freebios/src/arch/i386/config/ldscript.base /home/thomasle/freebios/src/cpu/i386/entry16.lds /home/thomasle/freebios/src/cpu/i386/entry32.lds /home/thomasle/freebios/src/cpu/i386/reset16.lds ; do echo "INCLUDE $file" >> ldscript.ld ; done gcc -nostdlib -nostartfiles -static -o linuxbios -T ldscript.ld crt0.o crt0.o(.rom.text+0x7e): In function `__protected_start': : undefined reference to `SERIAL_SUPERIO_BASEADDRESS' crt0.o(.rom.text+0x8f): In function `__protected_start': : undefined reference to `SERIAL_SUPERIO_BASEADDRESS' crt0.o(.rom.text+0xa0): In function `__protected_start': : undefined reference to `SERIAL_SUPERIO_BASEADDRESS' crt0.o(.rom.text+0xb1): In function `__protected_start': : undefined reference to `SERIAL_SUPERIO_BASEADDRESS' crt0.o(.rom.text+0xc2): In function `__protected_start': : undefined reference to `SERIAL_SUPERIO_BASEADDRESS' crt0.o(.rom.text+0xd3): more undefined references to `SERIAL_SUPERIO_BASEADDRESS' follow
Looks like the boot up serial_setup is not right. crt0.s is built from files specified in your ./mainboard/Avantech/pcm-5823/Config
the serial boot output stuff is built from this line.
mainboardinit superio/SMC/fdc37b72x/setup_serial.inc
Looking at the .inc for the advantech stuff and the config and some grepping I see that the superio base address is set with SMC_BASE in the pcm-5823 but set with SERIAL_SUPERIO_BASEADDRESS in the pcm-9574.
What did you change this like to?
Go look at whatever seteup_serial.inc you have and see what option it needs set for the serial base address.
It may be as simple as adding a
option SERIAL_SUPERIO_BASEADDRESS 0x<base>
to your mainboard config file or you may have to make some setup_serial.inc mods for whatever superio you changed to.
Thomas Leidenfrost wrote:
Now I am one step closer to the end, thanks for your patience and help! Probably not the last, but my actual problem: :-)
...dd if=linuxbios.strip of=linuxbios.rom bs=1 seek=`expr 65536 - $size` 65536 65536+0 Records ein 65536+0 Records aus objcopy -O binary -R .note -R .comment -S /boot/vmlinux linux.bin objcopy: /boot/vmlinux: File format not recognized make: *** [linux.bin] Error 1
I got a linuxbios.rom and a linuxbios.strip, both 64kB. But somehow, I think, the other 192kB of the Bios have to be filled with some kernel-sources. I read something about kernel 2.4.10 and a patch, but I can't find these instructions again. Then, if done, I think I have to put the linuxbios.rom & the linux.bin together with the tool nrv2b. Am I right?
Now you are getting out of my realm on this board. I've never used nrv2b.
The error your getting above is because you have the default payload setup and it dosen't exist. If you don't specify a payload it defaults to linux. The actual linuxbios build is complete. You can take linuxbios.rom and put it in a chip. Only linuxbios will run though since you don't have a payload.
P.S. @Richard: I added this to the config-file (didn't know it should be there): option SERIAL_SUPERIO_BASEADDRESS=0x3f0
Make sure you document up all the changes you had to make and funnel them back to the list so CVS can be updated and it works for the next guy.
objcopy -O binary -R .note -R .comment -S /boot/vmlinux linux.bin objcopy: /boot/vmlinux: File format not recognized make: *** [linux.bin] Error 1
The error your getting above is because you have the default payload setup and it dosen't exist. If you don't specify a payload it defaults to linux. The actual linuxbios build is complete. You can take linuxbios.rom and put it in a chip. Only linuxbios will run though since you don't have a payload.
How do I specify a payload? I decompressed the sources of my actual running kernel (2.4.22) to /stuff2/Linuxe/kernel2422 and copied the current-used vmlinux into the same directory. But thats not all, I think...
Make sure you document up all the changes you had to make and funnel them back to the list so CVS can be updated and it works for the next guy.
I'll do after successful testing! :-)
Greetz, Tom
Linuxbios mailing list Linuxbios@clustermatic.org http://www.clustermatic.org/mailman/listinfo/linuxbios
sorry that LANL is going to be so quiet here, if you read wired.com you'll know how. I hope we can get back to helping out soon.
ron
Furtunally I made it work somehow to have a payload! :-) (according to howto's e.g. from sis630)
But now there are two new issues to be solved...
The Linuxbios.rom is 64 kB, the Bioschip is 256 kB and the flashutility says: "File and ROM size mismatch" -> Do I need a new smaller Bios-ROM? Or is there another way making it work?
And when using the payloader, which file is the right one?
1. romimage (1.4 MB) 2. payload.block (1.3 MB) 3. linux.bin.gz (1.2 MB)
Thanks in advance for any hint.
Yours, Tom (almost lucky)
ron minnich wrote:
sorry that LANL is going to be so quiet here, if you read wired.com you'll know how. I hope we can get back to helping out soon.
ron
Linuxbios mailing list Linuxbios@clustermatic.org http://www.clustermatic.org/mailman/listinfo/linuxbios
Hi,
Some flash utilities allow you to flash segments with beginning and ending offsets. Or what you could do is make 4 copies of your rom and write them, back to back to back to back:)
Dave
On Mon, 2004-07-19 at 18:10, Thomas Leidenfrost wrote:
Furtunally I made it work somehow to have a payload! :-) (according to howto's e.g. from sis630)
But now there are two new issues to be solved...
The Linuxbios.rom is 64 kB, the Bioschip is 256 kB and the flashutility says: "File and ROM size mismatch" -> Do I need a new smaller Bios-ROM? Or is there another way making it work?
And when using the payloader, which file is the right one?
- romimage (1.4 MB)
- payload.block (1.3 MB)
- linux.bin.gz (1.2 MB)
Thanks in advance for any hint.
Yours, Tom (almost lucky)
ron minnich wrote:
sorry that LANL is going to be so quiet here, if you read wired.com you'll know how. I hope we can get back to helping out soon.
ron
Linuxbios mailing list Linuxbios@clustermatic.org http://www.clustermatic.org/mailman/listinfo/linuxbios
Thomas Leidenfrost wrote:
The Linuxbios.rom is 64 kB, the Bioschip is 256 kB and the flashutility says: "File and ROM size mismatch" -> Do I need a new smaller Bios-ROM? Or is there another way making it work?
well you could
dd if=/dev/zero of=outimage.rom bs=1k count=256 dd if=Linuxbios.rom of=outimage.rom bs=1k seek=192
This will give you a 256kb Image with LB located in the last 64k.
Also you can mess with option ROM_IMAGE_SIZE and option PAYLOAD_SIZE
I set ROM_IMAGE_SIZE to Chip size - payload size.
These control various parameters that are given to dd when it builds the imagefile.
And when using the payloader, which file is the right one?
- romimage (1.4 MB)
- payload.block (1.3 MB)
- linux.bin.gz (1.2 MB)
the 'payload' statement in the config file determines what payload file is used.