[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: help



Hi,

> 1.  can debian be installed without os3.x been installed first

I think amiga-lilo can be used to boot Linux. I am not aware of CD boot support 
on Amigas on the installer CDs, though (Stephen may correct me if I'm wrong). 
 
> 2.  why doesn't debian have more/currently for sale lan card support

That would be because no owner of such hardware bothered to write a driver for 
Linux. The manufacturers sure won't do it. They mostly do (or help) with the 
Intel Linux drivers. 
 
> 3.  how easy is it to make a driver for 3com pcmcia cards ref to :
> michael schmitz 15th feb:
> 
> Start with an existing m68k
> PCMCIA ethernet driver, and compare that with its mainstream equivalent. Then
> apply similar changes to the 3c589 mainstream driver.

Look at it this way: you already have a working 3c589 cs driver. You will not 
have to deal with setting up the network card from scratch, stuffing packets in 
for sending and reading received packets out. That"s all done for you, by the 
author of the Intel Linux driver.

What you will have to deal with is adapting the interrupt handling as well as 
(low-level) card register access code. I.e. - what interrupt do I need to 
register on Amiga, and what address space are the card registers found at for a 
CS card in general. _That_ portion you can glance from the existing sole CS 
slot ethernet driver for m68k, as I mentioned. 

> 4.  does this mean u end up wi old kernel?..

No, it just means that the necesary work that needs to be done on the 3c589 cs 
driver can most clearly be seen in an old version of the kernel (i.e. before the 
mainstream NE2k cs driver diverged). 
 
> 5.  is there a walk through guild for doing this? can some1 pls write one!

I do not know of a walk-through to m68k kernel hacking. I do know there is 
plenty of information regarding Linux driver programmming on the web (even 
published as hardcopy manuals). But it may be hard to look for it not knowing 
how to phrase the search requests. So here's my very brief rundown on how to get 
started on this particular project:

Basically, you need two things to get started (aside from a working Intel Linux 
setup):

- the m68k kernel source, found at 

git://git.kernel.org/pub/scm/linux/kernel/git/geert/linux-m68k.git

  (in order to retrieve that, you will need the 'git-core' package)

- a m68k cross compiler to build the m68k kernel on Intel Linux systems. I am 
  not sure where to find such a cross compiler (I built my own long ago), but 
  see

http://people.debian.org/~cts/debian-m68k/cross-compile/

  for a description on how to build one yourself. If you cannot build a cross 
  compiler, chances are someone on this list (or linux-m68k) has a recent one 
  you can use.

- you can of course build the kernel on the Amiga, but you better have a 50 MHz 
  060 for that. Plus SLIP networking set up, or a removable disk to supply the 
  kernel source tree.

Building a kernel for Amiga should then be as as easy as

make ARCH=m68k amiga_defconfig
make ARCH=m68k 

If you can successfully build a kernel for Amiga in this way, you can start to 
work on porting the driver. 

Copy drivers/net/pcmcia/3c589_cs.c to drivers/net/amiga_3c589_cs.c - this is the 
file you will have to adapt to use the Amiga CS interrupt and address range. In 
order to write to the (little endian) card, you may need to use special access 
functions that do all byte swapping - look at the apne.c driver what's used 
there (the PCMCIA slot may be wired up to do the byte swap in hardware so this 
may be a moot point).

Edit drivers/net/Kconfig, locate the APNE section and add a similar section 
for your driver. 

Edit drivers/net/Makefile, locate the line mentioning apne.o and add a similar 
one for your driver (replace apne.o by amiga_3c589_cs.o, remove 8390.o)

Run make ARCH=m68k menuconfig, navigate to the network drivers section, activate 
the new amiga_3c589_cs config option, and recompile. With a bit of luck, there 
won't be too many compiler errors. Fix the errors by editing amiga_3c589_cs.c 
until the module builds cleanly. 

Transfer the module to your Amiga Linux installation and test. Make sure to 
get the 'dmesg' util in order to retrieve kernel crash messages after reboot, 
or use a serial line console setup to capture the log output. Most likely, the 
kernel will trip over invalid memory accesses or get stuck on interrupts - try 
to find out where it falls over, and change the code to avoid that error. 
Recompile, retest, repeat. 

>     ( i do want to learn about linux, but this seems like a big thing for
> novices to do)

As I said above - the driver is already mostly written, and there is another 
Amiga PCMCIA driver to learn from. You should have at least a working knowledge 
of C, and should know some basics about how computers work down where the rubber 
meets the road (i.e. what a register or an interrupt is). 

> 6. for someone thats only ever used latest versions of linux on intel
> machines( where every lan card in the universe seems 2b included)
>    would there be anything else to consider b4 trying to get to grips wi 68k
> linux

Not really, aside from the fact that your Amiga Linux box won't have a fast 
network connection. I can provide some sample scripts and bits to help with a 
SLIP setup. 

Cheers,

	Michael


Reply to: