* need suggestions
@ 1999-11-23 1:42 LiuTao
1999-11-23 3:46 ` Dan Malek
0 siblings, 1 reply; 13+ messages in thread
From: LiuTao @ 1999-11-23 1:42 UTC (permalink / raw)
To: linuxppc
Hi All:
I just completed a board with MPC860, there are 16M SDRAM, 2M Flash,
one ethernet port and two serial ports(SMC) on the board. The board
is running well with vxWorks now.
I want to make a bootloader on the board. With the bootloader, I can
download Linux image through TFTP to SDRAM and run it. I also can
burn the downloaded image into flash, so next time I can boot Linux
from flash.
I know that many people did this successfully on various boards.
Can you give me some suggestions? Can you tell me how to do it?
Thanks!
LiuTao
** Sent via the linuxppc-dev mail list. See http://lists.linuxppc.org/
^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: need suggestions
1999-11-23 1:42 LiuTao
@ 1999-11-23 3:46 ` Dan Malek
1999-11-23 3:46 ` LiuTao
1999-11-24 8:56 ` Neil Russell
0 siblings, 2 replies; 13+ messages in thread
From: Dan Malek @ 1999-11-23 3:46 UTC (permalink / raw)
To: LiuTao; +Cc: linuxppc, linuxppc-embedded
LiuTao wrote:
> ........ The board
> is running well with vxWorks now.
> I want to make a bootloader on the board.
How do you load vxWorks? I have worked on several vxWorks projects,
and all of the systems had the vxWorks TFTP loader in the rom. Use
the same thing (whatever that is) to load the Linux/PPC image.
The zImage is linked such that you can just treat it as a bag o' bits
to dump into memory. Even with non-standard boot loaders, all you
need to do is write a simple program to strip the 64K ELF header, place
your own header on the top, make sure it gets loaded above 0x180000
and jump to the start of the image.
-- Dan
** Sent via the linuxppc-dev mail list. See http://lists.linuxppc.org/
^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: need suggestions
1999-11-23 3:46 ` Dan Malek
@ 1999-11-23 3:46 ` LiuTao
1999-11-23 6:14 ` Dan Malek
1999-11-24 8:56 ` Neil Russell
1 sibling, 1 reply; 13+ messages in thread
From: LiuTao @ 1999-11-23 3:46 UTC (permalink / raw)
To: Dan Malek; +Cc: linuxppc
Hi Dan:
Thanks for your advice.
The bootloader that I am using with vxWorks uses FTP but not TFTP.
And I don't have the source code of that bootloader. I think there
are maybe some problems to use it download and boot linux. So I hope
to find a TFTP source code and program a bootloader by myself.
Of course, if anybody has a presented bootloader source code,
that's great.
LiuTao
Dan Malek wrote:
>
> LiuTao wrote:
>
> > ........ The board
> > is running well with vxWorks now.
> > I want to make a bootloader on the board.
>
> How do you load vxWorks? I have worked on several vxWorks projects,
> and all of the systems had the vxWorks TFTP loader in the rom. Use
> the same thing (whatever that is) to load the Linux/PPC image.
>
> The zImage is linked such that you can just treat it as a bag o' bits
> to dump into memory. Even with non-standard boot loaders, all you
> need to do is write a simple program to strip the 64K ELF header, place
> your own header on the top, make sure it gets loaded above 0x180000
> and jump to the start of the image.
>
> -- Dan
** Sent via the linuxppc-dev mail list. See http://lists.linuxppc.org/
^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: need suggestions
1999-11-23 3:46 ` LiuTao
@ 1999-11-23 6:14 ` Dan Malek
1999-11-23 18:47 ` Geert Uytterhoeven
1999-11-24 8:34 ` LiuTao
0 siblings, 2 replies; 13+ messages in thread
From: Dan Malek @ 1999-11-23 6:14 UTC (permalink / raw)
To: LiuTao; +Cc: linuxppc
LiuTao wrote:
> .......... So I hope
> to find a TFTP source code and program a bootloader by myself.
> Of course, if anybody has a presented bootloader source code,
> that's great.
A couple of people from Motorola have indicated, for the past year
or so, an interest in providing a TFTP monitor for the FADS board.
When they have asked what to do, I said make sure it is GPL and send
it to me for posting on a server somewhere (like ppc.kernel.org).
I have never heard a reply.
I am sure you could put something together from some of the netboot
code that is around.
My approach is to actually port a Linux kernel to the 8xx board, which
is pretty easy these days for just the minimal network support, then
slightly "customize" it (so it doesn't use _all_ of memory) and flash
is using S-record download or BDM tools. I then just use the Linux
kernel with a TFTP application to do the job. Just mmap() the unused
memory for loading a new image, and modify the reboot to call a
specific address rather than return to rom.
-- Dan
** Sent via the linuxppc-dev mail list. See http://lists.linuxppc.org/
^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: need suggestions
1999-11-23 6:14 ` Dan Malek
@ 1999-11-23 18:47 ` Geert Uytterhoeven
1999-11-24 8:34 ` LiuTao
1 sibling, 0 replies; 13+ messages in thread
From: Geert Uytterhoeven @ 1999-11-23 18:47 UTC (permalink / raw)
To: Dan Malek; +Cc: LiuTao, linuxppc
On Tue, 23 Nov 1999, Dan Malek wrote:
> LiuTao wrote:
> > .......... So I hope
> > to find a TFTP source code and program a bootloader by myself.
> > Of course, if anybody has a presented bootloader source code,
> > that's great.
>
> A couple of people from Motorola have indicated, for the past year
> or so, an interest in providing a TFTP monitor for the FADS board.
> When they have asked what to do, I said make sure it is GPL and send
> it to me for posting on a server somewhere (like ppc.kernel.org).
> I have never heard a reply.
>
> I am sure you could put something together from some of the netboot
> code that is around.
What about starting from PMON for the MIPS? It's real public domain.
Gr{oetje,eeting}s,
--
Geert Uytterhoeven -- Linux/{m68k~Amiga,PPC~CHRP} -- geert@linux-m68k.org
In personal conversations with technical people, I call myself a hacker. But
when I'm talking to journalists I just say "programmer" or something like that.
-- Linus Torvalds
** Sent via the linuxppc-dev mail list. See http://lists.linuxppc.org/
^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: need suggestions
@ 1999-11-23 19:52 Jim Chapman
1999-11-23 20:54 ` Frank McPherson
1999-11-24 8:25 ` LiuTao
0 siblings, 2 replies; 13+ messages in thread
From: Jim Chapman @ 1999-11-23 19:52 UTC (permalink / raw)
To: LiuTao; +Cc: LinuxPPC Developers List, linuxppc-embedded@lists.linuxppc.org
Re: using a vxworks bootrom to load zImage
I am using a standard vxworks bootrom to load a zImage, but I had to
make a few modifications to the zImage startup code to make it work. For
us, it is useful to share the same target hardware between vxworks and
linux developers, without having to reblow the flash bootrom each time
we switch. And by building BOOTP into the vxworks bootrom, we simply
change the BOOTP server entry to have the target boot vxWorks or zImage
without changing the bootrom. However, once we're rid of vxworks
altogether, then a linux-centric bootrom would be a much better
solution.
It turns out that the vxworks bootrom ELF support doesn't handle named
ELF sections (it's yet another undocumented feature of Wind River code
-- it silently ignores sections that aren't ".text" or ".data"...), and
since the compressed vmlinux image is objcopy'd into a special "image"
section by arch/ppc/mbxboot/Makefile, I had to find a way to put the
image section inside the text segment so that the image data would be
copied by the vxworks bootrom. There may be a clever way to do that
using ld scripts, but I ended up converting the image data to assembly,
and used a couple of public symbols at the start/end of the data so that
(a modified) decompress_kernel() could find the image. The
binary-to-assembly convertor is a simple perl script which does almost
the same thing as vxWorks' binToAsm tool.
The initrd stuff would need similar treatment, but since I don't use
initrd, I haven't implemented it.
If you want more details (and the binToAsm perl script) let me know.
-Jim
** Sent via the linuxppc-dev mail list. See http://lists.linuxppc.org/
^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: need suggestions
1999-11-23 19:52 need suggestions Jim Chapman
@ 1999-11-23 20:54 ` Frank McPherson
1999-11-24 8:25 ` LiuTao
1 sibling, 0 replies; 13+ messages in thread
From: Frank McPherson @ 1999-11-23 20:54 UTC (permalink / raw)
To: Jim Chapman
Cc: LiuTao, LinuxPPC Developers List,
linuxppc-embedded@lists.linuxppc.org
Jim and others,
We did some work last summer with a Dy4-177 VMEbus board which came to
us with the VxWorks bootrom intact, and used a similar solution to
yours.
> The
> binary-to-assembly convertor is a simple perl script which does almost
> the same thing as vxWorks' binToAsm tool.
We are using a piggyback.c (different from the one in chrpboot) to
produce the assembly. It's probably no better or worse than the perl
script you've got.
> The initrd stuff would need similar treatment, but since I don't use
> initrd, I haven't implemented it.
We DID find it useful to have initrd support, so our Makefiles can use
piggyback to make a tftp/vxworks loadable Linux kernel. If this is
something you could use, please let me know.
Cheers,
Frank
--
Frank H. McPherson IV
W118 Embedded Solutions Team
The MITRE Corporation
703-883-5404
** Sent via the linuxppc-dev mail list. See http://lists.linuxppc.org/
^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: need suggestions
@ 1999-11-23 21:57 Brian Kuschak
0 siblings, 0 replies; 13+ messages in thread
From: Brian Kuschak @ 1999-11-23 21:57 UTC (permalink / raw)
To: Jim Chapman, LiuTao
Cc: LinuxPPC Developers List, linuxppc-embedded@lists.linuxppc.org
Jim,
Here's yet another way to do it. We used a section
called .gzimage, but you could just as easily add it
to .text instead. Instead of using the
link/objcopy/compile/link method in the Makefile, do
this instead:
zvmlinux: $(OBJECTS) ../coffboot/vmlinux.gz
$(OBJCOPY) $(OBJCOPY_ARGS) -R .gzimage gzimage.o
$(OBJCOPY) $(OBJCOPY_ARGS) -R .comment
--add-section=.gzimage=../coffboot/vmlinux.gz
--set-section-flags=.gzimage=alloc,load,readonly,data
gzimage.o
$(LD) $(ZLINKFLAGS) -o $@ $(OBJECTS)
powerpc-elf-strip --strip-all $@
Create a dummy file called gzimage.c, where the zImage
data will be copied into section .gzimage:
/*
* gzimage.c
*
* dummy file to allow a compressed zImage to be added
* into a linker section, accessible by the boot code.
*/
char dummydummy;
Then add the following to the vmlinux.lds script, and
reference these symbols in your loader as extern
char[]. Modify the loader to load zImage data from
these addresses instead. I think this method will
work for initrd as well.
/* For loader only: Put the zImage after everything
* else
*/
_gzstart = . ;
.gzimage : { *(.gzimage) }
_gzend = . ;
-Brian Kuschak
> ... had to find
> a way to put the
> image section inside the text segment so that the
> image data would be
> copied by the vxworks bootrom. There may be a clever
> way to do that
> using ld scripts...
** Sent via the linuxppc-dev mail list. See http://lists.linuxppc.org/
^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: need suggestions
1999-11-23 19:52 need suggestions Jim Chapman
1999-11-23 20:54 ` Frank McPherson
@ 1999-11-24 8:25 ` LiuTao
1 sibling, 0 replies; 13+ messages in thread
From: LiuTao @ 1999-11-24 8:25 UTC (permalink / raw)
To: Jim Chapman
Cc: LinuxPPC Developers List, linuxppc-embedded@lists.linuxppc.org
Hi Jim:
I have a bootrom of vxWorks and I want to use it to download any
files that I need through FTP or TFTP. When I try to do it, I found
some problems.
If I use it to download vxWorks's image through FTP, that's all right.
If I use it to download vxWorks's image through TFTP, there is error.
If I use it to download a test image(ELF file), there is error too.
I think there must be some requirements to the download files, right?
Maybe the format of ELF is not correct?
I also want to make a bootrom of Linux, can you tell me how to do it?
I am a newbie, so if you can, tell me something in detail please.
Thanks!
LiuTao
Jim Chapman wrote:
>
> Re: using a vxworks bootrom to load zImage
>
> I am using a standard vxworks bootrom to load a zImage, but I had to
> make a few modifications to the zImage startup code to make it work. For
> us, it is useful to share the same target hardware between vxworks and
> linux developers, without having to reblow the flash bootrom each time
> we switch. And by building BOOTP into the vxworks bootrom, we simply
> change the BOOTP server entry to have the target boot vxWorks or zImage
> without changing the bootrom. However, once we're rid of vxworks
> altogether, then a linux-centric bootrom would be a much better
> solution.
>
> It turns out that the vxworks bootrom ELF support doesn't handle named
> ELF sections (it's yet another undocumented feature of Wind River code
> -- it silently ignores sections that aren't ".text" or ".data"...), and
> since the compressed vmlinux image is objcopy'd into a special "image"
> section by arch/ppc/mbxboot/Makefile, I had to find a way to put the
> image section inside the text segment so that the image data would be
> copied by the vxworks bootrom. There may be a clever way to do that
> using ld scripts, but I ended up converting the image data to assembly,
> and used a couple of public symbols at the start/end of the data so that
> (a modified) decompress_kernel() could find the image. The
> binary-to-assembly convertor is a simple perl script which does almost
> the same thing as vxWorks' binToAsm tool.
>
> The initrd stuff would need similar treatment, but since I don't use
> initrd, I haven't implemented it.
>
> If you want more details (and the binToAsm perl script) let me know.
>
> -Jim
** Sent via the linuxppc-dev mail list. See http://lists.linuxppc.org/
^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: need suggestions
1999-11-23 6:14 ` Dan Malek
1999-11-23 18:47 ` Geert Uytterhoeven
@ 1999-11-24 8:34 ` LiuTao
1999-11-24 10:26 ` Magnus Damm
1 sibling, 1 reply; 13+ messages in thread
From: LiuTao @ 1999-11-24 8:34 UTC (permalink / raw)
To: Dan Malek; +Cc: LinuxPPC Developers List, linuxppc-embedded@lists.linuxppc.org
Hi:
Dan Malek wrote:
> My approach is to actually port a Linux kernel to the 8xx board, which
I have a ADS8xx board and I downloaded kernel source mpc8xx-2.2.13.tgz
from ppc.kernel.org. Can you tell me how to port it to ADS8xx board and
make a bootrom of Linux?
I am a newbie, so please tell something in detail.
Thanks!
LiuTao
> is pretty easy these days for just the minimal network support, then
> slightly "customize" it (so it doesn't use _all_ of memory) and flash
> is using S-record download or BDM tools. I then just use the Linux
> kernel with a TFTP application to do the job. Just mmap() the unused
> memory for loading a new image, and modify the reboot to call a
> specific address rather than return to rom.
>
> -- Dan
** Sent via the linuxppc-dev mail list. See http://lists.linuxppc.org/
^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: need suggestions
1999-11-23 3:46 ` Dan Malek
1999-11-23 3:46 ` LiuTao
@ 1999-11-24 8:56 ` Neil Russell
1 sibling, 0 replies; 13+ messages in thread
From: Neil Russell @ 1999-11-24 8:56 UTC (permalink / raw)
To: Dan Malek, LiuTao; +Cc: linuxppc, linuxppc-embedded
On Mon, Nov 22, 1999 at 10:46:53PM -0500, Dan Malek wrote:
> How do you load vxWorks? I have worked on several vxWorks projects,
If you use vxWorks to load Linux, you would probably still have to pay
WindRiver a royalty. Also, that would make the worlds largest bootloader;
well ok, OF is larger.
Many years ago, I wrote a boot loader that does (amongst other things)
BOOTP and TFTP. I plan to port it to PPC for a project I'm doing soon
and I will publish it. It wont be ready for a few months though.
--
Neil Russell <caret@c-side.com>
** Sent via the linuxppc-dev mail list. See http://lists.linuxppc.org/
^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: need suggestions
1999-11-24 8:34 ` LiuTao
@ 1999-11-24 10:26 ` Magnus Damm
0 siblings, 0 replies; 13+ messages in thread
From: Magnus Damm @ 1999-11-24 10:26 UTC (permalink / raw)
To: LiuTao; +Cc: linuxppc-embedded
> I have a ADS8xx board and I downloaded kernel source mpc8xx-2.2.13.tgz
> from ppc.kernel.org. Can you tell me how to port it to ADS8xx board and
> make a bootrom of Linux?
> I am a newbie, so please tell something in detail.
First of all: Check the revision of the board and the cpu.
If you have a 860, find a cpu with revision C or later.
If you have a ADS with rev. ENG, PILOT or A you will have some trouble.
I have had linux up and running on a ADS board.
A good starting point is to read the manual and check what differs from the FADS.
I have bootcode that is based on fadsrom by Dan Malek.
It is kind of a mess right now, but it should support both
the ADS and the FADS board using 860(t).
It loads a zImage or vmlinux from a ATA-FLASH or the onboard flash-simm.
It understands ext2 and dos.
No network support, though.
I can mail the source to anyone who is interested.
You will need a linux source tree and a (cross)compiler.
But I have no time for answers.
Good luck /
magnus damm
** Sent via the linuxppc-embedded mail list. See http://lists.linuxppc.org/
^ permalink raw reply [flat|nested] 13+ messages in thread
* Need suggestions......
@ 2000-04-14 18:23 Ihor Lys
0 siblings, 0 replies; 13+ messages in thread
From: Ihor Lys @ 2000-04-14 18:23 UTC (permalink / raw)
To: linuxppc-embedded
Hi Everybody.....
I am currently in the process of figuring out what the minimum external
hardware requirements would be for a new project we are working on.
We currently use a motorola FADS board with an 850SAR for some other
non-linux development, has anyone booted linux on this configuration?
For various reasons we would like to run linux on either a MPC850SR or
or MPC860SR or MPC860T.
The final design of our system will be custom, but as usual, its
probably beasier to start with something semi-standard.
We don't need most of the goofy desktop stuff, (video, HDD, FDD, swap,
etc), but we do need ethernet, serial, and other I/O
Further: Can anyone tell me:
Which SIMPLE SBC boards work with a minimum of fuss.
What kind of driver support is there for perhipherals based on USB
How much ram is really needed for the kernel image itself
What minimum external perhipherals other than I/O are needed/supported?
(RTC? NVRAM?)
Is there any reference as to what external perhipherals might be
supported? Like external UARTs, Net adapters, PCMCIA cards, etc?
Thanks
Ihor
--
------------------------------------------------------
Ihor Lys TEL: 617-423-9999
Color Kinetics Inc. FAX: 617-423-9998
50 Milk St. 17th Floor CEL: 617-899-4320
Boston, MA 02109 www.colorkinetics.com
** Sent via the linuxppc-embedded mail list. See http://lists.linuxppc.org/
^ permalink raw reply [flat|nested] 13+ messages in thread
end of thread, other threads:[~2000-04-14 18:23 UTC | newest]
Thread overview: 13+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
1999-11-23 19:52 need suggestions Jim Chapman
1999-11-23 20:54 ` Frank McPherson
1999-11-24 8:25 ` LiuTao
-- strict thread matches above, loose matches on Subject: below --
2000-04-14 18:23 Need suggestions Ihor Lys
1999-11-23 21:57 need suggestions Brian Kuschak
1999-11-23 1:42 LiuTao
1999-11-23 3:46 ` Dan Malek
1999-11-23 3:46 ` LiuTao
1999-11-23 6:14 ` Dan Malek
1999-11-23 18:47 ` Geert Uytterhoeven
1999-11-24 8:34 ` LiuTao
1999-11-24 10:26 ` Magnus Damm
1999-11-24 8:56 ` Neil Russell
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).