Skip site navigation (1)Skip section navigation (2)
Date:      Sat, 7 Jan 2012 00:19:34 +0200
From:      =?koi8-r?B?68/O2MvP1yDl18fFzsnK?= <kes-kes@yandex.ru>
To:        Devin Teske <devin.teske@fisglobal.com>
Cc:        freebsd-questions@freebsd.org
Subject:   Re[4]: how to force 'device' sources to not compile?
Message-ID:  <893947021.20120107001934@yandex.ru>
In-Reply-To: <070301ccccbf$43f87d00$cbe97700$@fisglobal.com>
References:  <364237998.20120106233952@yandex.ru> <06fc01ccccbc$264e10b0$72ea3210$@fisglobal.com> <219337455.20120106234609@yandex.ru> <070301ccccbf$43f87d00$cbe97700$@fisglobal.com>

next in thread | previous in thread | raw e-mail | index | archive | help
Здравствуйте, Devin.

Вы писали 7 января 2012 г., 0:05:12:



>> -----Original Message-----
>> From: Коньков Евгений [mailto:kes-kes@yandex.ru]
>> Sent: Friday, January 06, 2012 1:46 PM
>> To: Devin Teske
>> Cc: freebsd-questions@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@freebsd.org [mailto:owner-freebsd-
>> >> questions@freebsd.org] On Behalf Of ??????? ???????
>> >> Sent: Friday, January 06, 2012 1:40 PM
>> >> To: freebsd-questions@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 =(
>> 

DT> Apologies, let me clarify...

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

DT>         cd /usr/src/sys/i386/conf

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

DT>         touch MYGENERIC

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

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

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

DT>         echo "nodevice et" >> MYGENERIC

DT> Now, configure and compile your kernel by executing:


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

DT> Your new kernel is named "kernel" in the current working directory.

cd /usr/src/sys/i386/conf
cp GENERIC MYKERN
open MYKERN in editor, find 'device et' and change it with 'nodevice et'
  or, Ithink, this must work also: echo 'nodevice et' >> /usr/src/sys/i386/conf/MYKERN
cd /usr/src
echo "bla-bla-bla" > /usr/src/sys/dev/et/if_et.c
make buildkernel KERNCONF=MYKERN

despite on there is 'nodevice et' system tryes to build 'et' and fail

-- 
С уважением,
 Коньков                          mailto:kes-kes@yandex.ru




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?893947021.20120107001934>