Re: Compiling kernel 2.4.20 on m68k
Now that I am up and compiling my own kernel, I have observed something
interesting and was wondering if anyone here had seen it before.
It seems that the configuration item CONFIG_ISA is required to compile
the kernel for the Amiga (I have not tried the other sub archs). If
that item is not set, the kernel compile will get all the way to the
link with the outp_b(), inb() and inb_p() not defined as described in
the quoted email message.
It seems that the only way to get CONFIG_ISA set is to bring in the
A1200 PCMCIA support. I tried to delete this support, as my A2000 does
not have a PCMCIA, so I thought I could delete support and save RAM. It
seems that outp_b(), inb() and inb_p() are defined in
include/asm-m68k/io.h but only if a specific set of configuration
options are set up, which includes CONFIG_ISA.
Interestingly, when I run 'make config' I do not get a prompt for the
Is this correct behavior, or am I missing something. This is with the
2.4.20 kernel file set and the m68k patches.
On Mon, Jan 05, 2004 at 11:30:32AM +0100, Geert Uytterhoeven wrote:
> On Sun, 4 Jan 2004, Lance Tagliapietra wrote:
> > 3. I used the Config.amiga in the kernel patches directory and copied it
> > to the sources directory as .config (the idea is that I'd like to
> > duplicate the assumed working config, before I start modifying it for my
> > specific situation).
> Please run `make oldconfig' after modifying the config (e.g. by copying it from
> > 4. time make clean; time make dep; time make
> > (time, to get some idea of how long this takes, as a baseline).
> > [about 12 hours later]
> > I noticed that the build stopped due to unresolved symbol errors:
> > ld -m m68kelf -T /mnt/dh0/kernel-source-2.4.20/arch/m68k/vmlinux.lds
> > arch/m68k/kernel/head.o init/main.o init/version.o init/do_mounts.o \
> > --start-group \
> > arch/m68k/kernel/kernel.o arch/m68k/mm/mm.o kernel/kernel.o
> > mm/mm.o fs/fs.o ipc/ipc.o arch/m68k/amiga/amiga.o
> > arch/m68k/fpsp040/fpsp.o arch/m68k/ifpsp060/ifpsp.o
> > arch/m68k/math-emu/mathemu.o \
> > drivers/char/char.o drivers/block/block.o drivers/misc/misc.o
> > drivers/net/net.o drivers/media/media.o drivers/ide/idedriver.o
> > drivers/scsi/scsidrv.o drivers/cdrom/driver.o drivers/zorro/driver.o
> > drivers/video/video.o \
> > net/network.o \
> > /mnt/dh0/kernel-source-2.4.20/lib/lib.a arch/m68k/lib/lib.a \
> > --end-group \
> > -o vmlinux
> > kernel/kernel.o: In function `access_process_vm':
> > kernel/kernel.o(.text+0x833c): undefined reference to `is_dumpable'
> > drivers/block/block.o: In function `floppy_hardint':
> > drivers/block/block.o(.text+0x268a): undefined reference to `inb'
> > drivers/block/block.o(.text+0x26ae): undefined reference to `outb_p'
> > drivers/block/block.o(.text+0x26c6): undefined reference to `inb_p'
> > make: *** [vmlinux] Error 1
> floppy_hardint() is a routine from the PC-style floppy driver. Probably it was
> enabled before you copied Config.amiga.
> Hence try this:
> make oldconfig
> make dep
> make clean
> make zImage modules
> Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- email@example.com
> 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