uClinux Kernel Rebuild Success
"Bruce D. Lightner" <lightner-2huV/[email protected]>
| Newsgroups | gmane.linux.uclinux.actiontec |
|---|---|
| Message-ID | <[email protected]> |
Dear Actiontec Dual PC Modem Hackers: Last night I rebuilt the Actiontec kernel from their source release and loaded it into my Actiontec Dual PC Modem, watching what was happening on the console with my "home grown" daughterboard. I didn't work, but that was because I was using a mismatched ROM file system. I've since fixed that and here's the bootup banner from a working setup with my "custom" kernel... Linux version 2.4.6 (lightner-bi+AKbBUZKY6gyzm1THtWbp2dZbC/[email protected]) (gcc version 2.95.3 20010315 (release)) #4 Sun Mar 14 18:49:29 PST 2004 Processor: ARM/CNXT Arm940sid(wb) revision 2 Architecture: CNXT CX821XX The kernel was built on my WinXP PC under VMware running RedHat Linux 7.3. It is as close to "stock" as I can make it. I've included it (linux/.config) at the end of this email. To make things work I used the ROM file system supplied by Actiontec (i.e., "romdisk.img") supplied on their "recover-2.0.0.0.19n-r7000m.zip" file. This was the key. It is clear that the ROM file system's "user" programs supplied on the Actiontec GPL source release need to be re-built before regenerating "romdisk.img". However, there is missing "proprietary" source files, so even if you wanted to do this you can't. BTW: I was able to rebuild everything else except the "proprietary stuff" a few weeks ago. I started out wanting "vi" (a.k.a. "levee") which was missing from my firmware release. I quickly discovered that it needed to be re-compiled such that it matches the version of the uClinux kernel installed in my Actiontec box. Note that Actiontec's Windows TFTP recovery program "dpcm_recover.exe" does not seem to work properly under Windows XP, which tends to quickly shut down any Ethernet adapters which become "unplugged", or in this case "unpowered" by the Actiontec box during the TFTP boot process (i.e., power-up with "reset" button down). Because of this, the Actiontec box cannot see the Windows TFTP server that is no doubt part of the program "dpcm_recover.exe". The files Actiontec supplied with the "recovery" ZIP file *did* TFTP just fine under RedHat Linux 8.0. That's how I "mixed" my new uClinux kernel with the "stock" ROM file system. To make this work you need to configure "dhcpd" to do BOOTP and enable "tftpd" (don't forget to modify /etc/xinetd.d/tftp and /etc/hosts.allow). Obviously, one can add new executable programs to the "stock" ROM file system, but certain "proprietary" programs must remain the same. I have not looked carefully to see if Actiontec has in fact supplied the needed *object modules* (i.e., ".o" files) for the "proprietary" stuff. If they haven't then it seems to me that we are stuck with the uClinux release that Actiontec supplied the source for, namely Linux version 2.4.6. Any commants about this? I feel like we're "over the hump" now that we can rebuild the uClinux kernel and the application programs. Time for some real "hacking"... Best regards, Bruce P.S.- I sure wish I had a WinXP USB bootstrap recovery program! -- Bruce D. Lightner Lightner Engineering La Jolla, California Voice: +1-858-551-4011 FAX: +1-858-551-0777 Email: lightner-2huV/[email protected] URL: http://www.lightner.net/lightner/bruce/ ----------------------------------------------------------------------------- # # Automatically generated make config: don't edit # CONFIG_ARM=y # CONFIG_SBUS is not set CONFIG_UID16=y CONFIG_RWSEM_GENERIC_SPINLOCK=y CONFIG_UCLINUX=y MAGIC_ROM_PTR=y # # Code maturity level options # CONFIG_EXPERIMENTAL=y # CONFIG_OBSOLETE is not set # # Loadable module support # CONFIG_MODULES=y # CONFIG_MODVERSIONS is not set # CONFIG_KMOD is not set # # System Type # # CONFIG_ARCH_ATMEL is not set CONFIG_ARCH_CNXT=y # CONFIG_ARCH_DSC21 is not set # CONFIG_ARCH_S3C4 is not set # CONFIG_ARCH_P52 is not set # CONFIG_ARCH_SPIPE is not set CONFIG_ARCH_CX821XX=y # CONFIG_ARCH_CX861XX is not set # CONFIG_BD_HASBANI is not set # CONFIG_BD_GOLDENGATE is not set # CONFIG_BD_MACKINAC is not set # CONFIG_BD_RUSHMORE is not set CONFIG_BD_OAKLAND=y # CONFIG_BD_LIONSGATE is not set # CONFIG_BD_OLDFAITHFUL is not set CONFIG_CHIP_CX82100=y # CONFIG_CHIP_CX86100 is not set # CONFIG_CHIP_CX82110 is not set CONFIG_CPU_32=y # CONFIG_CPU_26 is not set CONFIG_CPU_ARM940T=y CONFIG_NO_PGT_CACHE=y CONFIG_SET_MEM_PARAM=y DRAM_BASE=00800000 DRAM_SIZE=00780000 FLASH_MEM_BASE=00400000 FLASH_SIZE=00200000 CONFIG_CPU_ARM940_CPU_IDLE=y CONFIG_CPU_ARM940_I_CACHE_ON=y CONFIG_CPU_ARM940_D_CACHE_ON=y CONFIG_CPU_ARM940_WRITETHROUGH=y CONFIG_RAMKERNEL=y # CONFIG_ROMKERNEL is not set # CONFIG_UCBOOTSTRAP is not set # # General setup # # CONFIG_HOTPLUG is not set # CONFIG_PCMCIA is not set CONFIG_NET=y # CONFIG_SYSVIPC is not set # CONFIG_REDUCED_MEMORY is not set # CONFIG_BSD_PROCESS_ACCT is not set CONFIG_SYSCTL=y # CONFIG_NWFPE is not set CONFIG_KCORE_ELF=y # CONFIG_KCORE_AOUT is not set CONFIG_BINFMT_FLAT=y CONFIG_BINFMT_ZFLAT=y CONFIG_KERNEL_ELF=y # CONFIG_PM is not set # CONFIG_ARTHUR is not set # CONFIG_ALIGNMENT_TRAP is not set # # Networking options # CONFIG_PACKET=y # CONFIG_PACKET_MMAP is not set CONFIG_NETLINK=y CONFIG_RTNETLINK=y # CONFIG_NETLINK_DEV is not set CONFIG_NETFILTER=y # CONFIG_NETFILTER_DEBUG is not set # CONFIG_FILTER is not set CONFIG_UNIX=y CONFIG_INET=y # CONFIG_IP_MULTICAST is not set # CONFIG_IP_ADVANCED_ROUTER is not set # CONFIG_IP_PNP is not set # CONFIG_NET_IPIP is not set # CONFIG_NET_IPGRE is not set # CONFIG_ARPD is not set # CONFIG_INET_ECN is not set # CONFIG_SYN_COOKIES is not set # # IP: Netfilter Configuration # CONFIG_IP_NF_CONNTRACK=y CONFIG_IP_NF_FTP=y # CONFIG_IP_NF_QUEUE is not set CONFIG_IP_NF_IPTABLES=y # CONFIG_IP_NF_MATCH_LIMIT is not set # CONFIG_IP_NF_MATCH_MAC is not set # CONFIG_IP_NF_MATCH_MARK is not set CONFIG_IP_NF_MATCH_MULTIPORT=y # CONFIG_IP_NF_MATCH_TOS is not set # CONFIG_IP_NF_MATCH_TCPMSS is not set # CONFIG_IP_NF_MATCH_STATE is not set # CONFIG_IP_NF_MATCH_UNCLEAN is not set # CONFIG_IP_NF_MATCH_OWNER is not set CONFIG_IP_NF_FILTER=y # CONFIG_IP_NF_TARGET_REJECT is not set # CONFIG_IP_NF_TARGET_MIRROR is not set CONFIG_IP_NF_NAT=y CONFIG_IP_NF_NAT_NEEDED=y CONFIG_IP_NF_TARGET_MASQUERADE=y # CONFIG_IP_NF_TARGET_REDIRECT is not set CONFIG_IP_NF_NAT_FTP=y # CONFIG_IP_NF_MANGLE is not set # CONFIG_IP_NF_TARGET_LOG is not set # CONFIG_IP_NF_TARGET_TCPMSS is not set # CONFIG_IPV6 is not set # CONFIG_KHTTPD is not set # CONFIG_ATM is not set # # # # CONFIG_IPX is not set # CONFIG_ATALK is not set # CONFIG_DECNET is not set CONFIG_BRIDGE=y # CONFIG_X25 is not set # CONFIG_LAPB is not set # CONFIG_LLC is not set # CONFIG_NET_DIVERT is not set # CONFIG_ECONET is not set # CONFIG_WAN_ROUTER is not set # CONFIG_NET_FASTROUTE is not set # CONFIG_NET_HW_FLOWCONTROL is not set # # QoS and/or fair queueing # # CONFIG_NET_SCHED is not set # # Network device support # CONFIG_NETDEVICES=y # # ARCnet devices # # CONFIG_ARCNET is not set # CONFIG_DUMMY is not set # CONFIG_BONDING is not set # CONFIG_EQUALIZER is not set # CONFIG_TUN is not set # CONFIG_ETHERTAP is not set # # Ethernet (10 or 100Mbit) # CONFIG_NET_ETHERNET=y # CONFIG_ARM_AM79C961A is not set # CONFIG_SAMSUNG_S3C is not set # CONFIG_SUNLANCE is not set # CONFIG_SUNBMAC is not set # CONFIG_SUNQE is not set # CONFIG_SUNLANCE is not set # CONFIG_SUNGEM is not set # CONFIG_NET_VENDOR_3COM is not set # CONFIG_LANCE is not set # CONFIG_NET_VENDOR_SMC is not set # CONFIG_NET_VENDOR_RACAL is not set # CONFIG_NET_ISA is not set # CONFIG_NET_PCI is not set # CONFIG_NET_POCKET is not set CONFIG_CNXT_EMAC=y CONFIG_CNXT_EMAC_82=y # CONFIG_CNXT_EMAC_86 is not set # CONFIG_NUM_ETHERNET_IS_1 is not set CONFIG_NUM_ETHERNET_IS_2=y # CONFIG_NUM_ETHERNET_IS_3 is not set # CONFIG_NUM_ETHERNET_IS_4 is not set # CONFIG_FEC is not set # CONFIG_CS89x0 is not set # CONFIG_UCCS8900 is not set # # Ethernet (1000 Mbit) # # CONFIG_ACENIC is not set # CONFIG_ACENIC_OMIT_TIGON_I is not set # CONFIG_MYRI_SBUS is not set # CONFIG_HAMACHI is not set # CONFIG_YELLOWFIN is not set # CONFIG_SK98LIN is not set # CONFIG_NET_ADSL is not set # CONFIG_FDDI is not set # CONFIG_HIPPI is not set # CONFIG_PLIP is not set # CONFIG_PPP is not set # CONFIG_SLIP is not set # # Wireless LAN (non-hamradio) # # CONFIG_NET_RADIO is not set # # Token Ring devices # # CONFIG_TR is not set # CONFIG_NET_FC is not set # CONFIG_RCPCI is not set # CONFIG_SHAPER is not set # # Wan interfaces # # CONFIG_WAN is not set # # Amateur Radio support # # CONFIG_HAMRADIO is not set # # IrDA (infrared) support # # CONFIG_IRDA is not set # # ATA/IDE/MFM/RLL support # # CONFIG_IDE is not set # CONFIG_BLK_DEV_IDE_MODES is not set # CONFIG_BLK_DEV_HD is not set # # SCSI support # # CONFIG_SCSI is not set # # ISDN subsystem # # CONFIG_ISDN is not set # # VOIP support # # CONFIG_CNXT_VOIP is not set # # Parallel port support # # CONFIG_PARPORT is not set # # Memory Technology Devices (MTD) # # CONFIG_MTD is not set # # Plug and Play configuration # # CONFIG_PNP is not set # CONFIG_ISAPNP is not set # # Block devices # # CONFIG_BLK_DEV_FD is not set # CONFIG_BLK_DEV_XD is not set # CONFIG_PARIDE is not set # CONFIG_BLK_CPQ_DA is not set # CONFIG_BLK_CPQ_CISS_DA is not set # CONFIG_BLK_DEV_DAC960 is not set # CONFIG_BLK_DEV_LOOP is not set # CONFIG_BLK_DEV_NBD is not set CONFIG_BLK_DEV_RAM=y CONFIG_BLK_DEV_RAM_SIZE=4096 # CONFIG_BLK_DEV_INITRD is not set CONFIG_BLK_DEV_BLKMEM=y # CONFIG_BLK_DEV_BLKMEM_RAM is not set CONFIG_BLK_DEV_BLKMEM_ROM=y CONFIG_BLK_DEV_BLKMEM_ROM_STATIC=y CONFIG_BLK_DEV_BLKMEM_OFFSET=004B0000 # # File systems # # CONFIG_QUOTA is not set # CONFIG_AUTOFS_FS is not set # CONFIG_AUTOFS4_FS is not set # CONFIG_REISERFS_FS is not set # CONFIG_REISERFS_CHECK is not set # CONFIG_ADFS_FS is not set # CONFIG_ADFS_FS_RW is not set # CONFIG_AFFS_FS is not set # CONFIG_HFS_FS is not set # CONFIG_BFS_FS is not set # CONFIG_FAT_FS is not set # CONFIG_MSDOS_FS is not set # CONFIG_UMSDOS_FS is not set # CONFIG_VFAT_FS is not set # CONFIG_EFS_FS is not set # CONFIG_JFFS_FS is not set # CONFIG_CRAMFS is not set # CONFIG_TMPFS is not set CONFIG_RAMFS=y # CONFIG_ISO9660_FS is not set # CONFIG_JOLIET is not set # CONFIG_MINIX_FS is not set # CONFIG_VXFS_FS is not set # CONFIG_NTFS_FS is not set # CONFIG_NTFS_RW is not set # CONFIG_HPFS_FS is not set CONFIG_PROC_FS=y # CONFIG_DEVFS_FS is not set # CONFIG_DEVFS_MOUNT is not set # CONFIG_DEVFS_DEBUG is not set # CONFIG_DEVPTS_FS is not set # CONFIG_QNX4FS_FS is not set # CONFIG_QNX4FS_RW is not set CONFIG_ROMFS_FS=y CONFIG_EXT2_FS=y # CONFIG_SYSV_FS is not set # CONFIG_UDF_FS is not set # CONFIG_UDF_RW is not set # CONFIG_UFS_FS is not set # CONFIG_UFS_FS_WRITE is not set # # Network File Systems # # CONFIG_CODA_FS is not set # CONFIG_NFS_FS is not set # CONFIG_NFS_V3 is not set # CONFIG_ROOT_NFS is not set # CONFIG_NFSD is not set # CONFIG_NFSD_V3 is not set # CONFIG_SUNRPC is not set # CONFIG_LOCKD is not set # CONFIG_SMB_FS is not set # CONFIG_NCP_FS is not set # CONFIG_NCPFS_PACKET_SIGNING is not set # CONFIG_NCPFS_IOCTL_LOCKING is not set # CONFIG_NCPFS_STRONG is not set # CONFIG_NCPFS_NFS_NS is not set # CONFIG_NCPFS_OS2_NS is not set # CONFIG_NCPFS_SMALLDOS is not set # CONFIG_NCPFS_NLS is not set # CONFIG_NCPFS_EXTRAS is not set # # Partition Types # # CONFIG_PARTITION_ADVANCED is not set CONFIG_MSDOS_PARTITION=y # CONFIG_SMB_NLS is not set # CONFIG_NLS is not set # # Character devices # # CONFIG_LEDMAN is not set # CONFIG_VT is not set # CONFIG_SERIAL is not set # CONFIG_SERIAL_EXTENDED is not set # CONFIG_SERIAL_NONSTANDARD is not set CONFIG_SERIAL_CNXT=y # CONFIG_SERIAL_SPIPE is not set # CONFIG_UNIX98_PTYS is not set # # I2C support # # CONFIG_I2C is not set # # Mice # # CONFIG_BUSMOUSE is not set # CONFIG_MOUSE is not set # # Joysticks # # CONFIG_JOYSTICK is not set # # Input core support is needed for joysticks # # CONFIG_QIC02_TAPE is not set # # Watchdog Cards # # CONFIG_WATCHDOG is not set # CONFIG_INTEL_RNG is not set # CONFIG_NVRAM is not set # CONFIG_RTC is not set # CONFIG_DTLK is not set # CONFIG_R3964 is not set # CONFIG_APPLICOM is not set # # Ftape, the floppy tape device driver # # CONFIG_FTAPE is not set # CONFIG_AGP is not set # CONFIG_DRM is not set # # USB support # # CONFIG_USB is not set # # I2O device support # # CONFIG_I2O is not set # CONFIG_I2O_BLOCK is not set # CONFIG_I2O_LAN is not set # CONFIG_I2O_SCSI is not set # CONFIG_I2O_PROC is not set # # Telephony Support # # CONFIG_PHONE is not set # CONFIG_PHONE_IXJ is not set # CONFIG_PHONE_CNXT is not set # # Kernel hacking # # CONFIG_REVISIT is not set # CONFIG_FRAME_POINTER is not set CONFIG_NO_FRAME_POINTER=y # CONFIG_DEBUG_ERRORS is not set # CONFIG_DEBUG_USER is not set # CONFIG_DEBUG_INFO is not set # CONFIG_MAGIC_SYSRQ is not set # CONFIG_DEBUG_LL is not set __ ActionHack Mailing List - ActionHack-W7/[email protected] http://www.express.org/mailman/listinfo/actionhack http://www.embeddedlinuxinterfacing.com/wiki.php/ActiontecDualModem