Successful boot of recompiled kernel.
Patrick McNamara <wpmcnamara-/[email protected]>
| Newsgroups | gmane.linux.uclinux.actiontec |
|---|---|
| Message-ID | <[email protected]> |
The missing piece has been floating around on the list archives since Greg posted in on 9/11/2003. Last night I tried to boot a kernel compiled from the Actiontec source release. The kernel booted, but panicked because it couldn't mount the root file system (/dev/rom0). I noticed that in the boot logs that the initialization of the blockmem driver outputs the address and size of the file system image it is trying to use. I was running with the assumption that that address was supposed to be 0x0580000 since that was what was in the config files for the kernel. That address had been questionable in my mind since it didn't allow enough space for the stock file system image. Seeing the initialization of the blkmem driver return a file system size of -1 kind of clued me in. I went back and checked Greg's posting of the boot message he captured, and double checked it with my boot messages with a stock kernel. Here is are the key lines: Blkmem copyright 1998 Kenneth Albanowski Blkmem 1 disk images: 0: 4B0000-535BFF [VIRTUAL 4B0000-535BFF] (RO) With that piece of info in hand, I went and recompiled the kernel specifying 0x04B0000 and the ROM image address. This morning I re flashed it with the new kernel and 'lo and behold, it booted. Below is the contents of /proc/version. Following that is the console output from boot up. The wiki has been updated with the proper addresses. For those that are interested, here is the config file I used and the kernel image. Please note that the kernel has some issues. Mainly I didn't compile in ext2 support so it can't mount the RAM file systems. http://www.supersecret.org/actiontec/config http://www.supersecret.org/actiontec/config.md5 http://www.supersecret.org/actiontec/linuz http://www.supersecret.org/actiontec/linuz.md5 --------------------------------------------------- uClinux login: root Password: # cat /proc/version Linux version 2.4.6 (mcnamara-w7A1mRLb/[email protected]) (gcc version 2.95.3 20010315 (release)(ColdFire patches - 20010318 from http://fiddes.net/coldfire/)(uClinux XIP and shared lib patches from http://www.snapgear.com/)) #2 Sun Mar 7 11:53:38 CST 2004 # -------------------------------------------------- Conexant Linux loader v0.9 .................................ESC Key pressed, begin flash bootup. Uncompressing Linux...done. Now booting the kernel Linux version 2.4.6 (mcnamara-w7A1mRLb/[email protected]) (gcc version 2.95.3 200103154 Processor: ARM/CNXT Arm940sid(wb) revision 2 Architecture: CNXT CX821XX On node 0 totalpages: 1920 zone(0): 0 pages. zone(1): 1920 pages. zone(2): 0 pages. Kernel command line: root=/dev/rom0 Calibrating delay loop... 83.76 BogoMIPS Memory: 7680K = 0K total Memory: 5492KB available (1007K code, 993K data, 44K init) kmem_create: Forcing size word alignment - names_cache Dentry-cache hash table entries: 1024 (order: 1, 8192 bytes) Inode-cache hash table entries: 512 (order: 0, 4096 bytes) Mount-cache hash table entries: 512 (order: 0, 4096 bytes) Buffer-cache hash table entries: 1024 (order: 0, 4096 bytes) Page-cache hash table entries: 2048 (order: 1, 8192 bytes) POSIX conformance testing by UNIFIX Linux NET4.0 for Linux 2.4 Based upon Swansea University Computer Society NET3.039 Initializing RT netlink socket Conexant General Purpose timers initialized Conexant hardware timer 2 enabled Conexant Flash Driver version: 001 Starting kswapd v1.8 ttyS0 at 0x002c0000 (irq = 24) is a 16c550 UART info = 009ed670 block: queued sectors max/low 3554kB/1184kB, 64 slots per queue RAMDISK driver initialized: 16 RAM disks of 4096K size 1024 blocksize PHY #2 = 15f441 emac_probe: eth0 found. Tx DMA Ring f824a0 Rx DMA Ring fa0b10 EMAC Network Driver Cnxt 2003/07/16 irq=19 00:30:cd:00:02:3d: PHY #2 = 15f441 emac_probe: eth1 found. Tx DMA Ring fc00a0 Rx DMA Ring fde710 EMAC Network Driver Cnxt 2003/07/16 irq=20 00:30:cd:00:02:2e: DEBUG: romdisk length at 0x004b0008: raw: 0x405b0800, ntohl() = 0x00085b40Blkmem coe Blkmem copyright 1998 Kenneth Albanowski Blkmem 1 disk images: 0: 4B0000-535BFF [VIRTUAL 4B0000-535BFF] (RO) NET4: Linux TCP/IP 1.0 for NET4.0 IP Protocols: ICMP, UDP, TCP IP: routing cache hash table of 512 buckets, 4Kbytes TCP: Hash tables configured (established 512 bind 512) IPv4 over IPv4 tunneling driver ip_conntrack (60 buckets, 480 max) ip_tables: (c)2000 Netfilter core team NET4: Unix domain sockets 1.0/SMP for Linux NET4.0. NET4: Ethernet Bridge 008 for NET4.0 VFS: Mounted root (romfs filesystem) readonly. Expanding the ramdisk ... Mounting ext2 file system ... mount: /dev/ram0 has wrong device number or fs type ext2 not supported Mounting proc file system ... Building the read write directories mkdir: Cannot create directory `/var/tmp': Read-only file system mkdir: Cannot create directory `/var/tftpboot': Read-only file system eth1: (CX821xx EMAC) started! eth0: (CX821xx EMAC) started! ERROR: can not open "/dev/ttyS2" can't find service /sbin/pppd: not found NFS: NFSv3 not supported. nfs warning: mount version older than kernel Illegal instruction Illegal instruction Illegal instruction Jan 1 00:00:08 1970 login[36]: root login on `ttyp0' __ ActionHack Mailing List - ActionHack-W7/[email protected] http://www.express.org/mailman/listinfo/actionhack http://www.embeddedlinuxinterfacing.com/wiki.php/ActiontecDualModem