tech-kern archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

Re: "covering set" of PCI kernels?



On Thu, Mar 31, 2011 at 04:09:04PM -0500, David Young wrote:
> Today I am trying to answer the question, "what is the smallest
> set of kernel configurations to build, in order to compile all
> machine-dependent PCI code and all PCI drivers at least once?"

Thanks for all of the pointers.  I have attached the scripts that I used
to build a set of kernels that covers all of the PCI code: pcitools
builds tools for each of the architectures where PCI is used, and
pcikernels builds each PCI kernel. i386build is my wrapper for build.sh;
I link it to algorbuild, sbmips-elbuild, et cetera, in order to get a
wrapper for each architecture that I will build.  These scripts contain
a lot of assumptions that will suit my local environment but not yours.

Dave

-- 
David Young             OJC Technologies
dyoung%ojctech.com@localhost      Urbana, IL * (217) 344-0444 x24
#!/bin/sh

. ./err.subr

# Errors on Sun Apr  3 15:26:26 CDT 2011
#
### evbmips-el GDIUM
#
# nbmake: nbmake: don't know how to make 
/home/dyoung/pristine-nbsd/src/sys/arch/mips/mips/softintr.c. Stop
#
### evbarm-el MPCSA_GENERIC
# src/sys/arch/evbarm/conf/MPCSA_GENERIC:318: ds1672rtc*: unknown device 
`ds1672rtc'
#
### ia64 GENERIC
#
# /tmp/genassym.28085/assym.c: In function 'f111':
# /tmp/genassym.28085/assym.c:67: error: invalid application of 'sizeof' to 
incomplete type 'struct pcb' 
# /tmp/genassym.28085/assym.c:76: error: dereferencing pointer to incomplete 
type
#
### sgimips GENERIC32_IP3x
#
# crmfb.o: In function `crmfb_attach':
# crmfb.c:(.text+0x2304): undefined reference to `ddc_read_edid'
# crmfb.c:(.text+0x2304): relocation truncated to fit: R_MIPS_26 against 
`ddc_read_edid'
# crmfb.c:(.text+0x234c): undefined reference to `edid_parse'
# crmfb.c:(.text+0x234c): relocation truncated to fit: R_MIPS_26 against 
`edid_parse'
# crmfb.c:(.text+0x2354): undefined reference to `edid_print'
# crmfb.c:(.text+0x2354): relocation truncated to fit: R_MIPS_26 against 
`edid_print'
#

while read arch k rest; do
        ./${arch}build -u -j 8 kernel=${k} > 
~/buildlogs/pristine-bulk-${arch}-${k}-0 2>&1 || warn ${arch}-${k}
done <<EOF
algor P5064
alpha GENERIC
amd64 GENERIC
amd64 XEN3_DOM0
arc GENERIC
atari HADES
atari MILAN-PCIIDE
bebox GENERIC
cats GENERIC
cobalt GENERIC
evbarm-el ADI_BRH
evbarm-el ARMADILLO9
evbarm-el CP3100
evbarm-el GEMINI
evbarm-el GEMINI_MASTER
evbarm-el GEMINI_SLAVE
evbarm-el GUMSTIX
evbarm-el HDL_G
evbarm-el IMX31LITE
evbarm-el INTEGRATOR
evbarm-el IQ31244
evbarm-el IQ80310
evbarm-el IQ80321
evbarm-el IXDP425
evbarm-el IXM1200
evbarm-el KUROBOX_PRO
evbarm-el LUBBOCK
evbarm-el MARVELL_NAS
evbarm-el NAPPI
evbarm-eb NSLU2
evbarm-el SHEEVAPLUG
evbarm-el SMDK2800
evbarm-el TEAMASA_NPWR
evbarm-el TEAMASA_NPWR_FC
evbarm-el TS7200
evbarm-el TWINTAIL
evbarm-el ZAO425
evbmips-el AP30
evbmips-el DBAU1500
evbmips-el DBAU1550
evbmips-el MALTA
evbmips-el MERAKI
evbmips-el MTX-1
evbmips-el OMSAL400
evbmips-el RB153
evbmips-el WGT624V3
evbmips64-el XLSATX
evbppc EV64260
evbppc MPC8536DS
evbppc MPC8548CDS
evbppc OPENBLOCKS200
evbppc OPENBLOCKS266
evbppc OPENBLOCKS266_OPT
evbppc P2020RDB
evbppc PMPPC
evbppc RB800
evbppc WALNUT
hp700 GENERIC
i386 ALL
i386 XEN3_DOM0
i386 XEN3_DOMU
ibmnws GENERIC
iyonix GENERIC
landisk GENERIC
macppc GENERIC
mvmeppc GENERIC
netwinder GENERIC
ofppc GENERIC
prep GENERIC
sandpoint GENERIC
sbmips-el GENERIC
sgimips GENERIC32_IP2x
sparc GENERIC_SUN4U
sparc KRUPS
sparc64 GENERIC
EOF

exit 0
#!/bin/sh

. ./err.subr

for arch in algor alpha amd64 arc atari bebox cats cobalt evbarm-eb evbarm-el \
    evbmips-el evbmips64-el evbppc hp700 i386 ia64 ibmnws iyonix \
    landisk macppc mvmeppc netwinder ofppc prep sandpoint sbmips-el sgimips \
    sparc sparc64; do
        ./${arch}build -u -j 8 tools > ~/buildlogs/pristine-bulk-${arch}-t-0 
2>&1 || warn ${arch}
done

exit 0
#!/bin/sh

unset MAKEOBJDIR
script=$(basename $0)
arch=${script%%build}
parent=$HOME/pristine-nbsd
dir=${parent}/$arch

mkdir -p $dir

./build.sh -m $arch -T ${parent}/T -R ${parent}/R -D $dir/D -O $dir/O -U $*


Home | Main Index | Thread Index | Old Index