92 lines
3.5 KiB
Plaintext
92 lines
3.5 KiB
Plaintext
This version of BDM driver is updated to be compatible with
|
|
the most of existing kernel versions. Main focus has been oriented
|
|
to 2.2.x and 2.4.x, but most of other unstable and stable kernels
|
|
back to 1.3.x stone age should be supported.
|
|
|
|
Driver needs to find kernel sources to compile.
|
|
You may need to edit "Makefile-mod" for some strange kernel
|
|
sources locations. There is automatic location selection depending
|
|
on current kernel version and "/lib/modules" structure.
|
|
It select next kernel souces directory for older kernels
|
|
|
|
KERNEL_LOCATION=/usr/src/linux
|
|
|
|
it uses more reliable way of build process for
|
|
new modules hierarchy
|
|
|
|
KERNEL_LOCATION=/lib/modules/$(CURRENT)/build
|
|
|
|
*** BDM driver autoloading ***
|
|
|
|
No longer su to root, insmod the module of choice, and then start the
|
|
debugger as user-joe, but just start the debugger, and the necessary
|
|
modules get loaded automatically.
|
|
|
|
What do you have to do?
|
|
* You need to copy the device driver code to
|
|
/lib/modules/<kernel-version>/misc
|
|
for 2.4.0 kernels use
|
|
/lib/modules/<kernel-version>/kernel/drivers/char
|
|
* edit /etc/conf.modules
|
|
(see my local /etc/conf.modules as an example)
|
|
* do a "depmod -a".
|
|
* Start "kerneld" at an early boot stage
|
|
or enable "kmod" in kernel configuration in section
|
|
"Loadable module support".
|
|
|
|
For more details on dynamic kernel module support, see the READMEs
|
|
in the latest modules utilities. The current release is modutils-2.4.22.
|
|
|
|
*** IMPORTANT ***
|
|
|
|
The bdm driver checks if the required resources (here only the io-port
|
|
addresses) are in use, e.g. by the lp device driver or a parallel port
|
|
ethernet device. When everything is free, it reserves these resources, and
|
|
releases them when closing the device. So no double access should be possible.
|
|
|
|
If BDM driver is compiled without PARPORT support, there could be problem
|
|
with "parport", "parport_pc" and "lp" module stack resource reservation,
|
|
which could compete with "m683xx-bdm" driver. Compile "lp" and "parport"
|
|
as modules in such case and unload them before "m683xx-bdm".
|
|
Opposite is true in the case of BDM driver with PARPORT support.
|
|
You need "parport_pc" compiled into kernel or as module.
|
|
|
|
Possibilities reworded
|
|
|
|
A) You need to rmmod parport, if you have compiled BDM driver WITHOUT parport
|
|
support. It can be done by next line added to "/etc/modules.conf"
|
|
|
|
pre-install bdm /sbin/modprobe -r lp parport_pc
|
|
|
|
B) If BDM driver is compiled WITH parport support, the "parport_pc" module
|
|
have to be loaded before "bdm" one. It is loaded by boot process in the
|
|
most cases but next line in "/etc/modules.conf" doe not hurt
|
|
|
|
below bdm parport_pc
|
|
|
|
** DEVFS support ***
|
|
|
|
Driver supports new "devfs" virtual device filesystem found in
|
|
2.4.0 kernels. There are compiled-in next device names for those
|
|
kenels "/dev/m683xx-bdm/pd0" and "/dev/m683xx-bdm/icd0" etc.
|
|
|
|
You can add next line to "/etc/devfs.conf"
|
|
|
|
LOOKUP m683xx-bdm MODLOAD
|
|
|
|
Next line helps to connect simple "/dev/bdm" name for right configuration
|
|
|
|
LOOKUP m683xx-bdm EXECUTE /bin/ln -s ${mntpnt}/m683xx-bdm/icd0 ${mntpnt}/m683xx-bdm
|
|
|
|
There are lines for "/dev/modules.conf" with aliases for different kernels
|
|
|
|
# m68k BDM
|
|
alias /dev/bdm m683xx-bdm
|
|
alias /dev/m683xx-bdm m683xx-bdm
|
|
alias char-major-53 m683xx-bdm
|
|
# the next line is required/usable for BDM driver compiled without
|
|
# parport support. You might want to remove this line if you get errors
|
|
# about unresolved symbols when the driver is loaded.
|
|
pre-install m683xx-bdm /sbin/modprobe -r lp parport_pc
|
|
|