etherboot-developers Mailing List for Etherboot (Page 203)
Brought to you by:
marty_connor,
stefanhajnoczi
You can subscribe to this list here.
| 2000 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
(2) |
Aug
(10) |
Sep
(3) |
Oct
(10) |
Nov
(47) |
Dec
(20) |
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 2001 |
Jan
(41) |
Feb
(107) |
Mar
(76) |
Apr
(103) |
May
(66) |
Jun
(72) |
Jul
(27) |
Aug
(31) |
Sep
(33) |
Oct
(18) |
Nov
(33) |
Dec
(67) |
| 2002 |
Jan
(25) |
Feb
(62) |
Mar
(79) |
Apr
(74) |
May
(67) |
Jun
(104) |
Jul
(155) |
Aug
(234) |
Sep
(87) |
Oct
(93) |
Nov
(54) |
Dec
(114) |
| 2003 |
Jan
(146) |
Feb
(104) |
Mar
(117) |
Apr
(189) |
May
(96) |
Jun
(40) |
Jul
(133) |
Aug
(136) |
Sep
(113) |
Oct
(142) |
Nov
(99) |
Dec
(185) |
| 2004 |
Jan
(233) |
Feb
(151) |
Mar
(109) |
Apr
(96) |
May
(200) |
Jun
(175) |
Jul
(162) |
Aug
(118) |
Sep
(107) |
Oct
(77) |
Nov
(121) |
Dec
(114) |
| 2005 |
Jan
(201) |
Feb
(271) |
Mar
(113) |
Apr
(119) |
May
(69) |
Jun
(46) |
Jul
(21) |
Aug
(37) |
Sep
(13) |
Oct
(4) |
Nov
(19) |
Dec
(46) |
| 2006 |
Jan
(10) |
Feb
(18) |
Mar
(85) |
Apr
(2) |
May
(1) |
Jun
|
Jul
|
Aug
|
Sep
|
Oct
(1) |
Nov
|
Dec
|
| 2007 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
(10) |
Jul
(20) |
Aug
(9) |
Sep
(11) |
Oct
(4) |
Nov
(1) |
Dec
(40) |
| 2008 |
Jan
(19) |
Feb
(8) |
Mar
(37) |
Apr
(28) |
May
(38) |
Jun
(63) |
Jul
(31) |
Aug
(22) |
Sep
(37) |
Oct
(38) |
Nov
(49) |
Dec
(24) |
| 2009 |
Jan
(48) |
Feb
(51) |
Mar
(80) |
Apr
(55) |
May
(34) |
Jun
(57) |
Jul
(20) |
Aug
(83) |
Sep
(17) |
Oct
(81) |
Nov
(53) |
Dec
(40) |
| 2010 |
Jan
(55) |
Feb
(28) |
Mar
(36) |
Apr
(7) |
May
|
Jun
|
Jul
(7) |
Aug
|
Sep
|
Oct
(1) |
Nov
(3) |
Dec
|
| 2011 |
Jan
(1) |
Feb
|
Mar
(3) |
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
(6) |
Oct
|
Nov
(10) |
Dec
|
| 2012 |
Jan
|
Feb
|
Mar
|
Apr
(1) |
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
| 2013 |
Jan
|
Feb
|
Mar
(1) |
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
|
From: Joey N. <jo...@jo...> - 2003-04-10 01:10:23
|
Eric, I tried version 2.3 and it whines Internal errors and magic numbers. So it appears to be a binutils problem. For a temporary work around I'm using an old version in the LinuxBios cvs. It is working well enough to get me going. Thanks, Joey Nelson -----Original Message----- From: eth...@li... [mailto:eth...@li...] On Behalf Of Eric W. Biederman Sent: Wednesday, April 09, 2003 3:44 PM To: Joey Nelson Cc: 'Etherboot developers list' Subject: Re: [Etherboot-developers] Problem with LinuxBios (latest cvs), Etherboot 5.1.7 - ide_disk, mkelfimg 2.0 "Joey Nelson" <jo...@jo...> writes: > Eric, > > I'm using version 2.0 of mkelfImage. You might want to try version 2.3... ftp://ftp.lnxi.com/pub/src/mkelfImage/ > I used syslinux under the standard BIOS to test the kernel. > > I applied the patch you supplied and it appear the problem is that > The kernel command line is not getting set. > > In the initialize_linux_params function in linux-i386/convert-params, I > put debug code to print the command line > (info->real_mode->command_line). After it should be initialized, but it > appear to be empty. I bet you have the RH7 broken binutils/gas bug, that puts junk at the end of assembly files. Definitely try the latest mkelfImage. If it errors out with an internal error than your binutils are broken. That is the only thing I can think of that would eat the command line. A double check would be to run strings on kernel.elf to make certain the command line is in there. Eric > Thanks, > > Joey Nelson > Design Engineer > JoeScan > www.joescan.com > 509-332-3644 > > > -----Original Message----- > From: eth...@li... > [mailto:eth...@li...] On Behalf Of > Eric W. Biederman > Sent: Tuesday, April 08, 2003 4:22 PM > To: Joey Nelson > Cc: 'Etherboot developers list' > Subject: Re: [Etherboot-developers] Problem with LinuxBios (latest cvs), > Etherboot 5.1.7 - ide_disk, mkelfimg 2.0 > > "Joey Nelson" <jo...@jo...> writes: > > > Hello, > > > > I've very nearly got this all going on my Geode GX1 based system. > > Interesting you have shortened mkelfImage to mkelfimg. Which > version are you running anyway? > > > It get all the way to loading the linux kernel elf image from a > compact > > flash and the last thing printed is: > > Firmware type: LinuxBIOS > > The Fimware type: LinuxBIOS is printed by the code prepend to the kernel > by mkelfImage. So you image loaded. > > Which means the image loaded. And I don't expect this disk support > LBA48 > mode so the recent fix to get that working should not be your issue. > > > I've tested this same kernel under the syslinux boot loader on the > same > > system with the same command line and it works fine with a serial > > console. > > syslinux works under LinuxBIOS? > Even if you did not test under LinuxBIOS if it works under another > BIOS the kernel still should be quite close. > > > > I use the following line to make my kernel.elf image. > > mkelfimg --kernel=/usr/src/linux/i386/boot/bzImage \ > > --output=kernel.elf \ > > --command-line="console=ttyS0,38400n8 root=/dev/hda2" > > > > Any suggestions on what I should be checking. > > Last time I saw something like this I traced it down to the kernel > dying early in bootup before it could initialize the serial console. > > > Attached is a patch against 2.4.17 but with a little tweaking the code > should work on any kernel. It gives very serial console output so > you can see what the kernel is actually doing. > > Eric ------------------------------------------------------- This SF.net email is sponsored by: Etnus, makers of TotalView, The debugger for complex code. Debugging C/C++ programs can leave you feeling lost and disoriented. TotalView can help you find your way. Available on major UNIX and Linux platforms. Try it free. www.etnus.com _______________________________________________ Etherboot-developers mailing list Eth...@li... https://lists.sourceforge.net/lists/listinfo/etherboot-developers |
|
From: <ke...@us...> - 2003-04-10 00:51:00
|
>> Did you ever get the Sundance to work, relocatable or not? > >I will be giving it another whirl now that floppy loader works for me. >I would be happy to send a sundance card to anyone who can help find the >issue. Still stops receiving after the first packet? First of all I notice you enable interrupts in the reset routine. You shouldn't. Secondly I'd check to see if looking at the Own bit in the receive descriptor is the right way to poll for an available packet. You may have to get hold of a data sheet. |
|
From: Timothy L. <tl...@ro...> - 2003-04-10 00:21:01
|
> If the 3c515 is driven by I/O instructions it should be relocation > ready. You can check that relocation works by booting DOS or another > ROM. It's just Linux that doesn't work (mknbi bug). What exactly does not work? I just used 5.1 to load a ltsp kernel. The kernel got as far as trying to load the 3c515 driver. I don't remember retagging the kernel (if its even possible) so I am unsure what does not work. > Did you ever get the Sundance to work, relocatable or not? I will be giving it another whirl now that floppy loader works for me. I would be happy to send a sundance card to anyone who can help find the issue. > If you are still hungry for work, a pcnet32 (32 bit Lance) driver needs > to be ported from Linux. The 24 bit Lance cannot be made relocatable > without a lot of messiness, Linux has two drivers too. Hm, I don't currently have a pcnet32 based card or even know which cards are based on that chipset. I am willing to pick up a new sundance based card to trade with someone for a pcnet32 based card. I would like to finish the sundance driver first, but if I can attract someone to help find the issue I would be happy to move on to another driver. Tim |
|
From: <ke...@us...> - 2003-04-09 23:50:16
|
>If you remind me of the required changes, I can take a look at 3c515 and >sundance (maybe even getting it to work). I can also take a look at >some of the drivers for any of the NICs that I have. A push to fix any >remaining relocation issues might be a good idea. If the 3c515 is driven by I/O instructions it should be relocation ready. You can check that relocation works by booting DOS or another ROM. It's just Linux that doesn't work (mknbi bug). Did you ever get the Sundance to work, relocatable or not? If you are still hungry for work, a pcnet32 (32 bit Lance) driver needs to be ported from Linux. The 24 bit Lance cannot be made relocatable without a lot of messiness, Linux has two drivers too. |
|
From: <ebi...@ln...> - 2003-04-09 23:48:01
|
"Timothy Legge" <tl...@ro...> writes: > > > I applied the patch you supplied and it appear the problem is that > > > The kernel command line is not getting set. > > > > > Would this also affect the option-129 "NIC=xxxxxx" for isa cards? I was > just testing 5.1 3c509 and 3c515 and the ltsp kernel complained that it > could not detect the nic and to set NIC= in the dhcpd.conf file. It is > set. Totally different issue. Unless the ltsp kernel started using mkelfImage, instead of the more standard mknbi/mkelf that comes with etherboot. mknbi/mkelf enter the kernel at it's 16bit entry point. mkelfImage enters the kernel at it's not really supported 32bit entry point. Eric |
|
From: <ke...@us...> - 2003-04-09 23:42:13
|
>Ken, >please note that the eepro100 fix does not fix every revision. :-( If you >want this for 5.0.10 I could have another look into this, but it will >probably take a few days until I have enough time. I'm intrigued. Please go ahead, it can wait a few days. My foremost concern is that it does not break any NICs that work. It seemed reasonable that one should initialise the chip before setting the stats area in all cases. |
|
From: Timothy L. <tl...@ro...> - 2003-04-09 23:20:37
|
> > I applied the patch you supplied and it appear the problem is that > > The kernel command line is not getting set. > > Would this also affect the option-129 "NIC=xxxxxx" for isa cards? I was just testing 5.1 3c509 and 3c515 and the ltsp kernel complained that it could not detect the nic and to set NIC= in the dhcpd.conf file. It is set. Tim |
|
From: <ebi...@ln...> - 2003-04-09 22:43:08
|
"Joey Nelson" <jo...@jo...> writes: > Eric, > > I'm using version 2.0 of mkelfImage. You might want to try version 2.3... ftp://ftp.lnxi.com/pub/src/mkelfImage/ > I used syslinux under the standard BIOS to test the kernel. > > I applied the patch you supplied and it appear the problem is that > The kernel command line is not getting set. > > In the initialize_linux_params function in linux-i386/convert-params, I > put debug code to print the command line > (info->real_mode->command_line). After it should be initialized, but it > appear to be empty. I bet you have the RH7 broken binutils/gas bug, that puts junk at the end of assembly files. Definitely try the latest mkelfImage. If it errors out with an internal error than your binutils are broken. That is the only thing I can think of that would eat the command line. A double check would be to run strings on kernel.elf to make certain the command line is in there. Eric > Thanks, > > Joey Nelson > Design Engineer > JoeScan > www.joescan.com > 509-332-3644 > > > -----Original Message----- > From: eth...@li... > [mailto:eth...@li...] On Behalf Of > Eric W. Biederman > Sent: Tuesday, April 08, 2003 4:22 PM > To: Joey Nelson > Cc: 'Etherboot developers list' > Subject: Re: [Etherboot-developers] Problem with LinuxBios (latest cvs), > Etherboot 5.1.7 - ide_disk, mkelfimg 2.0 > > "Joey Nelson" <jo...@jo...> writes: > > > Hello, > > > > I've very nearly got this all going on my Geode GX1 based system. > > Interesting you have shortened mkelfImage to mkelfimg. Which > version are you running anyway? > > > It get all the way to loading the linux kernel elf image from a > compact > > flash and the last thing printed is: > > Firmware type: LinuxBIOS > > The Fimware type: LinuxBIOS is printed by the code prepend to the kernel > by mkelfImage. So you image loaded. > > Which means the image loaded. And I don't expect this disk support > LBA48 > mode so the recent fix to get that working should not be your issue. > > > I've tested this same kernel under the syslinux boot loader on the > same > > system with the same command line and it works fine with a serial > > console. > > syslinux works under LinuxBIOS? > Even if you did not test under LinuxBIOS if it works under another > BIOS the kernel still should be quite close. > > > > I use the following line to make my kernel.elf image. > > mkelfimg --kernel=/usr/src/linux/i386/boot/bzImage \ > > --output=kernel.elf \ > > --command-line="console=ttyS0,38400n8 root=/dev/hda2" > > > > Any suggestions on what I should be checking. > > Last time I saw something like this I traced it down to the kernel > dying early in bootup before it could initialize the serial console. > > > Attached is a patch against 2.4.17 but with a little tweaking the code > should work on any kernel. It gives very serial console output so > you can see what the kernel is actually doing. > > Eric |
|
From: Joey N. <jo...@jo...> - 2003-04-09 22:32:50
|
Eric, I'm using version 2.0 of mkelfImage. I used syslinux under the standard BIOS to test the kernel. I applied the patch you supplied and it appear the problem is that The kernel command line is not getting set. In the initialize_linux_params function in linux-i386/convert-params, I put debug code to print the command line (info->real_mode->command_line). After it should be initialized, but it appear to be empty. Thanks, Joey Nelson Design Engineer JoeScan www.joescan.com 509-332-3644 -----Original Message----- From: eth...@li... [mailto:eth...@li...] On Behalf Of Eric W. Biederman Sent: Tuesday, April 08, 2003 4:22 PM To: Joey Nelson Cc: 'Etherboot developers list' Subject: Re: [Etherboot-developers] Problem with LinuxBios (latest cvs), Etherboot 5.1.7 - ide_disk, mkelfimg 2.0 "Joey Nelson" <jo...@jo...> writes: > Hello, > > I've very nearly got this all going on my Geode GX1 based system. Interesting you have shortened mkelfImage to mkelfimg. Which version are you running anyway? > It get all the way to loading the linux kernel elf image from a compact > flash and the last thing printed is: > Firmware type: LinuxBIOS The Fimware type: LinuxBIOS is printed by the code prepend to the kernel by mkelfImage. So you image loaded. Which means the image loaded. And I don't expect this disk support LBA48 mode so the recent fix to get that working should not be your issue. > I've tested this same kernel under the syslinux boot loader on the same > system with the same command line and it works fine with a serial > console. syslinux works under LinuxBIOS? Even if you did not test under LinuxBIOS if it works under another BIOS the kernel still should be quite close. > I use the following line to make my kernel.elf image. > mkelfimg --kernel=/usr/src/linux/i386/boot/bzImage \ > --output=kernel.elf \ > --command-line="console=ttyS0,38400n8 root=/dev/hda2" > > Any suggestions on what I should be checking. Last time I saw something like this I traced it down to the kernel dying early in bootup before it could initialize the serial console. Attached is a patch against 2.4.17 but with a little tweaking the code should work on any kernel. It gives very serial console output so you can see what the kernel is actually doing. Eric diff -uNrX linux-exclude-files /mnt/hda1/home/eric/projects/linux/linux-2.4.17/arch/i386/boot/compresse d/misc.c linux-2.4.17.jay/arch/i386/boot/compressed/misc.c --- /mnt/hda1/home/eric/projects/linux/linux-2.4.17/arch/i386/boot/compresse d/misc.c Mon Nov 12 10:59:43 2001 +++ linux-2.4.17.jay/arch/i386/boot/compressed/misc.c Fri Mar 1 13:00:15 2002 @@ -161,6 +161,32 @@ { free_mem_ptr = (long) *ptr; } + +/* Base Address */ +#define TTYS0 0x3f8 +#define TTYS0_LSR (TTYS0+0x05) +#define TTYS0_TBR (TTYS0+0x00) + +static void ttys0_tx_byte(unsigned byte) +{ + /* Wait until I can send a byte */ + while((inb(TTYS0_LSR) & 0x20) == 0) + ; + outb(byte, TTYS0_TBR); + /* Wait until the byte is transmitted */ + while(!(inb(TTYS0_LSR) & 0x40)) + ; +} +static void puts_serial(const char *str) +{ + int c; + while( ( c = *str++ ) != '\0') { + if (c == '\n') { + ttys0_tx_byte('\r'); + } + ttys0_tx_byte(c); + } +} static void scroll(void) { @@ -171,7 +197,7 @@ vidmem[i] = ' '; } -static void puts(const char *s) +static void puts_video(const char *s) { int x,y,pos; char c; @@ -206,6 +232,12 @@ outb_p(0xff & (pos >> 9), vidport+1); outb_p(15, vidport); outb_p(0xff & (pos >> 1), vidport+1); +} + +static void puts(const char *s) +{ + puts_serial(s); + puts_video(s); } static void* memset(void* s, int c, size_t n) diff -uNrX linux-exclude-files /mnt/hda1/home/eric/projects/linux/linux-2.4.17/arch/i386/kernel/setup.c linux-2.4.17.jay/arch/i386/kernel/setup.c --- /mnt/hda1/home/eric/projects/linux/linux-2.4.17/arch/i386/kernel/setup.c Fri Dec 21 10:41:53 2001 +++ linux-2.4.17.jay/arch/i386/kernel/setup.c Mon Feb 25 17:15:39 2002 @@ -779,12 +779,89 @@ } } +#if 1 +#include <linux/console.h> +#include <asm/io.h> + +static void ttys0_write(struct console *console, const char *str, unsigned len); + +static struct console minimal_serial_console = { + write: ttys0_write, + flags: CON_ENABLED, + next: NULL, +}; + +/* Base Address */ +#define TTYS0 0x3f8 +/* Data */ +#define TTYS0_RBR (TTYS0+0x00) +#define TTYS0_TBR (TTYS0+0x00) +/* Control */ +#define TTYS0_IER (TTYS0+0x01) +#define TTYS0_IIR (TTYS0+0x02) +#define TTYS0_FCR (TTYS0+0x02) +#define TTYS0_LCR (TTYS0+0x03) +#define TTYS0_MCR (TTYS0+0x04) + +#define TTYS0_DLL (TTYS0+0x00) +#define TTYS0_DLM (TTYS0+0x01) +/* Status */ +#define TTYS0_LSR (TTYS0+0x05) +#define TTYS0_MSR (TTYS0+0x06) +#define TTYS0_SCR (TTYS0+0x07) + +#define TTYS0_BAUD 9600 +#define TTYS0_DIV (115200/TTYS0_BAUD) + +static void ttys0_init(void) +{ + /* disable interrupts */ + outb(0x0, TTYS0_IER); + /* enable fifo's */ + outb(0x01, TTYS0_FCR); + /* Set Baud Rate Divisor to TTYS0_BAUD */ + outb(0x83, TTYS0_LCR); + outb(TTYS0_DIV & 0xFF, TTYS0_DLL); + outb((TTYS0_DIV >> 8) & 0xFF, TTYS0_DLM); + outb(0x03, TTYS0_LCR); + +} +static void ttys0_tx_byte(unsigned byte) +{ + while((inb(TTYS0_LSR) & 0x20) == 0) + ; + outb(byte, TTYS0_TBR); +} +static void ttys0_write(struct console *console, const char *str, unsigned len) +{ + static int firsttime = 1; + int c; + if ((console->next) || (console_drivers != &minimal_serial_console)) + return; + if (firsttime) { + firsttime = 0; + ttys0_init(); + } + while(len--) { + c = *str++; + if (c == '\n') { + ttys0_tx_byte('\r'); + } + ttys0_tx_byte(c); + } +} + +#endif + void __init setup_arch(char **cmdline_p) { unsigned long bootmap_size, low_mem_size; unsigned long start_pfn, max_pfn, max_low_pfn; int i; +#if 1 + console_drivers = &minimal_serial_console; +#endif #ifdef CONFIG_VISWS visws_get_board_type_and_rev(); #endif ------------------------------------------------------- This SF.net email is sponsored by: ValueWeb: Dedicated Hosting for just $79/mo with 500 GB of bandwidth! No other company gives more support or power for your dedicated server http://click.atdmt.com/AFF/go/sdnxxaff00300020aff/direct/01/ _______________________________________________ Etherboot-developers mailing list Eth...@li... https://lists.sourceforge.net/lists/listinfo/etherboot-developers |
|
From: Georg B. <Geo...@po...> - 2003-04-09 19:07:31
|
Am Mittwoch, 9. April 2003 12:06 schrieb Ken Yap: > I have enough excuses to release 5.0.10 soon with the eepro100 fix and > the new PCI IDs nicked from 5.1, thanks Georg. Ken, please note that the eepro100 fix does not fix every revision. :-( If you want this for 5.0.10 I could have another look into this, but it will probably take a few days until I have enough time. Georg |
|
From: Timothy L. <tl...@ro...> - 2003-04-09 15:47:03
|
> The changes have been checked into CVS. One new file, > arch/i386/prefix/floppyload.S, and two deleted files boot1a.s and > builddsk.pl. > > I just have to fix the trampoline code in mknbi for RELOCATE before I > release 5.1.8. I can confirm that this seems to have resolved my booting issue. So right now, compiling with the RELOCATE option will not work? Which brings up the question of which drivers are currently patched for relocation? If you remind me of the required changes, I can take a look at 3c515 and sundance (maybe even getting it to work). I can also take a look at some of the drivers for any of the NICs that I have. A push to fix any remaining relocation issues might be a good idea. |
|
From: Timothy L. <tl...@ro...> - 2003-04-09 15:40:31
|
> Timothy, there are some glitches in your 3c515 code. I made the > following changes because of multiple definition of pnp_card_csn, please > check. > Thanks Ken, I will review. I made the last updates to 3cd15 5.1 when the boot loader was preventing me from testing. |
|
From: <ke...@us...> - 2003-04-09 14:59:31
|
>I was wondering what the status was of using etherboot 5.1.xx to boot up a >normal linux kernel without being tagged with mknbi? I think this would be >excellent to see running perfectly. This was never planned work, although always speculated about. Also, has any checked when trying to >compile all the drivers into one and loading it to a disk (make >etherboot.fd0), That when etherboot loads up, All 3 of my computers still >rebooting. make bin/etherboot.zfd0 works now with the "new" old floppy loader, but for now you'll have to get the sources out of CVS. |
|
From: Boris R. <bo...@bo...> - 2003-04-09 13:37:43
|
I was wondering what the status was of using etherboot 5.1.xx to boot up a normal linux kernel without being tagged with mknbi? I think this would be excellent to see running perfectly. Also, has any checked when trying to compile all the drivers into one and loading it to a disk (make etherboot.fd0), That when etherboot loads up, All 3 of my computers still rebooting. |
|
From: Timothy L. <tl...@ro...> - 2003-04-09 10:12:16
|
Ok how are you building the floppy image? > make ????.fd0 > > or cat boot1a.bin blah ? make bin/?????.fd0 |
|
From: <ke...@us...> - 2003-04-09 10:06:14
|
Ok, I've junked boot1a.s and revived floppyload.S. I increased the size of binary loaded to 128kB. I didn't attempt to make it load the minimum number of blocks. It seems fast enough not to bother at the moment. The changes have been checked into CVS. One new file, arch/i386/prefix/floppyload.S, and two deleted files boot1a.s and builddsk.pl. I just have to fix the trampoline code in mknbi for RELOCATE before I release 5.1.8. I have enough excuses to release 5.0.10 soon with the eepro100 fix and the new PCI IDs nicked from 5.1, thanks Georg. |
|
From: <ke...@us...> - 2003-04-09 09:40:52
|
I have revived floppyload.S to replace boot1a.s, more later.
Timothy, there are some glitches in your 3c515 code. I made the
following changes because of multiple definition of pnp_card_csn, please
check.
diff -ur ./core/isapnp.c ../../../../etherboot-5.1.8/src/core/isapnp.c
--- ./core/isapnp.c 2003-04-02 11:17:07.000000000 +1000
+++ ../../../../etherboot-5.1.8/src/core/isapnp.c 2003-04-09 19:33:12.000000000 +1000
@@ -34,7 +34,7 @@
#include "timer.h"
#include "isapnp.h"
-int pnp_card_csn;
+static int pnp_card_csn = 0;
void DELAY(int val) {
int c;
diff -ur ./drivers/net/3c515.c ../../../../etherboot-5.1.8/src/drivers/net/3c515.c
--- ./drivers/net/3c515.c 2003-04-03 06:53:00.000000000 +1000
+++ ../../../../etherboot-5.1.8/src/drivers/net/3c515.c 2003-04-09 19:32:28.000000000 +1000
@@ -77,9 +77,6 @@
#define BASE (eth_nic_base)
static int if_port;
struct corkscrew_private *vp;
-#ifdef ISA_PNP
-int pnp_card_csn = 0;
-#endif
/* Brought directly from 3c515.c by Becker */
#define CORKSCREW 1
|
|
From: <ke...@us...> - 2003-04-09 03:24:42
|
>retrieving revision 1.2 >diff -r1.2 boot1a.s >72c72 >< blockcount: .word 36 # if unmodified loads >18kB >--- >> blockcount: .word 64 # if unmodified >loads 18kB That word is supposed to be modified by builddsk.pl to be the actual count of blocks that have to be loaded. It sounds like the script didn't work properly on your system. I have half a mind to toss boot1a.s out and revert to floppyload.S which definitely can load large files (since it's a hacked Linux floppy loader). The only advantage of boot1a.s is that it can load from HD partitions but I don't know that this feature gets used much since you'd have to devote a whole partition to Etherboot. Also boot1a.s relies on BIOS calls which may not be implemented everywhere. |
|
From: <ebi...@ln...> - 2003-04-09 03:18:40
|
"Timothy Legge" <tl...@ro...> writes: > > >There are some versions of binutils noticeably common in Redhat 7 > > >in which as puts junk at the end of assembly files. In start16.S > > >And possibly some of the others I count on being able to drop off > > >the end of an assembly file and have it work correctly. With > > >a broken version of binutils/as this code may not work correctly. > > Ok, I have a workaround/fix for the issue. I am not sure what it is > because I don't know what it does. :-) > > I patched arch/i386/prefix/boot1a.s as follows: > > Index: arch/i386/prefix/boot1a.s > =================================================================== > RCS file: > /cvsroot/etherboot/etherboot/etherboot-5.1/src/arch/i386/prefix/boot1a.s > ,v > retrieving revision 1.2 > diff -r1.2 boot1a.s > 72c72 > < blockcount: .word 36 # if unmodified loads > 18kB > --- > > blockcount: .word 64 # if unmodified > loads 18kB > > I assume that 64 means something over 18kB, but as I said I don't know > what it means. I think the value can go lower, but more importantly > does this mean any thing to you? > > In my spare time I am reading up on assembly, one day I may even know > what some of this means. Ok how are you building the floppy image? make ????.fd0 or cat boot1a.bin blah ? Ken perl script should be setting that value so either: - boot1a.s is being compiled so blockcount is showing up at a different address - The perl script builddsk.pl is not setting that value properly. (Could this be a rounding issue?) Eric |
|
From: Timothy L. <tl...@ro...> - 2003-04-09 02:00:34
|
> >There are some versions of binutils noticeably common in Redhat 7 > >in which as puts junk at the end of assembly files. In start16.S > >And possibly some of the others I count on being able to drop off > >the end of an assembly file and have it work correctly. With > >a broken version of binutils/as this code may not work correctly. Ok, I have a workaround/fix for the issue. I am not sure what it is because I don't know what it does. :-) I patched arch/i386/prefix/boot1a.s as follows: Index: arch/i386/prefix/boot1a.s =================================================================== RCS file: /cvsroot/etherboot/etherboot/etherboot-5.1/src/arch/i386/prefix/boot1a.s ,v retrieving revision 1.2 diff -r1.2 boot1a.s 72c72 < blockcount: .word 36 # if unmodified loads 18kB --- > blockcount: .word 64 # if unmodified loads 18kB I assume that 64 means something over 18kB, but as I said I don't know what it means. I think the value can go lower, but more importantly does this mean any thing to you? In my spare time I am reading up on assembly, one day I may even know what some of this means. Tim |
|
From: <ebi...@ln...> - 2003-04-08 23:20:21
|
"Joey Nelson" <jo...@jo...> writes:
> Hello,
>
> I've very nearly got this all going on my Geode GX1 based system.
Interesting you have shortened mkelfImage to mkelfimg. Which
version are you running anyway?
> It get all the way to loading the linux kernel elf image from a compact
> flash and the last thing printed is:
> Firmware type: LinuxBIOS
The Fimware type: LinuxBIOS is printed by the code prepend to the kernel
by mkelfImage. So you image loaded.
Which means the image loaded. And I don't expect this disk support LBA48
mode so the recent fix to get that working should not be your issue.
> I've tested this same kernel under the syslinux boot loader on the same
> system with the same command line and it works fine with a serial
> console.
syslinux works under LinuxBIOS?
Even if you did not test under LinuxBIOS if it works under another
BIOS the kernel still should be quite close.
> I use the following line to make my kernel.elf image.
> mkelfimg --kernel=/usr/src/linux/i386/boot/bzImage \
> --output=kernel.elf \
> --command-line="console=ttyS0,38400n8 root=/dev/hda2"
>
> Any suggestions on what I should be checking.
Last time I saw something like this I traced it down to the kernel
dying early in bootup before it could initialize the serial console.
Attached is a patch against 2.4.17 but with a little tweaking the code
should work on any kernel. It gives very serial console output so
you can see what the kernel is actually doing.
Eric
diff -uNrX linux-exclude-files /mnt/hda1/home/eric/projects/linux/linux-2.4.17/arch/i386/boot/compressed/misc.c linux-2.4.17.jay/arch/i386/boot/compressed/misc.c
--- /mnt/hda1/home/eric/projects/linux/linux-2.4.17/arch/i386/boot/compressed/misc.c Mon Nov 12 10:59:43 2001
+++ linux-2.4.17.jay/arch/i386/boot/compressed/misc.c Fri Mar 1 13:00:15 2002
@@ -161,6 +161,32 @@
{
free_mem_ptr = (long) *ptr;
}
+
+/* Base Address */
+#define TTYS0 0x3f8
+#define TTYS0_LSR (TTYS0+0x05)
+#define TTYS0_TBR (TTYS0+0x00)
+
+static void ttys0_tx_byte(unsigned byte)
+{
+ /* Wait until I can send a byte */
+ while((inb(TTYS0_LSR) & 0x20) == 0)
+ ;
+ outb(byte, TTYS0_TBR);
+ /* Wait until the byte is transmitted */
+ while(!(inb(TTYS0_LSR) & 0x40))
+ ;
+}
+static void puts_serial(const char *str)
+{
+ int c;
+ while( ( c = *str++ ) != '\0') {
+ if (c == '\n') {
+ ttys0_tx_byte('\r');
+ }
+ ttys0_tx_byte(c);
+ }
+}
static void scroll(void)
{
@@ -171,7 +197,7 @@
vidmem[i] = ' ';
}
-static void puts(const char *s)
+static void puts_video(const char *s)
{
int x,y,pos;
char c;
@@ -206,6 +232,12 @@
outb_p(0xff & (pos >> 9), vidport+1);
outb_p(15, vidport);
outb_p(0xff & (pos >> 1), vidport+1);
+}
+
+static void puts(const char *s)
+{
+ puts_serial(s);
+ puts_video(s);
}
static void* memset(void* s, int c, size_t n)
diff -uNrX linux-exclude-files /mnt/hda1/home/eric/projects/linux/linux-2.4.17/arch/i386/kernel/setup.c linux-2.4.17.jay/arch/i386/kernel/setup.c
--- /mnt/hda1/home/eric/projects/linux/linux-2.4.17/arch/i386/kernel/setup.c Fri Dec 21 10:41:53 2001
+++ linux-2.4.17.jay/arch/i386/kernel/setup.c Mon Feb 25 17:15:39 2002
@@ -779,12 +779,89 @@
}
}
+#if 1
+#include <linux/console.h>
+#include <asm/io.h>
+
+static void ttys0_write(struct console *console, const char *str, unsigned len);
+
+static struct console minimal_serial_console = {
+ write: ttys0_write,
+ flags: CON_ENABLED,
+ next: NULL,
+};
+
+/* Base Address */
+#define TTYS0 0x3f8
+/* Data */
+#define TTYS0_RBR (TTYS0+0x00)
+#define TTYS0_TBR (TTYS0+0x00)
+/* Control */
+#define TTYS0_IER (TTYS0+0x01)
+#define TTYS0_IIR (TTYS0+0x02)
+#define TTYS0_FCR (TTYS0+0x02)
+#define TTYS0_LCR (TTYS0+0x03)
+#define TTYS0_MCR (TTYS0+0x04)
+
+#define TTYS0_DLL (TTYS0+0x00)
+#define TTYS0_DLM (TTYS0+0x01)
+/* Status */
+#define TTYS0_LSR (TTYS0+0x05)
+#define TTYS0_MSR (TTYS0+0x06)
+#define TTYS0_SCR (TTYS0+0x07)
+
+#define TTYS0_BAUD 9600
+#define TTYS0_DIV (115200/TTYS0_BAUD)
+
+static void ttys0_init(void)
+{
+ /* disable interrupts */
+ outb(0x0, TTYS0_IER);
+ /* enable fifo's */
+ outb(0x01, TTYS0_FCR);
+ /* Set Baud Rate Divisor to TTYS0_BAUD */
+ outb(0x83, TTYS0_LCR);
+ outb(TTYS0_DIV & 0xFF, TTYS0_DLL);
+ outb((TTYS0_DIV >> 8) & 0xFF, TTYS0_DLM);
+ outb(0x03, TTYS0_LCR);
+
+}
+static void ttys0_tx_byte(unsigned byte)
+{
+ while((inb(TTYS0_LSR) & 0x20) == 0)
+ ;
+ outb(byte, TTYS0_TBR);
+}
+static void ttys0_write(struct console *console, const char *str, unsigned len)
+{
+ static int firsttime = 1;
+ int c;
+ if ((console->next) || (console_drivers != &minimal_serial_console))
+ return;
+ if (firsttime) {
+ firsttime = 0;
+ ttys0_init();
+ }
+ while(len--) {
+ c = *str++;
+ if (c == '\n') {
+ ttys0_tx_byte('\r');
+ }
+ ttys0_tx_byte(c);
+ }
+}
+
+#endif
+
void __init setup_arch(char **cmdline_p)
{
unsigned long bootmap_size, low_mem_size;
unsigned long start_pfn, max_pfn, max_low_pfn;
int i;
+#if 1
+ console_drivers = &minimal_serial_console;
+#endif
#ifdef CONFIG_VISWS
visws_get_board_type_and_rev();
#endif
|
|
From: Joey N. <jo...@jo...> - 2003-04-08 23:08:11
|
Hello, I've very nearly got this all going on my Geode GX1 based system. It get all the way to loading the linux kernel elf image from a compact flash and the last thing printed is: Firmware type: LinuxBIOS I've tested this same kernel under the syslinux boot loader on the same system with the same command line and it works fine with a serial console. I use the following line to make my kernel.elf image. mkelfimg --kernel=/usr/src/linux/i386/boot/bzImage \ --output=kernel.elf \ --command-line="console=ttyS0,38400n8 root=/dev/hda2" Any suggestions on what I should be checking. Thanks, Joey Nelson |
|
From: <ke...@us...> - 2003-04-08 00:01:28
|
>In order to get the eepro100 netbooting on my onboard eepro100 I found the >mail below[1] and I made the patch below for etherboot-5.0.9 to do the >same, and yeh for me it works.. > >I was transmitting the first packet for DHCP and then hanging hard, > >Dave. > >[1] http://beowulf.es.embnet.org/listarchives/linux-eepro100/1999/06/0032.html Thanks, I'll apply to both 5.0 and 5.1. Looks like you solved a long standing mystery. |
|
From: Dave A. <ai...@cs...> - 2003-04-07 23:30:49
|
In order to get the eepro100 netbooting on my onboard eepro100 I found the mail below[1] and I made the patch below for etherboot-5.0.9 to do the same, and yeh for me it works.. I was transmitting the first packet for DHCP and then hanging hard, Dave. [1] http://beowulf.es.embnet.org/listarchives/linux-eepro100/1999/06/0032.html --- orig/etherboot-5.0.9/src/eepro100.c 2002-12-11 10:39:54.000000000 +1100 +++ etherboot-5.0.9/src/eepro100.c 2003-04-07 15:03:39.000000000 +1000 @@ -524,6 +524,11 @@ whereami ("Got eeprom."); + /* Base = 0 */ + outl(0, ioaddr + SCBPointer); + outw(INT_MASK | CU_CMD_BASE, ioaddr + SCBCmd); + wait_for_cmd_done(ioaddr + SCBCmd); + outl(virt_to_bus(&lstats), ioaddr + SCBPointer); outw(INT_MASK | CU_STATSADDR, ioaddr + SCBCmd); wait_for_cmd_done(ioaddr + SCBCmd); @@ -559,10 +564,6 @@ /* INIT TX stuff. */ - /* Base = 0 */ - outl(0, ioaddr + SCBPointer); - outw(INT_MASK | CU_CMD_BASE, ioaddr + SCBCmd); - wait_for_cmd_done(ioaddr + SCBCmd); whereami ("set TX base addr."); |
|
From: Dave A. <ai...@li...> - 2003-04-07 05:00:06
|
In order to get the eepro100 netbooting on my onboard eepro100 I found the mail below[1] and I made the patch below for etherboot-5.0.9 to do the same, and yeh for me it works.. I was transmitting the first packet for DHCP and then hanging hard, Dave. [1] http://beowulf.es.embnet.org/listarchives/linux-eepro100/1999/06/0032.html --- orig/etherboot-5.0.9/src/eepro100.c 2002-12-11 10:39:54.000000000 +1100 +++ etherboot-5.0.9/src/eepro100.c 2003-04-07 15:03:39.000000000 +1000 @@ -524,6 +524,11 @@ whereami ("Got eeprom."); + /* Base = 0 */ + outl(0, ioaddr + SCBPointer); + outw(INT_MASK | CU_CMD_BASE, ioaddr + SCBCmd); + wait_for_cmd_done(ioaddr + SCBCmd); + outl(virt_to_bus(&lstats), ioaddr + SCBPointer); outw(INT_MASK | CU_STATSADDR, ioaddr + SCBCmd); wait_for_cmd_done(ioaddr + SCBCmd); @@ -559,10 +564,6 @@ /* INIT TX stuff. */ - /* Base = 0 */ - outl(0, ioaddr + SCBPointer); - outw(INT_MASK | CU_CMD_BASE, ioaddr + SCBCmd); - wait_for_cmd_done(ioaddr + SCBCmd); whereami ("set TX base addr."); |