【背景】
之前已经在Ubuntu下用arm-xscale-linux-gnueabi交叉编译了很多东西了:
【记录】Ubuntu下用arm-xscale-linux-gnueabi交叉编译xmlrpc
【记录】Ubuntu下用arm-xscale-linux-gnueabi交叉编译curl(libcurl)
【记录】Ubuntu下用arm-xscale-linux-gnueabi交叉编译libxml2
【记录】Ubuntu下用arm-xscale-linux-gnueabi交叉编译expat
【记录】Ubuntu下用arm-xscale-linux-gnueabi交叉编译log4c
【记录】Ubuntu下用arm-xscale-linux-gnueabi交叉编译libcgi
【记录】Ubuntu下用arm-xscale-linux-gnueabi交叉编译pcre
【记录】Ubuntu下用arm-xscale-linux-gnueabi交叉编译uboot
现在继续去交叉编译内核linux-2.6.19.1.tar.bz2。
其中,此处的linux-2.6.19.1.tar.bz2,是已经改动后的,可以正常运行在pxa(xscale)板子上的。
此处,只是用我自己编译出来的arm-xscale-linux-gnueabi去交叉编译。
【折腾过程】
1.解压得到源码:
crifan@ubuntu:kernel$ ls linux-2.6.19.1.tar.bz2 crifan@ubuntu:kernel$ pwd /home/crifan/develop/crosscompile/kernel crifan@ubuntu:kernel$ tar xfj linux-2.6.19.1.tar.bz2 crifan@ubuntu:kernel$ ls linux-2.6.19.1 linux-2.6.19.1.tar.bz2 crifan@ubuntu:kernel$ cd linux-2.6.19.1/ crifan@ubuntu:linux-2.6.19.1$ ls arch CREDITS drivers ipc log Module.symvers scripts block crypto fs Kbuild MAINTAINERS net security build_kernel.sh CVS include kernel Makefile README sound COPYING Documentation init lib mm REPORTING-BUGS usr crifan@ubuntu:linux-2.6.19.1$
2.关于如何交叉编译kernel,找了下,值得参考的:
得知:
如果正常去直接make内核的话,则会猜测而找到,和当前系统,即x86的环境,相匹配的,就不是此处为arm的交叉编译了。
而交叉编译,需要关心两个参数:
ARCH:目标平台体系结构,此处是arm(的xscale)
CROSS_COMPILE:你的交叉编译器,注意是后缀是带短横线’-‘的
(另外还有个参数:
INSTALL_MOD_PATH:表示在哪个路径下创建/lib文件夹。即module的安装路径。当你需要编译内核的模块,才会用到此变量。
)
此两个参数,在kernel的根目录下的Makefile中,就有,需要改为你自己的值。
(当然也可以通过在命令行设置此两个参数,类似于:
make ARCH=arm
之类的)
当然,为了省事,此处还是直接去修改Makefile比较好。
此处改为:
# Cross compiling and selecting different set of gcc/bin-utils # --------------------------------------------------------------------------- # # When performing cross compilation for other architectures ARCH shall be set # to the target architecture. (See arch/* for the possibilities). # ARCH can be set during invocation of make: # make ARCH=ia64 # Another way is to have ARCH set in the environment. # The default ARCH is the host where make is executed. # CROSS_COMPILE specify the prefix used for all executables used # during compilation. Only gcc and related bin-utils executables # are prefixed with $(CROSS_COMPILE). # CROSS_COMPILE can be set on the command line # make CROSS_COMPILE=ia64-linux- # Alternatively CROSS_COMPILE can be set in the environment. # Default value for CROSS_COMPILE is not to prefix executables # Note: Some architectures assign CROSS_COMPILE in their arch/*/Makefile #ARCH ?= $(SUBARCH) ARCH ?=arm #CROSS_COMPILE ?=arm-linux- #CROSS_COMPILE ?=arm-xscale-linux-gnu- CROSS_COMPILE ?=arm-xscale-linux-gnueabi-
其中,
我此处的arm-xscale-linux-gnueabi-的所在路径,之前已经是在.bashrc加到PATH中了,所以命令行下,是可以找到的。
3.改好了交叉编译的参数后。
去确认一下,是有自己的kernel的配置文件的:
crifan@ubuntu:linux-2.6.19.1$ ls arch/arm/configs/ assabet_defconfig ep93xx_defconfig kb9202_defconfig pnx4008_defconfig at91rm9200dk_defconfig footbridge_defconfig lart_defconfig pxa255-idp_defconfig at91rm9200ek_defconfig fortunet_defconfig lpd270_defconfig realview_defconfig ateb9200_defconfig h3600_defconfig lpd7a400_defconfig realview-smp_defconfig badge4_defconfig h7201_defconfig lpd7a404_defconfig rpc_defconfig carmeva_defconfig h7202_defconfig lubbock_defconfig s3c2410_defconfig cerfcube_defconfig hackkit_defconfig lusl7200_defconfig shannon_defconfig clps7500_defconfig integrator_defconfig mainstone_defconfig shark_defconfig collie_defconfig iop32x_defconfig mx1ads_defconfig simpad_defconfig corgi_defconfig iop33x_defconfig neponset_defconfig spitz_defconfig csb337_defconfig ixp2000_defconfig netwinder_defconfig trizeps4_defconfig csb637_defconfig ixp23xx_defconfig netx_defconfig versatile_defconfig CVS ixp4xx_defconfig omap_h2_1610_defconfig whgs_defconfig ebsa110_defconfig jornada720_defconfig onearm_defconfig edb7211_defconfig kafa_defconfig pleb_defconfig crifan@ubuntu:linux-2.6.19.1$ ls arch/arm/configs/whgs_defconfig -lha -rw-r--r-- 1 crifan crifan 19K Nov 7 2012 arch/arm/configs/whgs_defconfig crifan@ubuntu:linux-2.6.19.1$
所以,去用make whgs_defconfig去使用配置:
crifan@ubuntu:linux-2.6.19.1$ make whgs_defconfig HOSTCC scripts/basic/fixdep scripts/basic/fixdep.c: In function ‘traps’: scripts/basic/fixdep.c:371:2: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing] scripts/basic/fixdep.c:373:4: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing] HOSTCC scripts/basic/docproc HOSTCC scripts/kconfig/conf.o scripts/kconfig/conf.c: In function ‘conf_string’: scripts/kconfig/conf.c:174:20: warning: variable ‘help’ set but not used [-Wunused-but-set-variable] scripts/kconfig/conf.c: In function ‘conf_sym’: scripts/kconfig/conf.c:208:6: warning: variable ‘type’ set but not used [-Wunused-but-set-variable] scripts/kconfig/conf.c: In function ‘conf_choice’: scripts/kconfig/conf.c:283:6: warning: variable ‘type’ set but not used [-Wunused-but-set-variable] scripts/kconfig/conf.c:359:9: warning: ignoring return value of ‘fgets’, declared with attribute warn_unused_result [-Wunused-result] scripts/kconfig/conf.c: In function ‘conf_askvalue’: scripts/kconfig/conf.c:104:8: warning: ignoring return value of ‘fgets’, declared with attribute warn_unused_result [-Wunused-result] HOSTCC scripts/kconfig/kxgettext.o HOSTCC scripts/kconfig/zconf.tab.o In file included from scripts/kconfig/zconf.tab.c:2338:0: scripts/kconfig/lex.zconf.c:1620:16: warning: ‘input’ defined but not used [-Wunused-function] HOSTLD scripts/kconfig/conf * * Linux Kernel Configuration * * * Code maturity level options * Prompt for development and/or incomplete code/drivers (EXPERIMENTAL) [Y/n/?] y * * General setup * Local version - append to kernel release (LOCALVERSION) [] Automatically append version information to the version string (LOCALVERSION_AUTO) [Y/n/?] y Support for paging of anonymous memory (swap) (SWAP) [Y/n/?] y System V IPC (SYSVIPC) [Y/n/?] y IPC Namespaces (IPC_NS) [N/y/?] n POSIX Message Queues (POSIX_MQUEUE) [N/y/?] n BSD Process Accounting (BSD_PROCESS_ACCT) [N/y/?] n Export task/process statistics through netlink (EXPERIMENTAL) (TASKSTATS) [N/y/?] n UTS Namespaces (UTS_NS) [N/y/?] n Auditing support (AUDIT) [N/y/?] n Kernel .config support (IKCONFIG) [N/m/y/?] n Kernel->user space relay support (formerly relayfs) (RELAY) [N/y/?] n Initramfs source file(s) (INITRAMFS_SOURCE) [] Optimize for size (Look out for broken compilers!) (CC_OPTIMIZE_FOR_SIZE) [Y/n/?] y * * Configure standard kernel features (for small systems) * Configure standard kernel features (for small systems) (EMBEDDED) [N/y/?] n Load all symbols for debugging/kksymoops (KALLSYMS) [Y/?] (NEW) y Do an extra kallsyms pass (KALLSYMS_EXTRA_PASS) [N/y/?] n * * Loadable module support * Enable loadable module support (MODULES) [Y/n/?] y Module unloading (MODULE_UNLOAD) [N/y/?] n Module versioning support (MODVERSIONS) [N/y/?] n Source checksum for all modules (MODULE_SRCVERSION_ALL) [N/y/?] n Automatic kernel module loading (KMOD) [N/y/?] n * * Block layer * Enable the block layer (BLOCK) [Y/?] (NEW) y Support for tracing block io actions (BLK_DEV_IO_TRACE) [N/y/?] n * * IO Schedulers * Anticipatory I/O scheduler (IOSCHED_AS) [Y/n/m/?] y Deadline I/O scheduler (IOSCHED_DEADLINE) [N/m/y/?] n CFQ I/O scheduler (IOSCHED_CFQ) [N/m/y/?] n Default I/O scheduler 1. Anticipatory (DEFAULT_AS) > 2. No-op (DEFAULT_NOOP) choice[1-2?]: 2 * * System Type * ARM system type 1. Agilent AAEC-2000 based (ARCH_AAEC2000) 2. ARM Ltd. Integrator family (ARCH_INTEGRATOR) 3. ARM Ltd. RealView family (ARCH_REALVIEW) 4. ARM Ltd. Versatile family (ARCH_VERSATILE) 5. Atmel AT91 (ARCH_AT91) 6. Cirrus CL-PS7500FE (ARCH_CLPS7500) 7. Cirrus Logic CLPS711x/EP721x-based (ARCH_CLPS711X) 8. Co-EBSA285 (ARCH_CO285) 9. EBSA-110 (ARCH_EBSA110) 10. EP93xx-based (ARCH_EP93XX) 11. FootBridge (ARCH_FOOTBRIDGE) 12. Hilscher NetX based (ARCH_NETX) 13. Hynix HMS720x-based (ARCH_H720X) 14. IMX (ARCH_IMX) 15. IOP32x-based (ARCH_IOP32X) 16. IOP33x-based (ARCH_IOP33X) 17. IXP4xx-based (ARCH_IXP4XX) 18. IXP2400/2800-based (ARCH_IXP2000) 19. IXP23XX-based (ARCH_IXP23XX) 20. LinkUp-L7200 (ARCH_L7200) 21. Philips Nexperia PNX4008 Mobile (ARCH_PNX4008) > 22. PXA2xx-based (ARCH_PXA) 23. RiscPC (ARCH_RPC) 24. SA1100-based (ARCH_SA1100) 25. Samsung S3C2410, S3C2412, S3C2413, S3C2440, S3C2442 (ARCH_S3C2410) 26. Shark (ARCH_SHARK) 27. Sharp LH7A40X (ARCH_LH7A40X) 28. TI OMAP (ARCH_OMAP) choice[1-28]: 22 * * Intel PXA2xx Implementations * Select target board 1. Intel DBPXA250 Development Platform (ARCH_LUBBOCK) > 2. LogicPD PXA270 Card Engine Development Platform (MACH_LOGICPD_PXA270) 3. Intel HCDDBBVA0 Development Platform (MACH_MAINSTONE) 4. Accelent Xscale IDP (ARCH_PXA_IDP) 5. SHARP Zaurus SL-5600, SL-C7xx and SL-Cxx00 Models (PXA_SHARPSL) 6. Keith und Koep Trizeps4 DIMM-Module (MACH_TRIZEPS4) choice[1-6]: 2 * * Processor Type * * * Processor Features * Support Thumb user binaries (ARM_THUMB) [N/y/?] n Disable D-Cache (C-bit) (CPU_DCACHE_DISABLE) [N/y/?] n * * Bus support * * * PCCARD (PCMCIA/CardBus) support * PCCard (PCMCIA/CardBus) support (PCCARD) [N/m/y/?] n * * Kernel Features * Preemptible Kernel (EXPERIMENTAL) (PREEMPT) [Y/n/?] y Dynamic tick timer (NO_IDLE_HZ) [N/y/?] n Use the ARM EABI to compile the kernel (AEABI) [N/y/?] n Memory model > 1. Flat Memory (FLATMEM_MANUAL) choice[1]: 1 64 bit Memory and IO resources (EXPERIMENTAL) (RESOURCES_64BIT) [N/y/?] n * * Boot options * Compressed ROM boot loader base address (ZBOOT_ROM_TEXT) [0x0] 0x0 Compressed ROM boot loader BSS address (ZBOOT_ROM_BSS) [0x0] 0x0 Default kernel command string (CMDLINE) [mem=128M console=ttyW0,115200 root=/dev/mtdblock3 rw rootfstype=jffs2 panic=1] mem=128M console=ttyW0,115200 root=/dev/mtdblock3 rw rootfstype=jffs2 panic=1 Kernel Execute-In-Place from ROM (XIP_KERNEL) [N/y/?] n * * Floating point emulation * * * At least one emulation must be selected * NWFPE math emulation (FPE_NWFPE) [Y/n/?] y Support extended precision (FPE_NWFPE_XP) [N/y/?] n FastFPE math emulation (EXPERIMENTAL) (FPE_FASTFPE) [N/y/?] n * * Userspace binary formats * Kernel support for ELF binaries (BINFMT_ELF) [Y/n/?] y Kernel support for a.out and ECOFF binaries (BINFMT_AOUT) [N/m/y/?] n Kernel support for MISC binaries (BINFMT_MISC) [N/m/y/?] n RISC OS personality (ARTHUR) [N/m/y/?] n * * Power management options * Power Management support (PM) [N/y/?] n Advanced Power Management Emulation (APM) [N/m/y/?] n * * Networking * Networking support (NET) [Y/n/?] y * * Networking options * Network packet debugging (NETDEBUG) [N/y/?] n Packet socket (PACKET) [Y/n/m/?] y Packet socket: mmapped IO (PACKET_MMAP) [N/y/?] n Unix domain sockets (UNIX) [Y/n/m/?] y Transformation user configuration interface (XFRM_USER) [N/m/y/?] n Transformation sub policy support (EXPERIMENTAL) (XFRM_SUB_POLICY) [N/y/?] n PF_KEY sockets (NET_KEY) [N/m/y/?] n TCP/IP networking (INET) [Y/n/?] y IP: multicasting (IP_MULTICAST) [N/y/?] n IP: advanced router (IP_ADVANCED_ROUTER) [N/y/?] n IP: kernel level autoconfiguration (IP_PNP) [Y/n/?] y IP: DHCP support (IP_PNP_DHCP) [N/y/?] n IP: BOOTP support (IP_PNP_BOOTP) [N/y/?] n IP: RARP support (IP_PNP_RARP) [N/y/?] n IP: tunneling (NET_IPIP) [N/m/y/?] n IP: GRE tunnels over IP (NET_IPGRE) [N/m/y/?] n IP: ARP daemon support (EXPERIMENTAL) (ARPD) [N/y/?] n IP: TCP syncookie support (disabled per default) (SYN_COOKIES) [N/y/?] n IP: AH transformation (INET_AH) [N/m/y/?] n IP: ESP transformation (INET_ESP) [N/m/y/?] n IP: IPComp transformation (INET_IPCOMP) [N/m/y/?] n IP: IPsec transport mode (INET_XFRM_MODE_TRANSPORT) [Y/n/m/?] y IP: IPsec tunnel mode (INET_XFRM_MODE_TUNNEL) [Y/n/m/?] y IP: IPsec BEET mode (INET_XFRM_MODE_BEET) [Y/n/m/?] y INET: socket monitoring interface (INET_DIAG) [Y/n/m/?] y * * TCP: advanced congestion control * TCP: advanced congestion control (TCP_CONG_ADVANCED) [N/y/?] n The IPv6 protocol (IPV6) [N/m/y/?] n Security Marking (NETWORK_SECMARK) [N/y/?] n * * Network packet filtering (replaces ipchains) * Network packet filtering (replaces ipchains) (NETFILTER) [N/y/?] n * * DCCP Configuration (EXPERIMENTAL) * The DCCP Protocol (EXPERIMENTAL) (IP_DCCP) [N/m/y/?] n * * SCTP Configuration (EXPERIMENTAL) * The SCTP Protocol (EXPERIMENTAL) (IP_SCTP) [N/m/y/?] n * * TIPC Configuration (EXPERIMENTAL) * The TIPC Protocol (EXPERIMENTAL) (TIPC) [N/m/y/?] n Asynchronous Transfer Mode (ATM) (EXPERIMENTAL) (ATM) [N/m/y/?] n 802.1d Ethernet Bridging (BRIDGE) [Y/n/m/?] y 802.1Q VLAN Support (VLAN_8021Q) [N/m/y/?] n DECnet Support (DECNET) [N/m/y/?] n ANSI/IEEE 802.2 LLC type 2 Support (LLC2) [N/m/y/?] n The IPX protocol (IPX) [N/m/y/?] n Appletalk protocol support (ATALK) [N/m/y/?] n CCITT X.25 Packet Layer (EXPERIMENTAL) (X25) [N/m/y/?] n LAPB Data Link Driver (EXPERIMENTAL) (LAPB) [N/m/y/?] n Acorn Econet/AUN protocols (EXPERIMENTAL) (ECONET) [N/m/y/?] n WAN router (WAN_ROUTER) [N/m/y/?] n * * QoS and/or fair queueing * QoS and/or fair queueing (NET_SCHED) [N/y/?] n * * Network testing * Packet Generator (USE WITH CAUTION) (NET_PKTGEN) [N/m/y/?] n * * Amateur Radio support * Amateur Radio support (HAMRADIO) [N/y/?] n * * IrDA (infrared) subsystem support * IrDA (infrared) subsystem support (IRDA) [N/m/y/?] n * * Bluetooth subsystem support * Bluetooth subsystem support (BT) [N/m/y/?] n Generic IEEE 802.11 Networking Stack (IEEE80211) [Y/n/m/?] y Enable full debugging output (IEEE80211_DEBUG) [N/y/?] n IEEE 802.11 WEP encryption (802.1x) (IEEE80211_CRYPT_WEP) [N/m/y/?] n IEEE 802.11i CCMP support (IEEE80211_CRYPT_CCMP) [N/m/y/?] n IEEE 802.11i TKIP encryption (IEEE80211_CRYPT_TKIP) [N/m/y/?] n Software MAC add-on to the IEEE 802.11 networking stack (IEEE80211_SOFTMAC) [N/m/y/?] n * * Device Drivers * * * Generic Driver Options * Select only drivers that don't need compile-time external firmware (STANDALONE) [Y/n/?] y Prevent firmware from being built (PREVENT_FIRMWARE_BUILD) [Y/n/?] y Userspace firmware loading support (FW_LOADER) [N/m/y/?] n * * Connector - unified userspace <-> kernelspace linker * Connector - unified userspace <-> kernelspace linker (CONNECTOR) [N/m/y/?] n * * Memory Technology Devices (MTD) * Memory Technology Device (MTD) support (MTD) [Y/n/m/?] y Debugging (MTD_DEBUG) [Y/n/?] y Debugging verbosity (0 = quiet, 3 = noisy) (MTD_DEBUG_VERBOSE) [0] 0 MTD concatenating support (MTD_CONCAT) [N/m/y/?] n MTD partitioning support (MTD_PARTITIONS) [Y/n/?] y RedBoot partition table parsing (MTD_REDBOOT_PARTS) [N/m/y/?] n Command line partition table parsing (MTD_CMDLINE_PARTS) [N/y/?] n ARM Firmware Suite partition parsing (MTD_AFS_PARTS) [N/m/y/?] n * * User Modules And Translation Layers * Direct char device access to MTD devices (MTD_CHAR) [Y/n/m/?] y Caching block device access to MTD devices (MTD_BLOCK) [Y/n/m/?] y FTL (Flash Translation Layer) support (FTL) [N/m/y/?] n NFTL (NAND Flash Translation Layer) support (NFTL) [N/m/y/?] n INFTL (Inverse NAND Flash Translation Layer) support (INFTL) [N/m/y/?] n Resident Flash Disk (Flash Translation Layer) support (RFD_FTL) [N/m/y/?] n NAND SSFDC (SmartMedia) read only translation layer (SSFDC) [N/m/y/?] n * * RAM/ROM/Flash chip drivers * Detect flash chips by Common Flash Interface (CFI) probe (MTD_CFI) [N/m/y/?] n Detect non-CFI AMD/JEDEC-compatible flash chips (MTD_JEDECPROBE) [N/m/y/?] n Support for RAM chips in bus mapping (MTD_RAM) [N/m/y/?] n Support for ROM chips in bus mapping (MTD_ROM) [N/m/y/?] n Support for absent chips in bus mapping (MTD_ABSENT) [N/m/y/?] n Older (theoretically obsoleted now) drivers for non-CFI chips (MTD_OBSOLETE_CHIPS) [N/y/?] n * * Mapping drivers for chip access * Support non-linear mappings of flash chips (MTD_COMPLEX_MAPPINGS) [N/y/?] n ROM maped on Sharp SL Series (MTD_SHARP_SL) [N/y/?] n Map driver for platform device RAM (mtd-ram) (MTD_PLATRAM) [N/m/y/?] n * * Self-contained MTD device drivers * Uncached system RAM (MTD_SLRAM) [N/m/y/?] n Physical system RAM (MTD_PHRAM) [N/m/y/?] n Test driver using RAM (MTD_MTDRAM) [N/m/y/?] n MTD using block device (MTD_BLOCK2MTD) [N/m/y/?] n * * Disk-On-Chip Device Drivers * M-Systems Disk-On-Chip 2000 and Millennium (DEPRECATED) (MTD_DOC2000) [N/m/y/?] n M-Systems Disk-On-Chip Millennium-only alternative driver (DEPRECATED) (MTD_DOC2001) [N/m/y/?] n M-Systems Disk-On-Chip Millennium Plus (MTD_DOC2001PLUS) [N/m/y/?] n * * NAND Flash Device Drivers * NAND Device Support (MTD_NAND) [N/m/y/?] n * * OneNAND Flash Device Drivers * OneNAND Device Support (MTD_ONENAND) [Y/n/m/?] y Verify OneNAND page writes (MTD_ONENAND_VERIFY_WRITE) [N/y/?] n OneNAND Flash device via platform device driver (MTD_ONENAND_GENERIC) [N/m/y/?] n PXA27X OneNand Flash Device Driver (MTD_ONENAND_PXA27X) [Y/n/m/?] y OneNAND OTP Support (MTD_ONENAND_OTP) [N/y/?] n * * Parallel port support * Parallel port support (PARPORT) [N/m/y/?] n * * Plug and Play support * * * Block devices * Loopback device support (BLK_DEV_LOOP) [N/m/y/?] n Network block device support (BLK_DEV_NBD) [N/m/y/?] n RAM disk support (BLK_DEV_RAM) [N/m/y/?] n Initial RAM filesystem and RAM disk (initramfs/initrd) support (BLK_DEV_INITRD) [N/y/?] n Packet writing on CD/DVD media (CDROM_PKTCDVD) [N/m/y/?] n ATA over Ethernet support (ATA_OVER_ETH) [N/m/y/?] n * * ATA/ATAPI/MFM/RLL support * ATA/ATAPI/MFM/RLL support (IDE) [N/m/y/?] n * * SCSI device support * RAID Transport Class (RAID_ATTRS) [N/m/y/?] n SCSI device support (SCSI) [N/m/y/?] n * * Serial ATA (prod) and Parallel ATA (experimental) drivers * ATA device support (ATA) [N/m/y/?] n * * Multi-device support (RAID and LVM) * Multiple devices driver support (RAID and LVM) (MD) [N/y/?] n * * Fusion MPT device support * * * IEEE 1394 (FireWire) support * * * I2O device support * * * Network device support * Network device support (NETDEVICES) [Y/n/?] y Dummy net driver support (DUMMY) [N/m/y/?] n Bonding driver support (BONDING) [N/m/y/?] n EQL (serial line load balancing) support (EQUALIZER) [N/m/y/?] n Universal TUN/TAP device driver support (TUN) [N/m/y/?] n * * PHY device support * PHY Device support and infrastructure (PHYLIB) [Y/n/m/?] y * * MII PHY device drivers * Drivers for Marvell PHYs (MARVELL_PHY) [N/m/y/?] n Drivers for Davicom PHYs (DAVICOM_PHY) [N/m/y/?] n Drivers for Quality Semiconductor PHYs (QSEMI_PHY) [N/m/y/?] n Drivers for the Intel LXT PHYs (LXT_PHY) [N/m/y/?] n Drivers for the Cicada PHYs (CICADA_PHY) [N/m/y/?] n Drivers for the Vitesse PHYs (VITESSE_PHY) [N/m/y/?] n Drivers for SMSC PHYs (SMSC_PHY) [N/m/y/?] n Drivers for PHY emulation on fixed speed/link (FIXED_PHY) [N/m/y/?] n * * Ethernet (10 or 100Mbit) * Ethernet (10 or 100Mbit) (NET_ETHERNET) [Y/n/?] y Generic Media Independent Interface device support (MII) [Y/?] y SMC 91C9x/91C1xxx support (SMC91X) [Y/n/m/?] y DM9000 support (DM9000) [N/m/y/?] n SMSC LAN911[5678] support (SMC911X) [N/m/y/?] n * * Ethernet (1000 Mbit) * * * Ethernet (10000 Mbit) * * * Token Ring devices * * * Wireless LAN (non-hamradio) * Wireless LAN drivers (non-hamradio) & Wireless Extensions (NET_RADIO) [Y/n/?] y Wireless Extension API over RtNetlink (NET_WIRELESS_RTNETLINK) [N/y/?] n * * Obsolete Wireless cards support (pre-802.11) * STRIP (Metricom starmode radio IP) (STRIP) [N/m/y/?] n IEEE 802.11 for Host AP (Prism2/2.5/3 and WEP/TKIP/CCMP) (HOSTAP) [N/m/y/?] n * * Wan interfaces * Wan interfaces support (WAN) [N/y/?] n PPP (point-to-point protocol) support (PPP) [N/m/y/?] n SLIP (serial line) support (SLIP) [N/m/y/?] n Traffic Shaper (OBSOLETE) (SHAPER) [N/m/y/?] n Network console logging support (EXPERIMENTAL) (NETCONSOLE) [N/m/y/?] n * * ISDN subsystem * ISDN support (ISDN) [N/m/y/?] n * * Input device support * Generic input layer (needed for keyboard, mouse, ...) (INPUT) [Y/?] (NEW) y Support for memoryless force-feedback devices (INPUT_FF_MEMLESS) [M/n/y/?] m * * Userland interfaces * Mouse interface (INPUT_MOUSEDEV) [Y/?] (NEW) y Provide legacy /dev/psaux device (INPUT_MOUSEDEV_PSAUX) [N/y/?] n Horizontal screen resolution (INPUT_MOUSEDEV_SCREEN_X) [1024] 1024 Vertical screen resolution (INPUT_MOUSEDEV_SCREEN_Y) [768] 768 Joystick interface (INPUT_JOYDEV) [N/m/y/?] n Touchscreen interface (INPUT_TSDEV) [N/m/y/?] n Event interface (INPUT_EVDEV) [N/m/y/?] n Event debugging (INPUT_EVBUG) [N/m/y/?] n * * Input Device Drivers * * * Keyboards * Keyboards (INPUT_KEYBOARD) [N/y/?] n * * Mouse * Mouse (INPUT_MOUSE) [N/y/?] n * * Joysticks * Joysticks (INPUT_JOYSTICK) [N/y/?] n * * Touchscreens * Touchscreens (INPUT_TOUCHSCREEN) [N/y/?] n * * Miscellaneous devices * Miscellaneous devices (INPUT_MISC) [Y/n/?] y User level driver support (INPUT_UINPUT) [Y/n/m/?] y * * Hardware I/O ports * Serial I/O support (SERIO) [N/m/y/?] n Gameport support (GAMEPORT) [N/m/y/?] n * * Character devices * Virtual terminal (VT) [Y/?] (NEW) y Support for binding and unbinding console drivers (VT_HW_CONSOLE_BINDING) [N/y/?] n Non-standard serial port support (SERIAL_NONSTANDARD) [N/y/?] n * * Serial drivers * 8250/16550 and compatible serial support (SERIAL_8250) [N/m/y/?] n * * Non-8250 serial port support * PXA serial port support (SERIAL_PXA) [Y/n/?] y Console on PXA serial port (SERIAL_PXA_CONSOLE) [Y/n/?] y MAX3111 serial port support (SERIAL_MAX3111) [Y/n/?] y Console on MAX3111 serial port (SERIAL_MAX3111_CONSOLE) [Y/n/?] y Legacy (BSD) PTY support (LEGACY_PTYS) [N/y/?] n * * IPMI * IPMI top-level message handler (IPMI_HANDLER) [N/m/y/?] n * * Watchdog Cards * Watchdog Timer Support (WATCHDOG) [N/y/?] n Hardware Random Number Generator Core support (HW_RANDOM) [N/y/?] n /dev/nvram support (NVRAM) [N/m/y/?] n Double Talk PC internal speech card support (DTLK) [N/m/y/?] n Siemens R3964 line discipline (R3964) [N/m/y/?] n * * Ftape, the floppy tape device driver * RAW driver (/dev/raw/rawN) (OBSOLETE) (RAW_DRIVER) [N/m/y/?] n * * TPM devices * TPM Hardware Support (TCG_TPM) [N/m/y/?] n * * I2C support * I2C support (I2C) [Y/n/m/?] y I2C device interface (I2C_CHARDEV) [N/m/y/?] n * * I2C Algorithms * I2C bit-banging interfaces (I2C_ALGOBIT) [N/m/y/?] n I2C PCF 8584 interfaces (I2C_ALGOPCF) [N/m/y/?] n I2C PCA 9564 interfaces (I2C_ALGOPCA) [N/m/y/?] n * * I2C Hardware Bus support * Intel PXA2XX I2C adapter (EXPERIMENTAL) (I2C_PXA) [Y/n/m/?] y Intel PXA2XX I2C Slave comms support (I2C_PXA_SLAVE) [N/y/?] n OpenCores I2C Controller (I2C_OCORES) [N/m/y/?] n Parallel port adapter (light) (I2C_PARPORT_LIGHT) [N/m/y/?] n I2C/SMBus Test Stub (I2C_STUB) [N/m/?] n PCA9564 on an ISA bus (I2C_PCA_ISA) [N/m/y/?] n * * Miscellaneous I2C Chip support * Dallas Semiconductor DS1337 and DS1339 Real Time Clock (SENSORS_DS1337) [N/m/y/?] n Maxim/Dallas Semiconductor DS1374 Real Time Clock (SENSORS_DS1374) [N/m/y/?] n EEPROM reader (SENSORS_EEPROM) [N/m/y/?] n Philips PCF8574 and PCF8574A (SENSORS_PCF8574) [N/m/y/?] n Philips PCA9539 16-bit I/O port (SENSORS_PCA9539) [N/m/y/?] n Philips PCF8591 (SENSORS_PCF8591) [N/m/y/?] n Maxim MAX6875 Power supply supervisor (SENSORS_MAX6875) [N/m/y/?] n I2C Core debugging messages (I2C_DEBUG_CORE) [N/y/?] n I2C Algorithm debugging messages (I2C_DEBUG_ALGO) [N/y/?] n I2C Bus debugging messages (I2C_DEBUG_BUS) [N/y/?] n I2C Chip debugging messages (I2C_DEBUG_CHIP) [N/y/?] n * * SPI support * SPI support (SPI) [N/y/?] n * * Dallas's 1-wire bus * Dallas's 1-wire support (W1) [N/m/y/?] n * * Hardware Monitoring support * Hardware Monitoring support (HWMON) [N/m/y/?] n * * Misc devices * TI Flash Media interface support (EXPERIMENTAL) (TIFM_CORE) [N/m/y/?] n * * LED devices * LED Support (NEW_LEDS) [N/y/?] n * * LED drivers * * * LED Triggers * * * Multimedia devices * Video For Linux (VIDEO_DEV) [N/m/y/?] n * * Digital Video Broadcasting Devices * DVB For Linux (DVB) [N/y/?] n * * Graphics support * Enable firmware EDID (FIRMWARE_EDID) [N/y/?] n Support for frame buffer devices (FB) [N/m/y/?] n * * Console display driver support * VGA text console (VGA_CONSOLE) [N/y/?] n * * Backlight & LCD device support * Backlight & LCD device support (BACKLIGHT_LCD_SUPPORT) [N/y/?] n * * Sound * Sound card support (SOUND) [N/m/y/?] n * * USB support * Support for Host-side USB (USB) [N/m/y/?] n * * NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support' * * * USB Gadget Support * Support for USB Gadgets (USB_GADGET) [N/m/y/?] n * * MMC/SD Card support * MMC support (MMC) [N/m/y/?] n * * Real Time Clock * RTC class (RTC_CLASS) [Y/n/m/?] y Set system time from RTC on startup (RTC_HCTOSYS) [Y/n/?] y The RTC to read the time from (RTC_HCTOSYS_DEVICE) [rtc0] rtc0 RTC debug support (RTC_DEBUG) [N/y/?] n * * RTC interfaces * sysfs (RTC_INTF_SYSFS) [Y/n/m/?] y proc (RTC_INTF_PROC) [Y/n/m/?] y dev (RTC_INTF_DEV) [Y/n/m/?] y RTC UIE emulation on dev interface (RTC_INTF_DEV_UIE_EMUL) [N/y/?] n * * RTC drivers * Xicor/Intersil X1205 (RTC_DRV_X1205) [N/m/y/?] n Dallas/Maxim DS1307 and similar I2C RTC chips (RTC_DRV_DS1307) [N/m/y/?] n Dallas DS1553 (RTC_DRV_DS1553) [N/m/y/?] n Intersil 1208 (RTC_DRV_ISL1208) [N/m/y/?] n Dallas/Maxim DS1672 (RTC_DRV_DS1672) [N/m/y/?] n Dallas DS1742 (RTC_DRV_DS1742) [N/m/y/?] n Philips PCF8563/Epson RTC8564 (RTC_DRV_PCF8563) [Y/n/m/?] y Philips PCF8583 (RTC_DRV_PCF8583) [N/m/y/?] n Ricoh RS5C372A/B (RTC_DRV_RS5C372) [N/m/y/?] n ST M48T86/Dallas DS12887 (RTC_DRV_M48T86) [N/m/y/?] n SA11x0/PXA2xx (RTC_DRV_SA1100) [N/m/y/?] n Test driver/device (RTC_DRV_TEST) [N/m/y/?] n EM Microelectronic V3020 (RTC_DRV_V3020) [N/m/y/?] n * * File systems * Second extended fs support (EXT2_FS) [N/m/y/?] n Ext3 journalling file system support (EXT3_FS) [N/m/y/?] n Ext4dev/ext4 extended fs support development (EXPERIMENTAL) (EXT4DEV_FS) [N/m/y/?] n Reiserfs support (REISERFS_FS) [N/m/y/?] n JFS filesystem support (JFS_FS) [N/m/y/?] n XFS filesystem support (XFS_FS) [N/m/y/?] n GFS2 file system support (GFS2_FS) [N/m/y/?] n OCFS2 file system support (OCFS2_FS) [N/m/y/?] n Minix fs support (MINIX_FS) [N/m/y/?] n ROM file system support (ROMFS_FS) [N/m/y/?] n Inotify file change notification support (INOTIFY) [Y/n/?] y Inotify support for userspace (INOTIFY_USER) [Y/n/?] y Quota support (QUOTA) [N/y/?] n Kernel automounter support (AUTOFS_FS) [N/m/y/?] n Kernel automounter version 4 support (also supports v3) (AUTOFS4_FS) [N/m/y/?] n Filesystem in Userspace support (FUSE_FS) [N/m/y/?] n * * CD-ROM/DVD Filesystems * ISO 9660 CDROM file system support (ISO9660_FS) [N/m/y/?] n UDF file system support (UDF_FS) [N/m/y/?] n * * DOS/FAT/NT Filesystems * MSDOS fs support (MSDOS_FS) [Y/n/m/?] y VFAT (Windows-95) fs support (VFAT_FS) [N/m/y/?] n Default codepage for FAT (FAT_DEFAULT_CODEPAGE) [437] 437 NTFS file system support (NTFS_FS) [N/m/y/?] n * * Pseudo filesystems * Virtual memory file system support (former shm fs) (TMPFS) [Y/n/?] y Tmpfs POSIX Access Control Lists (TMPFS_POSIX_ACL) [Y/n/?] y Userspace-driven configuration filesystem (EXPERIMENTAL) (CONFIGFS_FS) [N/m/y/?] n * * Miscellaneous filesystems * ADFS file system support (EXPERIMENTAL) (ADFS_FS) [N/m/y/?] n Amiga FFS file system support (EXPERIMENTAL) (AFFS_FS) [N/m/y/?] n Apple Macintosh file system support (EXPERIMENTAL) (HFS_FS) [N/m/y/?] n Apple Extended HFS file system support (HFSPLUS_FS) [N/m/y/?] n BeOS file system (BeFS) support (read only) (EXPERIMENTAL) (BEFS_FS) [N/m/y/?] n BFS file system support (EXPERIMENTAL) (BFS_FS) [N/m/y/?] n EFS file system support (read only) (EXPERIMENTAL) (EFS_FS) [N/m/y/?] n Journalling Flash File System (JFFS) support (JFFS_FS) [N/m/y/?] n Journalling Flash File System v2 (JFFS2) support (JFFS2_FS) [Y/n/m/?] y JFFS2 debugging verbosity (0 = quiet, 2 = noisy) (JFFS2_FS_DEBUG) [0] 0 JFFS2 write-buffering support (JFFS2_FS_WRITEBUFFER) [Y/n/?] y JFFS2 summary support (EXPERIMENTAL) (JFFS2_SUMMARY) [N/y/?] n JFFS2 XATTR support (EXPERIMENTAL) (JFFS2_FS_XATTR) [N/y/?] n Advanced compression options for JFFS2 (JFFS2_COMPRESSION_OPTIONS) [N/y/?] n Compressed ROM file system support (cramfs) (CRAMFS) [N/m/y/?] n FreeVxFS file system support (VERITAS VxFS(TM) compatible) (VXFS_FS) [N/m/y/?] n OS/2 HPFS file system support (HPFS_FS) [N/m/y/?] n QNX4 file system support (read only) (QNX4FS_FS) [N/m/y/?] n System V/Xenix/V7/Coherent file system support (SYSV_FS) [N/m/y/?] n UFS file system support (read only) (UFS_FS) [N/m/y/?] n * * Network File Systems * NFS file system support (NFS_FS) [Y/n/m/?] y Provide NFSv3 client support (NFS_V3) [N/y/?] n Provide NFSv4 client support (EXPERIMENTAL) (NFS_V4) [N/y/?] n Allow direct I/O on NFS files (NFS_DIRECTIO) [N/y/?] n NFS server support (NFSD) [N/m/y/?] n Root file system on NFS (ROOT_NFS) [Y/n/?] y Secure RPC: Kerberos V mechanism (EXPERIMENTAL) (RPCSEC_GSS_KRB5) [N/m/y/?] n Secure RPC: SPKM3 mechanism (EXPERIMENTAL) (RPCSEC_GSS_SPKM3) [N/m/y/?] n SMB file system support (to mount Windows shares etc.) (SMB_FS) [N/m/y/?] n CIFS support (advanced network filesystem for Samba, Window and other CIFS compliant servers) (CIFS) [N/m/y/?] n NCP file system support (to mount NetWare volumes) (NCP_FS) [N/m/y/?] n Coda file system support (advanced network fs) (CODA_FS) [N/m/y/?] n Andrew File System support (AFS) (EXPERIMENTAL) (AFS_FS) [N/m/y/?] n Plan 9 Resource Sharing Support (9P2000) (Experimental) (9P_FS) [N/m/y/?] n * * Partition Types * Advanced partition selection (PARTITION_ADVANCED) [N/y/?] n * * Native Language Support * Base native language support (NLS) [Y/?] y Default NLS Option (NLS_DEFAULT) [iso8859-1] iso8859-1 Codepage 437 (United States, Canada) (NLS_CODEPAGE_437) [N/m/y/?] n Codepage 737 (Greek) (NLS_CODEPAGE_737) [N/m/y/?] n Codepage 775 (Baltic Rim) (NLS_CODEPAGE_775) [N/m/y/?] n Codepage 850 (Europe) (NLS_CODEPAGE_850) [N/m/y/?] n Codepage 852 (Central/Eastern Europe) (NLS_CODEPAGE_852) [N/m/y/?] n Codepage 855 (Cyrillic) (NLS_CODEPAGE_855) [N/m/y/?] n Codepage 857 (Turkish) (NLS_CODEPAGE_857) [N/m/y/?] n Codepage 860 (Portuguese) (NLS_CODEPAGE_860) [N/m/y/?] n Codepage 861 (Icelandic) (NLS_CODEPAGE_861) [N/m/y/?] n Codepage 862 (Hebrew) (NLS_CODEPAGE_862) [N/m/y/?] n Codepage 863 (Canadian French) (NLS_CODEPAGE_863) [N/m/y/?] n Codepage 864 (Arabic) (NLS_CODEPAGE_864) [N/m/y/?] n Codepage 865 (Norwegian, Danish) (NLS_CODEPAGE_865) [N/m/y/?] n Codepage 866 (Cyrillic/Russian) (NLS_CODEPAGE_866) [N/m/y/?] n Codepage 869 (Greek) (NLS_CODEPAGE_869) [N/m/y/?] n Simplified Chinese charset (CP936, GB2312) (NLS_CODEPAGE_936) [N/m/y/?] n Traditional Chinese charset (Big5) (NLS_CODEPAGE_950) [N/m/y/?] n Japanese charsets (Shift-JIS, EUC-JP) (NLS_CODEPAGE_932) [N/m/y/?] n Korean charset (CP949, EUC-KR) (NLS_CODEPAGE_949) [N/m/y/?] n Thai charset (CP874, TIS-620) (NLS_CODEPAGE_874) [N/m/y/?] n Hebrew charsets (ISO-8859-8, CP1255) (NLS_ISO8859_8) [N/m/y/?] n Windows CP1250 (Slavic/Central European Languages) (NLS_CODEPAGE_1250) [N/m/y/?] n Windows CP1251 (Bulgarian, Belarusian) (NLS_CODEPAGE_1251) [N/m/y/?] n ASCII (United States) (NLS_ASCII) [N/m/y/?] n NLS ISO 8859-1 (Latin 1; Western European Languages) (NLS_ISO8859_1) [Y/n/m/?] y NLS ISO 8859-2 (Latin 2; Slavic/Central European Languages) (NLS_ISO8859_2) [N/m/y/?] n NLS ISO 8859-3 (Latin 3; Esperanto, Galician, Maltese, Turkish) (NLS_ISO8859_3) [N/m/y/?] n NLS ISO 8859-4 (Latin 4; old Baltic charset) (NLS_ISO8859_4) [N/m/y/?] n NLS ISO 8859-5 (Cyrillic) (NLS_ISO8859_5) [N/m/y/?] n NLS ISO 8859-6 (Arabic) (NLS_ISO8859_6) [N/m/y/?] n NLS ISO 8859-7 (Modern Greek) (NLS_ISO8859_7) [N/m/y/?] n NLS ISO 8859-9 (Latin 5; Turkish) (NLS_ISO8859_9) [N/m/y/?] n NLS ISO 8859-13 (Latin 7; Baltic) (NLS_ISO8859_13) [N/m/y/?] n NLS ISO 8859-14 (Latin 8; Celtic) (NLS_ISO8859_14) [N/m/y/?] n NLS ISO 8859-15 (Latin 9; Western European Languages with Euro) (NLS_ISO8859_15) [N/m/y/?] n NLS KOI8-R (Russian) (NLS_KOI8_R) [N/m/y/?] n NLS KOI8-U/RU (Ukrainian, Belarusian) (NLS_KOI8_U) [N/m/y/?] n NLS UTF-8 (NLS_UTF8) [N/m/y/?] n * * Profiling support * Profiling support (EXPERIMENTAL) (PROFILING) [N/y/?] n * * Kernel hacking * Show timing information on printks (PRINTK_TIME) [N/y/?] n Enable __must_check logic (ENABLE_MUST_CHECK) [Y/n/?] y Magic SysRq key (MAGIC_SYSRQ) [Y/n/?] y Enable unused/obsolete exported symbols (UNUSED_SYMBOLS) [Y/n/?] y Kernel debugging (DEBUG_KERNEL) [N/y/?] n Debug Filesystem (DEBUG_FS) [N/y/?] n Run 'make headers_check' when building vmlinux (HEADERS_CHECK) [N/y/?] n Verbose user fault messages (DEBUG_USER) [N/y/?] n * * Security options * Enable access key retention support (KEYS) [N/y/?] n Enable different security models (SECURITY) [N/y/?] n * * Cryptographic options * Cryptographic API (CRYPTO) [N/y/?] n * * Library routines * CRC-CCITT functions (CRC_CCITT) [N/m/y/?] n CRC16 functions (CRC16) [N/m/y/?] n CRC32 functions (CRC32) [Y/?] y CRC32c (Castagnoli, et al) Cyclic Redundancy-Check (LIBCRC32C) [N/m/y/?] n # # configuration written to .config #
4.然后再去menuconfig看看当前的配置:
【记录】make menuconfig查看和确认已有的针对arm的xscale的pxa的内核linux-2.6.19.1的配置
看完配置后的log:
crifan@ubuntu:linux-2.6.19.1$ make menuconfig HOSTCC scripts/kconfig/lxdialog/checklist.o HOSTCC scripts/kconfig/lxdialog/inputbox.o HOSTCC scripts/kconfig/lxdialog/menubox.o HOSTCC scripts/kconfig/lxdialog/textbox.o scripts/kconfig/lxdialog/textbox.c: In function ‘print_line’: scripts/kconfig/lxdialog/textbox.c:323:9: warning: variable ‘x’ set but not used [-Wunused-but-set-variable] scripts/kconfig/lxdialog/textbox.c:323:6: warning: variable ‘y’ set but not used [-Wunused-but-set-variable] # HOSTCC scripts/kconfig/lxdialog/util.o # configuration written to .config # *** End of Linux kernel configuration. *** Execute 'make' to build the kernel or try 'make help'.
5.然后就可以去make编译了:
【记录】Ubuntu下交叉编译已经配置好的linux-2.6.19.1内核
很顺利,直接make得到zImage。
【总结】
此处,相对来说,很顺利,直接用之前已有的配置,直接用我新的arm-xscale-linux-gnueabi的交叉编译器去编译,在配置中未启用EABI的kernel,都可以正常编译,而得到zImage的。
转载请注明:在路上 » 【记录】Ubuntu下用arm-xscale-linux-gnueabi交叉编译linux-2.6.19.1内核