[U-Boot-Users] Where does u-boot start when booting Linux?

I was hoping that someone could give me a quick answer. When u-boot starts Linux, does is start from the beginning for does it jump in somewhere past decompress()?
I have been looking at the Linux code and it doesn't appear that the bdinfo structure is being handled correctly for u-boot. There is an CONFIG_EMBEDDEDBOOT option but even this only passes the boot parameter in a few instances. Does u-boot fix this somehow?
Another thing is embed_config() for the ADS8260 board, forces the baud-rate to 9600 but 2_4_devel is quite happy at 115200 as in u-boot. This is interesting since I am trying to fix a serial baud-rate problem.
TIA!

In message 6.0.0.22.2.20031014070537.032b4bd0@192.168.1.10 you wrote:
I was hoping that someone could give me a quick answer. When u-boot starts Linux, does is start from the beginning for does it jump in somewhere past decompress()?
There no decompress() in the Linux kernel. So U-Boot always starts the Linux kernel right from the beginning.
I have been looking at the Linux code and it doesn't appear that the bdinfo structure is being handled correctly for u-boot. There is an CONFIG_EMBEDDEDBOOT option but even this only passes the boot parameter in a few instances. Does u-boot fix this somehow?
I think you are looking at the wrong place. Don;t mistake the bootstrap loader for a part of theLinux kernel. We don;t use this stuff at all.
Another thing is embed_config() for the ADS8260 board, forces the baud-rate to 9600 but 2_4_devel is quite happy at 115200 as in u-boot. This is interesting since I am trying to fix a serial baud-rate problem.
All this stuff is completely irrelevant when using U-boot.
Best regards,
Wolfgang Denk

At 07:47 AM 10/14/03, Wolfgang Denk wrote:
In message 6.0.0.22.2.20031014070537.032b4bd0@192.168.1.10 you wrote:
I was hoping that someone could give me a quick answer. When u-boot starts Linux, does is start from the beginning for does it jump in somewhere past decompress()?
There no decompress() in the Linux kernel. So U-Boot always starts the Linux kernel right from the beginning.
When compiling 82xx or 8xx kernels, you always get arch/ppc/boot/simple.
I have been looking at the Linux code and it doesn't appear that the
bdinfo
structure is being handled correctly for u-boot. There is an CONFIG_EMBEDDEDBOOT option but even this only passes the boot parameter in a few instances. Does u-boot fix this somehow?
I think you are looking at the wrong place. Don;t mistake the bootstrap loader for a part of theLinux kernel. We don;t use this stuff at all.
I think I understand. For a very long time now I have been using zImage.embedded for booting. When I followed the u-boot instructions I used "vmlinux" which doesn't contain the boot loader. Right?
Another thing is embed_config() for the ADS8260 board, forces the
baud-rate
to 9600 but 2_4_devel is quite happy at 115200 as in u-boot. This is interesting since I am trying to fix a serial baud-rate problem.
All this stuff is completely irrelevant when using U-boot.
Thanks for the info. It has pointed me in a new direction. The problem I am having is the serial baud-rate is fine in u-boot but wrong when the kernel boots. Perhaps the clock dividers are setup differently by u-boot than expected by the 8260 implementation?
Suggestions welcome.
Thanks again!

In message 6.0.0.22.2.20031014083032.02837c80@192.168.1.10 you wrote:
There no decompress() in the Linux kernel. So U-Boot always starts the Linux kernel right from the beginning.
When compiling 82xx or 8xx kernels, you always get arch/ppc/boot/simple.
What do you mean with "you get it"? It comes with the source, yes. But you don't have to use it.
I think I understand. For a very long time now I have been using zImage.embedded for booting. When I followed the u-boot instructions I used "vmlinux" which doesn't contain the boot loader. Right?
Right. vmlinux does not contain the bootstral loader, all functions of which are already present in U-Boot.
Thanks for the info. It has pointed me in a new direction. The problem I am having is the serial baud-rate is fine in u-boot but wrong when the kernel boots. Perhaps the clock dividers are setup differently by u-boot than expected by the 8260 implementation?
Perhaps you don;t pass the baud-rate to the kernel? Did you try passing something like "console=ttyS0,$(baudrate)" ?
Best regards,
Wolfgang Denk

Thanks for the info. It has pointed me in a new direction. The problem I am having is the serial baud-rate is fine in u-boot but wrong when the kernel boots. Perhaps the clock dividers are setup differently by u-boot than expected by the 8260 implementation?
Perhaps you don;t pass the baud-rate to the kernel? Did you try passing something like "console=ttyS0,$(baudrate)" ?
I tried: setenv bootargs root=/dev/nfs rw console=ttyS0,115200 tftpboot 100000 /tftpboot/mpc8266.uImage bootm 100000
When Linux boots it just prints "." instead of text.

Dear Allen,
in message 200310141333.32991.acurtis@onz.com you wrote:
I tried: setenv bootargs root=/dev/nfs rw console=ttyS0,115200 tftpboot 100000 /tftpboot/mpc8266.uImage bootm 100000
When Linux boots it just prints "." instead of text.
And what does a post-mortem dump of "log_buf" show?
Best regards,
Wolfgang Denk
participants (2)
-
Allen Curtis
-
Wolfgang Denk