how to force 'device' sources to not compile?

Devin Teske devin.teske at fisglobal.com
Fri Jan 6 22:05:02 UTC 2012



> -----Original Message-----
> From: Коньков Евгений [mailto:kes-kes at yandex.ru]
> Sent: Friday, January 06, 2012 1:46 PM
> To: Devin Teske
> Cc: freebsd-questions at freebsd.org
> Subject: Re[2]: how to force 'device' sources to not compile?
> 
> Здравствуйте, Devin.
> 
> Вы писали 6 января 2012 г., 23:42:54:
> 
> 
> 
> >> -----Original Message-----
> >> From: owner-freebsd-questions at freebsd.org [mailto:owner-freebsd-
> >> questions at freebsd.org] On Behalf Of ??????? ???????
> >> Sent: Friday, January 06, 2012 1:40 PM
> >> To: freebsd-questions at freebsd.org
> >> Subject: how to force 'device' sources to not compile?
> >>
> >> I have errors while compile kernel
> >>
> >> ===> et (all)
> >> cc -O2 -pipe -fno-strict-aliasing -Werror -D_KERNEL -DKLD_MODULE -nostdinc
> -
> >> DHAVE_KERNEL_OPTION_HEADERS -include
> >> /usr/obj/usr/src/sys/KES_KERN_v9/opt_global.h -I. -I@
> >> -I@/contrib/altq
> DT> -finline-
> >> limit=8000 --param inline-unit-growth=100 --param
> >> large-function-growth=1000 - fno-common -g
> >> -I/usr/obj/usr/src/sys/KES_KERN_v9  -mno-align-long-strings -
> >> mpreferred-stack-boundary=2 -mno-sse -mno-mmx -msoft-float
> >> -ffreestanding - fstack-protector -std=iso9899:1999 -fstack-protector
> >> -Wall -Wredundant-decls - Wnested-externs -Wstrict-prototypes
> >> -Wmissing-prototypes -Wpointer-arith - Winline -Wcast-qual  -Wundef -Wno-
> pointer-sign -fformat-extensions  -
> >> Wmissing-include-dirs -fdiagnostics-show-option   -c
> >> /usr/src/sys/modules/et/../../dev/et/if_et.c
> >> /usr/src/sys/modules/et/../../dev/et/if_et.c: In function 'et_dma_alloc':
> >> /usr/src/sys/modules/et/../../dev/et/if_et.c:782: error: 'ET_RING_ALIGN'
> >> undeclared (first use in this function)
> >> /usr/src/sys/modules/et/../../dev/et/if_et.c:782: error: (Each
> >> undeclared identifier is reported only once
> >> /usr/src/sys/modules/et/../../dev/et/if_et.c:782: error: for each
> >> function it appears in.)
> >> /usr/src/sys/modules/et/../../dev/et/if_et.c:790: error: 'ET_STATUS_ALIGN'
> >> undeclared (first use in this function)
> >> /usr/src/sys/modules/et/../../dev/et/if_et.c:845: error: 'struct
> >> et_softc' has
> DT> no
> >> member named 'sc_rx_mini_tag'
> >> /usr/src/sys/modules/et/../../dev/et/if_et.c:854: error: 'struct
> >> et_softc' has
> DT> no
> >> member named 'sc_rx_tag'
> >> /usr/src/sys/modules/et/../../dev/et/if_et.c:864: error: 'struct
> >> et_softc' has
> DT> no
> >> member named 'sc_tx_tag'
> >>
> >> how to disable 'et' from compiling?
> 
> DT> Try adding:
> 
> DT>         nodevice et
> 
> DT> To a custom kernel config.
> 
> I have tryed to remove 'device et', 'nodevice et', 'device et' same results =(
> 

Apologies, let me clarify...

I would create a custom kernel config by executing (assumptions: your kernel
source is stored at /usr/src/sys):

	cd /usr/src/sys/i386/conf

NOTE: Replace "i386" with another architecture (such as "amd64") depending on
your needs.

	touch MYGENERIC

NOTE: Followint steps will overwrite "MYGENERIC" in the current working
directory if it already exists. If this file exists already, move it aside
before proceeding.

	echo "include GENERIC" > MYGENERIC
	echo "ident MYGENERIC" >> MYGENERIC
	echo "machine i386" >> MYGENERIC

NOTE: Again, replace "i386" with your desired architecture if not "i386".

	echo "nodevice et" >> MYGENERIC

Now, configure and compile your kernel by executing:

	config -g MYGENERIC
	cd ../compile/MYGENERIC
	make cleandepend && make depend && make

Your new kernel is named "kernel" in the current working directory.
-- 
Devin

_____________
The information contained in this message is proprietary and/or confidential. If you are not the intended recipient, please: (i) delete the message and all copies; (ii) do not disclose, distribute or use the message in any manner; and (iii) notify the sender immediately. In addition, please be aware that any message addressed to our domain is subject to archiving and review by persons other than the intended recipient. Thank you.


More information about the freebsd-questions mailing list