Linux on Auerswald Commander Basic 2 » History » Revision 7
Revision 6 (laforge, 01/08/2020 12:24 PM) → Revision 7/10 (laforge, 01/08/2020 12:30 PM)
{{>toc}} h1. Linux on Auerswald COMmander Basic2 This page is an attempt to document bits and pieces about the embedded Linux OS that runs on the [[Auerswald COMmander Basic2]] PBX. More speificially, it's an ARM/Linux based system running on a "Digi International NS9360":http://ftp1.digi.com/support/documentation/91001326_D.pdf ARM926 SoC built from PTXdist-0.7.5 h2. Source Code * the PTXdist 0.7.5 source code can be found at https://public.pengutronix.de/software/ptxdist/v0.7/ * Auerswald has released _GPL tarballs_ at http://data-1.auerswald.de/license/gpl/COMfortel_VoIP_250_DECT1040_COMfortel2500/2015/GPL_COMfortel_VoIP_250_DECT1040_VoIP_2500_150415.iso h2. Serial Console The ARM SoC has a serial console (ttyS2) at 3.3V. It is running at 19200 bps and is exposed on test pads near the NS9630 on the PBX mainboard. h3. Pinout FIXME h2. u-boot h3. u-boot bootlog <pre> YABOL 1.3 (11:21:24Jan 17 2007) hardware version: 01 checking for image mode...on... no loading binary from NAND binary loaded, starting... U-Boot 1.1.2 (Aug 7 2006 - 08:23:30) FS.1-gds3.1 U-Boot code: 00F80000 -> 00F9D148 BSS: -> 00FA83DC IRQ Stack: 00f5fb7c FIQ Stack: 00f5eb7c SDRAM-Size: 2000000 hex RAM Configuration: Bank #0: 00000000 32 MB NAND: 64 MB Init NAND-FLASH .... Using default environment In: serial Out: serial Err: serial Board revision 1 found serial: 2448900276AU0123103800820H ethaddr: 00:09:52:00:d1:7f ccode: 0 reserve: Checking for factory reset... no Looking for boot partition... reading marker block: ******** Checking Partition 1... OK Hit any key to stop autoboot: 0 Partition changed to 1 ### JFFS2 loading 'boot/bas2boot.1.img' to 0x10000 Scanning JFFS2 FS: ......... done. ### JFFS2 load complete: 456 bytes loaded to 0x10000 ## Executing script at 00010000 ### JFFS2 loading 'boot/fpga_r1.bin' to 0x10000 ### JFFS2 load complete: 75895 bytes loaded to 0x10000 FPGA Version @0x40088000: 11 . ### JFFS2 loading 'boot/uImage' to 0x10000 ### JFFS2 load complete: 952212 bytes loaded to 0x10000 ## Booting image at 00010000 ... Image Name: Linux-2.6.11-fs.1-gds9.4 Image Type: ARM Linux Kernel Image (uncompressed) Data Size: 952148 Bytes = 929.8 kB Load Address: 00008000 Entry Point: 00008000 Verifying Checksum ... OK OK </pre> h3. u-boot environment <pre> bootargs=console=ttyS1 ip=192.168.0.240::192.168.0.10:255.255.255.0 root=mtdblock/$(bootpart) ro rootfstype=jffs2 bootcmd=chpart $(bootpart);fsload boot/bas2boot.$(board_revision).img;autoscr;chpart $(backuppart);fsload boot/bas2boot.$(board_revision).img;autoscr;booterr 3 4 4 bootdelay=3 baudrate=19200 ipaddr=192.168.0.240 serverip=192.168.0.10 gatewayip=192.168.0.1 netmask=255.255.255.0 bootcmd_error=booterr 1 4 4 bootcmd_install=autoscr;mw.b 1000000 0 100;echo update failed;booterr 1 4 4 stdin=serial stdout=serial stderr=serial board_revision=1 serial=2448900276AU0123103800820H ethaddr=00:09:52:00:d1:7f ccode=0 reserve= bootpart=1 backuppart=2 </pre> h2. boot script <pre> u-boot> fsload boot/bas2boot.1.img u-boot> md 0x10000 80 00010000: 56190527 233f5c22 ffa86e5c 88010000 '..V"\?#\n...... 00010010: 00000000 00000000 1b0005ea 01060205 ................ 00010020: 00000000 00000000 00000000 00000000 ................ 00010030: 00000000 00000000 00000000 00000000 ................ 00010040: 80010000 00000000 6c746573 30206465 ........setled 0 00010050: 0a0a3320 6f6c7366 31206461 30303030 3..fsload 10000 00010060: 6f6f6220 70662f74 725f6167 69622e31 boot/fpga_r1.bi 00010070: 70660a6e 6c206167 2064616f 30312030 n.fpga load 0 10 00010080: 20303030 69662824 6973656c 0a29657a 000 $(filesize). 00010090: 6f686365 47504620 65562041 6f697372 echo FPGA Versio 000100a0: 3040206e 635c5c78 2e646d0a 30342062 n @0x\\c.md.b 40 000100b0: 30383830 31203030 65730a0a 766e6574 088000 1..setenv 000100c0: 6f6f6220 67726174 73616273 63206369 bootargsbasic c 000100d0: 6f736e6f 743d656c 32537974 3239312c onsole=ttyS2,192 000100e0: 75203030 5f726573 75626564 35323d67 00 user_debug=25 000100f0: 65730a35 766e6574 6f6f6220 67726174 5.setenv bootarg 00010100: 64746d73 6f6f7220 746d3d74 6f6c6264 smtd root=mtdblo 00010110: 242f6b63 72617028 69746974 20296e6f ck/$(partition) 00010120: 72206f72 66746f6f 70797473 666a3d65 ro rootfstype=jf 00010130: 20327366 61687465 3d726464 74652824 fs2 ethaddr=$(et 00010140: 64646168 63202972 65646f63 6328243d haddr) ccode=$(c 00010150: 65646f63 65732029 6c616972 7328243d code) serial=$(s 00010160: 61697265 730a296c 6e657465 6f622076 erial).setenv bo 00010170: 7261746f 24207367 6f6f6228 67726174 otargs $(bootarg 00010180: 73616273 20296369 6f622824 7261746f sbasic) $(bootar 00010190: 746d7367 0a0a2964 6f6c7366 31206461 gsmtd)..fsload 1 000101a0: 30303030 6f6f6220 49752f74 6567616d 0000 boot/uImage 000101b0: 7465730a 2064656c 0a322030 746f6f62 .setled 0 2.boot 000101c0: 3031206d 0a303030 5a2cf071 6b6b6b6b m 10000.q.,Zkkkk </pre> h3. modified bootscript to get root shell <pre> u-boot> setled 0 3 u-boot> fsload 10000 boot/fpga_r1.bin ### JFFS2 loading 'boot/fpga_r1.bin' to 0x10000 ### JFFS2 load complete: 75895 bytes loaded to 0x10000 u-boot> fpga load 0 10000 $(filesize) u-boot> setenv bootargsbasic console=ttyS2,19200 user_debug=255 init=/bin/sh u-boot> setenv bootargsmtd root=mtdblock/1 ro rootfstype=jffs2 ethaddr=$(ethaddr) ccode=$(ccode) serial=$(serial) u-boot> setenv bootargs $(bootargsbasic) $(bootargsmtd) u-boot> fsload 10000 boot/uImage ### JFFS2 loading 'boot/uImage' to 0x10000 ### JFFS2 load complete: 952212 bytes loaded to 0x10000 u-boot> setled 0 2 u-boot> bootm 10000 </pre> h2. kernel h3. kernel bootlog <pre> Starting kernel ... Uncompressing Linux............................................................... done, booting the kernel. Linux version 2.6.11-fs.1-gds9.4 (build@build) (gcc version 3.4.2) #375 Fri Mar 5 09:55:24 CET 2010 CPU: ARM926EJ-Sid(wb) [41069264] revision 4 (ARMv5TEJ) CPU0: D VIVT write-back cache CPU0: I cache: 8192 bytes, associativity 4, 32 byte lines, 64 sets CPU0: D cache: 4096 bytes, associativity 4, 32 byte lines, 32 sets Machine: A9M9360 Memory policy: ECC disabled, Data cache writeback NS9360 Rev. 0, running at 154 MHz Built 1 zonelists Kernel command line: console=ttyS2,19200 user_debug=255 root=mtdblock/1 ro rootfstype=jffs2 ethaddr=00:09:52:00:d1:7f ccode=0 serial=2448900276AU0123103800820H PID hash table entries: 256 (order: 8, 4096 bytes) Dentry cache hash table entries: 8192 (order: 3, 32768 bytes) Inode-cache hash table entries: 4096 (order: 2, 16384 bytes) Memory: 32MB = 32MB total Memory: 30352KB available (1602K code, 332K data, 80K init) Mount-cache hash table entries: 512 (order: 0, 4096 bytes) CPU: Testing write buffer coherency: ok NET: Registered protocol family 16 i2c_ns: I2C ns9750 driver $Revision: 1.5 $ initializing NetWinder Floating Point Emulator V0.97 (double precision) devfs: 2004-01-31 Richard Gooch (rgooch@atnf.csiro.au) devfs: boot_options: 0x1 Installing knfsd (copyright (C) 1996 okir@monad.swb.de). JFFS2 version 2.2. (NAND) (SAFENAND) (SUMMARY) (C) 2001-2006 Red Hat, Inc. NS9750 Watchdog initialized Serial: NS9750 driver $Revision: 1.6 $ ttyS0 at MMIO 0xf9200000 (irq = 34) is a NS9xx0 ttyS1 at MMIO 0xf9200040 (irq = 36) is a NS9xx0 ttyS2 at MMIO 0xf9300000 (irq = 38) is a NS9xx0 ttyS3 at MMIO 0xf9300040 (irq = 40) is a NS9xx0 Serial: JTAG driver $Revision: 1.1 $ ttyJ0 at MMIO 0x0 (irq = 0) is a JTAGCOMM io scheduler noop registered io scheduler anticipatory registered io scheduler deadline registered io scheduler cfq registered loop: loaded (max 8 devices) Ethernet: NS9xx0 driver $Revision: 1.13.cbr $ NAND Flash memory mapped to virtual c2880000 NAND device: Manufacturer ID: 0x98, Chip ID: 0x76 (Toshiba NAND 64MiB 3,3V 8-bit) Scanning device for bad blocks Using static partition definition Creating 5 MTD partitions on "basic.2": 0x00000000-0x00038000 : "U-BOOT" 0x00040000-0x01020000 : "System_1" 0x01020000-0x02000000 : "System_2" 0x02000000-0x04000000 : "Daten" 0x00038000-0x00040000 : "Service" NS9360 udc driver ns9360-udc ns9360-udc0: gadget driver initializing i2c /dev entries driver 24c64: EEPROM driver $Revision: 1.1 $ initializing NET: Registered protocol family 2 IP: routing cache hash table of 512 buckets, 4Kbytes TCP established hash table entries: 2048 (order: 2, 16384 bytes) TCP bind hash table entries: 2048 (order: 1, 8192 bytes) TCP: Hash tables configured (established 2048 bind 2048) NET: Registered protocol family 1 Root-NFS: No NFS server available, giving up. VFS: Unable to mount root fs via NFS, trying floppy. VFS: Mounted root (jffs2 filesystem) readonly. Mounted devfs on /dev Freeing init memory: 80K PTXdist-0.7.5 (2005-11-23T10:35:05+0100) mounting /proc and /sys... done. mounting filesystems... mount: WARNING: loop device is read-only done. preparing /data ...done. basic system configuration... done. starting the system logger... done. starting network... [HWaddr: 00:09:52:00:d1:7f] Using /lib/modules/2.6.11-fs.1-gds9.4/kernel/net/packet/af_packet.ko Using /lib/modules/2.6.11-fs.1-gds9.4/kernel/net/ipv4/netfilter/ip_conntrack.ko Using /lib/modules/2.6.11-fs.1-gds9.4/kernel/net/ipv4/netfilter/ip_tables.ko Using /lib/modules/2.6.11-fs.1-gds9.4/kernel/net/ipv4/netfilter/iptable_filter.ko Using /lib/modules/2.6.11-fs.1-gds9.4/kernel/net/ipv4/netfilter/iptable_nat.ko Using /lib/modules/2.6.11-fs.1-gds9.4/kernel/net/ipv4/netfilter/ipt_MASQUERADE.ko Using /lib/modules/2.6.11-fs.1-gds9.4/kernel/net/ipv4/netfilter/ipt_REDIRECT.ko killall: vd: no process killed killall: vmd: no process killed done. starting USB network port ... Using /lib/modules/2.6.11-fs.1-gds9.4/kernel/drivers/usb/gadget/g_ether.ko killall: udhcpd: no process killed udhcpd (v0.9.9-pre) started done. starting ppp... Using /lib/modules/2.6.11-fs.1-gds9.4/kernel/drivers/net/slhc.ko Using /lib/modules/2.6.11-fs.1-gds9.4/kernel/drivers/net/ppp_generic.ko Using /lib/modules/2.6.11-fs.1-gds9.4/kernel/drivers/net/ppp_synctty.ko Using /lib/modules/2.6.11-fs.1-gds9.4/kernel/drivers/char/n_hdlc.ko done. mounting nfs filesystems... done. reading the hardware clock... Using /opt/auerswald/modules/auerrtc.ko hwclock: Could not read time from RTC: Input/output error date is invalid, setting default date Tue May 1 00:00:00 CEST 2001 hwclock: Could not set the RTC time: Input/output error starting network services... done. Using /opt/auerswald/modules/auerlog.ko Using /opt/auerswald/modules/hwtimer.ko Using /opt/auerswald/modules/auertim.ko Using /opt/auerswald/modules/auergb.ko Using /opt/auerswald/modules/auermod.ko Using /opt/auerswald/modules/isdnhdlc.ko Using /opt/auerswald/modules/auerdsp.ko Using /opt/auerswald/modules/auersicofi4.ko Using /opt/auerswald/modules/auertdm.ko Using /opt/auerswald/modules/auerab_all.ko Using /opt/auerswald/modules/auers0basic.ko Using /opt/auerswald/modules/auer4s0.ko Using /opt/auerswald/modules/auer8up0.ko Using /opt/auerswald/modules/auers2m.ko Using /opt/auerswald/modules/auertsm_all.ko Using /opt/auerswald/modules/auertoene.ko Using /opt/auerswald/modules/auer_sscp.ko Using /opt/auerswald/modules/auers0_hfc8s4s.ko Using /opt/auerswald/modules/auer_voip.ko </pre>