[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [microblaze-uclinux] uCLinux VS Linux
Greg Miller wrote:
> John, to answer your question below I am using open-source distribution
> 2.4.30-pre1 from the MV website. (It is not the supported version however).
> I used Crosstool to build the ppc cross compiler.
OK, off to a good start.
> Here is what I want to do:
> 1). mount a drive on ddr like uCLinux does (i.e. not have to use nfs or
> the ACE).
> 2). Build in Busybox like uCLinux
> 3). build a .bit file like uCLinux (not .elf)
> 4). Get MTD to work with flash.
> Basically, I want it to be very similar to uCLinux except for the
> running on the PPC in V4 not on MB.
I think this is a good approach - some work to get there however.
From memory, here's what I did (hypothetically targeting Xilinx ml403,
but you choose your own):
1. Create vendors/Xilinx/ml403ppc directory. Just copy from
vendors/Xilinux/uclinux-auto or similar
2. Create vendors/config/ppc directory - take contents from
vendors/config/microblaze. Edit the config.arch as appropriate (setup
correct compiler prefixes etc).
3. Edit vendors/Xilinx/ml403ppc/config.arch to include
vendors/config/ppc/config.arch (instead of microblaze/config.arch)
** Now at least you have a vendor/board target that will try to use the
ppc compiler instead of microblaze
4. get a recent PPC kernel tree from MV
5. link to it from within uClinux-dist (same as you normally do for
$ ln -s ../linux-ppc-2.4.x linux-2.4.x
6. make menuconfig, select your new vendor/board combo. Probably need
to go into kernel config and set up some sensible parameters. Also,
choose to update default values, so you don't have to make the same
changes all the time.
7. make dep, make linux, etc
That's about where my recipe has to stop - it's going to become a
make/debug cycle for many iterations.
Doing essentially the above I built a PPC kernel last year, but never
had any hardware to boot it on.
The issue here is that montavista use an entirely different approach to
integrating into the EDK tools. In my not so humble opinion the "bulk
info dump" auto-config.in approach of mb-uclinux is superior, but the
chances of getting that pushed into the MV tree are essentially zero.
So, the question becomes, go with the flow, or against the flow,
maintaining patch sets and all that horrible mess.
One possibility is to import a newish PPC tree into the uClinux kernel,
and work it in there. That requires a ongoing maintenence effort to
stay in synch with the MV PPC tree.
Alternatively, we could ignore MV's tree and just work on the mainline
that gets imported by SnapGear into the uClinux CVS on a pretty regular
This might actually be a nice way to go - we could essentaily redo the
linux port for Xilinx PPC, do it the auto-config way from the start. A
bit of work, but maybe cleaner in the end.
Judging by the complete absence of any xilinx-specific stuff in the CVS
ppc arch subdir, it seems MV haven't pushed any of that into the mainline.
Yashi, you've experimented with PPC kernels right? Any thoughts on all
I feel pretty strongly that a seamless transition between PPC kernels
and MicroBlaze kernels within the uClinux-dist is a very potent tool,
and would like to help to support that goal.
microblaze-uclinux mailing list
Project Home Page : http://www.itee.uq.edu.au/~jwilliams/mblaze-uclinux
Mailing List Archive : http://www.itee.uq.edu.au/~listarch/microblaze-uclinux/