[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [microblaze-uclinux] uCLinux VS Linux
John,
I would still like to ty some of this. Has anyone tried this and got it to work? One thing I have a question on is : why get the latest ppc kernel? Is there any way to just change the compiler to the ppc instead of the MB compiler and make? Sort of fooling it with another compiler? I know it sounds lame but woud this be a fast way to get a working kernel? Is this sort of what you were getting at below?
Can you give me the theroetical steps to do this (since you did it for the MB!):
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 basis.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.
I agree that this would be a great way to go and ignore the main flow, because uCLinux has all we need for the PPC on the FPGA esp on boards with little resources.
You will have to re-name the website ;-}
Thnks,
Greg
John Williams <jwilliams@itee.uq.edu.au> wrote:
Hi Greg,
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. C!
reate
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
uClinux-2.4.x tree)
$ 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
basis.
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
of this?
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.
Cheers,
John
___________________________
microblaze-uclinux mailing list
microblaze-uclinux@itee.uq.edu.au
Project Home Page : http://www.itee.uq.edu.au/~jwilliams/mblaze-uclinux
Mailing List Archive : http://www.itee.uq.edu.au/~listarch/microblaze-uclinux/