2001-07-13 16:38:14

by Brunet Eric

[permalink] [raw]
Subject: compile and bootdisk problems

Hello,

i meet some problems in order to create a linux bootdisk:
therefore, i tries to make a polyvalent kernel (in one floppy) with:
-no module
-a lot of ethernet card drivers
This flopppy disk will be used to boot windows machine with partimage
program in order to backup entire FS to a backup server!!

The first, i couldn't compile the kernel with all ethernets card
drivers, specially i have an errors for the drivers
"CONFIG_ARM_AM79C961A" and "CONFIG_FEALNX" for kernels 2.4.3 and 2.4.6(i
think others version too), is it normal??

For "CONFIG_ARM_AM79C961A":
am79c961a.c: In function `am79c961_init':
am79c961a.c:638: `IRQ_EBSA110_ETHERNET' undeclared (first use in this
function)
am79c961a.c:638: (Each undeclared identifier is reported only once
am79c961a.c:638: for each function it appears in.)
make[3]: *** [am79c961a.o] Erreur 1
make[2]: *** [first_rule] Erreur 2
make[1]: *** [_subdir_net] Erreur 2
make: *** [_dir_drivers] Erreur 2
notice: the definition of IRQ_EBSA110_ETHERNET is in ./include/asm_arm
# define IRQ_EBSA110_ETHERNET 3
I understand that device is supported only by arm architecure, it don't
compile because it's a x86 machine?? and if yes,why aren't anywarning
message to indicate me that drivers is useless????

For "CONFIG_FEALNX":
gcc -D__KERNEL__ -I/usr/src/linux-2.4.6/include -Wall
-Wstrict-prototypes -Wno-trigraphs -O2 -fomit-frame-pointer
-fno-strict-aliasing -pipe -mpreferred-stack-boundary=2 -march=i686
-c -o fealnx.o fealnx.c
fealnx.c:1817: parse error before `__attribute__'
make[3]: *** [fealnx.o] Erreur 1
make[3]: Quitte le r?pertoire `/usr/src/linux-2.4.6/drivers/net'
make[2]: *** [first_rule] Erreur 2
make[2]: Quitte le r?pertoire `/usr/src/linux-2.4.6/drivers/net'
make[1]: *** [_subdir_net] Erreur 2
make[1]: Quitte le r?pertoire `/usr/src/linux-2.4.6/drivers'
make: *** [_dir_drivers] Erreur 2


-the other problem is in boot sequence, i prapre the kernel image for
the rootdisk(it work with a Slackware bootdisk) like this:
> rdev bzImage /dev/fd0
> rdev -r bzImage 49152 (49152 = ask disk, and read from 0)
> rdev -R bzImage 0 (to make the root RW and allow to login)
> dd if=bzImage of=/dev/fd0 bs=1k

howener then i insert root disk, 10 second oafter, i see this message:
>wrong magic
>MSDOS: Harware sector size is 1024
>fatfs: bogus cluster size
>MSDOS: Harware sector size is 1024
>fatfs: bogus cluster size
>MSDOS: Harware sector size is 1024
>fatfs: bogus cluster size
>UMSDOS: msdos_read_super failed, mount aborted.
>kernel panic: VFS: Unable to mount fs on 01:00

I read many FAQ, ML and bootdisk HOWTO(of course) wtihout response

please help me :~(
:))I

thank in advance for your response



______________________________________________________________________________
ifrance.com, l'email gratuit le plus complet de l'Internet !
vos emails depuis un navigateur, en POP3, sur Minitel, sur le WAP...
http://www.ifrance.com/_reloc/email.emailif



2001-07-13 16:59:21

by Colin Bayer

[permalink] [raw]
Subject: RE: compile and bootdisk problems

>Date: Fri, 13 Jul 2001 18:38:45 +0200
> Brunet Eric <[email protected]> [email protected]: [email protected]
> compile and bootdisk problems
>Hello,
>
>i meet some problems in order to create a linux bootdisk:
>therefore, i tries to make a polyvalent kernel (in one floppy) with:
>-no module
>-a lot of ethernet card drivers
>This flopppy disk will be used to boot windows machine with partimage
>program in order to backup entire FS to a backup server!!
>
>The first, i couldn't compile the kernel with all ethernets card
>drivers, specially i have an errors for the drivers
>"CONFIG_ARM_AM79C961A" and "CONFIG_FEALNX" for kernels 2.4.3 and 2.4.6(i
>think others version too), is it normal??
>
>For "CONFIG_ARM_AM79C961A":
>am79c961a.c: In function `am79c961_init':
>am79c961a.c:638: `IRQ_EBSA110_ETHERNET' undeclared (first use in this
>function)
>am79c961a.c:638: (Each undeclared identifier is reported only once
>am79c961a.c:638: for each function it appears in.)
>make[3]: *** [am79c961a.o] Erreur 1
>make[2]: *** [first_rule] Erreur 2
>make[1]: *** [_subdir_net] Erreur 2
>make: *** [_dir_drivers] Erreur 2
>notice: the definition of IRQ_EBSA110_ETHERNET is in ./include/asm_arm
># define IRQ_EBSA110_ETHERNET 3
>I understand that device is supported only by arm architecure, it >don't compile because it's a x86 machine?? and if yes,why aren't >anywarning message to indicate me that drivers is useless????

Make sure you've run "make <whatever>config", saved a configuration, and then run "make dep". If this doesn't help, talk to the driver's maintainer (look in /path/to/the/kernel/source/tree/MAINTAINERS). Regarding the inclusion of a (maybe) useless driver: in the interest of keeping up code reuse, sometimes the kernel will compile in drivers that aren't needed -- call it an added bonus. 8-)

>-the other problem is in boot sequence, i prapre the kernel image for
>the rootdisk(it work with a Slackware bootdisk) like this:
>> rdev bzImage /dev/fd0
>> rdev -r bzImage 49152 (49152 = ask disk, and read from 0)
>> rdev -R bzImage 0 (to make the root RW and allow to login)
>> dd if=bzImage of=/dev/fd0 bs=1k
>
>howener then i insert root disk, 10 second oafter, i see this >message:
>>wrong magic

(I could be talking out my butt here and for the rest of my reply; I'd appreciate it if filesystem gurus would back me up... or not) In every boot sector is written a "magic number". This is unique for each filesystem type, and is used upon initial mount for partition type identification; apparently the wrong magic number was written to the disk. (or none at all)

>>MSDOS: Harware sector size is 1024
>>fatfs: bogus cluster size
>>MSDOS: Harware sector size is 1024
>>fatfs: bogus cluster size
>>MSDOS: Harware sector size is 1024
>>fatfs: bogus cluster size
>>UMSDOS: msdos_read_super failed, mount aborted.
>>kernel panic: VFS: Unable to mount fs on 01:00
>

These are (probably) caused by an incorrect creation of the boot disk; the most foolproof way of making a boot disk at kernel compile-time is simply to run "make bzdisk" (assuming you want ext2 on the floppy). If I'm wrong (and I frequently am; I'm merely a newbie with ambition), I'm sorry (read: don't flame me).


Colin Bayer <[email protected]>
"Nothing's tweaked to the limit until it's broken. The only good thing about Windows is that it comes like this out of the box."
fortytwo: Linux kernel 2.4.7-pre5 (i686; 1854.66 BogoMips)

------------------------------------------------------------
The CompNerd Network: http://www.compnerd.com/
Where a nerd can be a nerd. Get your free [email protected]!

2001-07-13 17:04:02

by Ignacio Vazquez-Abrams

[permalink] [raw]
Subject: Re: compile and bootdisk problems

On Fri, 13 Jul 2001, Brunet Eric wrote:

> Hello,
>
> i meet some problems in order to create a linux bootdisk:
> therefore, i tries to make a polyvalent kernel (in one floppy) with:
> -no module
> -a lot of ethernet card drivers
> This flopppy disk will be used to boot windows machine with partimage
> program in order to backup entire FS to a backup server!!
>
> The first, i couldn't compile the kernel with all ethernets card
> drivers,

Hmm. My suggestion is to choose the NICs you actually use, maybe plus ISA and
PCI NE2k (you never know...).

> [snip]
>
> -the other problem is in boot sequence, i prapre the kernel image for
> the rootdisk(it work with a Slackware bootdisk) like this:
> > rdev bzImage /dev/fd0
> > rdev -r bzImage 49152 (49152 = ask disk, and read from 0)

I think you want 32768 instead. Bit 14 says load an inital ramdisk, and
nowhere in your process do you actually create one. While you're at it, ditch
the msdos and/or umsdos filesystems and use vfat instead.

> > rdev -R bzImage 0 (to make the root RW and allow to login)
> > dd if=bzImage of=/dev/fd0 bs=1k
>
> [snip]
>
> I read many FAQ, ML and bootdisk HOWTO(of course) wtihout response
>
> please help me :~(
>:))I
>
> thank in advance for your response

--
Ignacio Vazquez-Abrams <[email protected]>