README 6.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195
  1. Linux 2.4 on the CRIS architecture
  2. ==================================
  3. $Id: README,v 1.1.1.1 2007/06/12 07:27:12 eyryu Exp $
  4. This is a port of Linux 2.4 to Axis Communications ETRAX 100LX embedded
  5. network CPU. For more information about CRIS and ETRAX please see further
  6. below.
  7. In order to compile this you need a version of gcc with support for the
  8. ETRAX chip family. Please see this link for more information on how to
  9. download the compiler and other tools useful when building and booting
  10. software for the ETRAX platform:
  11. http://developer.axis.com/doc/software/devboard_lx/install-howto.html
  12. <more specific information should come in this document later>
  13. What is CRIS ?
  14. --------------
  15. CRIS is an acronym for 'Code Reduced Instruction Set'. It is the CPU
  16. architecture in Axis Communication AB's range of embedded network CPU's,
  17. called ETRAX. The latest CPU is called ETRAX 100LX, where LX stands for
  18. 'Linux' because the chip was designed to be a good host for the Linux
  19. operating system.
  20. The ETRAX 100LX chip
  21. --------------------
  22. For reference, plase see the press-release:
  23. http://www.axis.com/news/us/001101_etrax.htm
  24. The ETRAX 100LX is a 100 MIPS processor with 8kB cache, MMU, and a very broad
  25. range of built-in interfaces, all with modern scatter/gather DMA.
  26. Memory interfaces:
  27. * SRAM
  28. * NOR-flash/ROM
  29. * EDO or page-mode DRAM
  30. * SDRAM
  31. I/O interfaces:
  32. * one 10/100 Mbit/s ethernet controller
  33. * four serial-ports (up to 6 Mbit/s)
  34. * two synchronous serial-ports for multimedia codec's etc.
  35. * USB host controller and USB slave
  36. * ATA
  37. * SCSI
  38. * two parallel-ports
  39. * two generic 8-bit ports
  40. (not all interfaces are available at the same time due to chip pin
  41. multiplexing)
  42. The previous version of the ETRAX, the ETRAX 100, sits in almost all of
  43. Axis shipping thin-servers like the Axis 2100 web camera or the ETRAX 100
  44. developer-board. It lacks an MMU so the Linux we run on that is a version
  45. of uClinux (Linux 2.0 without MM-support) ported to the CRIS architecture.
  46. The new Linux 2.4 port has full MM and needs a CPU with an MMU, so it will
  47. not run on the ETRAX 100.
  48. A version of the Axis developer-board with ETRAX 100LX (running Linux
  49. 2.4) is now available. For more information please see developer.axis.com.
  50. Bootlog
  51. -------
  52. Just as an example, this is the debug-output from a boot of Linux 2.4 on
  53. a board with ETRAX 100LX. The displayed BogoMIPS value is 5 times too small :)
  54. At the end you see some user-mode programs booting like telnet and ftp daemons.
  55. Linux version 2.4.1 (bjornw@godzilla.axis.se) (gcc version 2.96 20000427 (experimental)) #207 Wed Feb 21 15:48:15 CET 2001
  56. ROM fs in RAM, size 1376256 bytes
  57. Setting up paging and the MMU.
  58. On node 0 totalpages: 2048
  59. zone(0): 2048 pages.
  60. zone(1): 0 pages.
  61. zone(2): 0 pages.
  62. Linux/CRIS port on ETRAX 100LX (c) 2001 Axis Communications AB
  63. Kernel command line:
  64. Calibrating delay loop... 19.91 BogoMIPS
  65. Memory: 13872k/16384k available (587k kernel code, 2512k reserved, 44k data, 24k init)
  66. kmem_create: Forcing size word alignment - vm_area_struct
  67. kmem_create: Forcing size word alignment - filp
  68. Dentry-cache hash table entries: 2048 (order: 1, 16384 bytes)
  69. Buffer-cache hash table entries: 2048 (order: 0, 8192 bytes)
  70. Page-cache hash table entries: 2048 (order: 0, 8192 bytes)
  71. kmem_create: Forcing size word alignment - kiobuf
  72. kmem_create: Forcing size word alignment - bdev_cache
  73. Inode-cache hash table entries: 1024 (order: 0, 8192 bytes)
  74. kmem_create: Forcing size word alignment - inode_cache
  75. POSIX conformance testing by UNIFIX
  76. Linux NET4.0 for Linux 2.4
  77. Based upon Swansea University Computer Society NET3.039
  78. Starting kswapd v1.8
  79. kmem_create: Forcing size word alignment - file lock cache
  80. kmem_create: Forcing size word alignment - blkdev_requests
  81. block: queued sectors max/low 9109kB/3036kB, 64 slots per queue
  82. ETRAX 100LX 10/100MBit ethernet v2.0 (c) 2000 Axis Communications AB
  83. eth0 initialized
  84. eth0: changed MAC to 00:40:8C:CD:00:00
  85. ETRAX 100LX serial-driver $Revision: 1.1.1.1 $, (c) 2000 Axis Communications AB
  86. ttyS0 at 0xb0000060 is a builtin UART with DMA
  87. ttyS1 at 0xb0000068 is a builtin UART with DMA
  88. ttyS2 at 0xb0000070 is a builtin UART with DMA
  89. ttyS3 at 0xb0000078 is a builtin UART with DMA
  90. Axis flash mapping: 200000 at 50000000
  91. Axis flash: Found 1 x16 CFI device at 0x0 in 16 bit mode
  92. Amd/Fujitsu Extended Query Table v1.0 at 0x0040
  93. Axis flash: JEDEC Device ID is 0xC4. Assuming broken CFI table.
  94. Axis flash: Swapping erase regions for broken CFI table.
  95. number of CFI chips: 1
  96. Using default partition table
  97. I2C driver v2.2, (c) 1999-2001 Axis Communications AB
  98. ETRAX 100LX GPIO driver v2.1, (c) 2001 Axis Communications AB
  99. NET4: Linux TCP/IP 1.0 for NET4.0
  100. IP Protocols: ICMP, UDP, TCP
  101. kmem_create: Forcing size word alignment - ip_dst_cache
  102. IP: routing cache hash table of 1024 buckets, 8Kbytes
  103. TCP: Hash tables configured (established 2048 bind 2048)
  104. NET4: Unix domain sockets 1.0/SMP for Linux NET4.0.
  105. VFS: Mounted root (cramfs filesystem) readonly.
  106. Init starts up...
  107. Mounted none on /proc ok.
  108. Setting up eth0 with ip 10.13.9.116 and mac 00:40:8c:18:04:60
  109. eth0: changed MAC to 00:40:8C:18:04:60
  110. Setting up lo with ip 127.0.0.1
  111. Default gateway is 10.13.9.1
  112. Hostname is bbox1
  113. Telnetd starting, using port 23.
  114. using /bin/sash as shell.
  115. sftpd[15]: sftpd $Revision: 1.1.1.1 $ starting up
  116. And here is how some /proc entries look:
  117. 17# cd /proc
  118. 17# cat cpuinfo
  119. cpu : CRIS
  120. cpu revision : 10
  121. cpu model : ETRAX 100LX
  122. cache size : 8 kB
  123. fpu : no
  124. mmu : yes
  125. ethernet : 10/100 Mbps
  126. token ring : no
  127. scsi : yes
  128. ata : yes
  129. usb : yes
  130. bogomips : 99.84
  131. 17# cat meminfo
  132. total: used: free: shared: buffers: cached:
  133. Mem: 7028736 925696 6103040 114688 0 229376
  134. Swap: 0 0 0
  135. MemTotal: 6864 kB
  136. MemFree: 5960 kB
  137. MemShared: 112 kB
  138. Buffers: 0 kB
  139. Cached: 224 kB
  140. Active: 224 kB
  141. Inact_dirty: 0 kB
  142. Inact_clean: 0 kB
  143. Inact_target: 0 kB
  144. HighTotal: 0 kB
  145. HighFree: 0 kB
  146. LowTotal: 6864 kB
  147. LowFree: 5960 kB
  148. SwapTotal: 0 kB
  149. SwapFree: 0 kB
  150. 17# ls -l /bin
  151. -rwxr-xr-x 1 342 100 10356 Jan 01 00:00 ifconfig
  152. -rwxr-xr-x 1 342 100 17548 Jan 01 00:00 init
  153. -rwxr-xr-x 1 342 100 9488 Jan 01 00:00 route
  154. -rwxr-xr-x 1 342 100 46036 Jan 01 00:00 sftpd
  155. -rwxr-xr-x 1 342 100 48104 Jan 01 00:00 sh
  156. -rwxr-xr-x 1 342 100 16252 Jan 01 00:00 telnetd
  157. (All programs are statically linked to the libc at this point - we have not ported the
  158. shared libraries yet)