Olimex IMX233 (OLinuXino)
The Olinuxino is a low-cost development board for applications like point-of-sale terminals. It comes in different buildouts, all include a microSD slot to boot the OS from.
Supported Versions
| Model Version | Launch Date | OpenWrt Version Supported | Model Specific Notes |
|---|---|---|---|
| v1 | - | BB | WiP |
Hardware Highlights
| CPU | Ram | Flash | Network | USB | Serial | JTag | UEXT |
|---|---|---|---|---|---|---|---|
| Freescale i.MX233 | 64 MiB | None | 1x FE, depends on model | yes | Yes | No | Depends on model |
UEXT is an open standard port to provide serial, I2C and SPI expansion ports.
- IMX233-MAXI
Ethernet, 2 USB, UEXT, TV-out
- IMX233-MICRO
1 USB, TV-out
- IMX233-MINI
3 USB, UEXT, TV-out
- IMX233-MINI-WIFI
Optional RTL8188 WIFI, 3 USB, UEXT, TV-out
Installation
This section details what is required to install and upgrade OpenWrt. First we link to software that you should download before you start reading the instructions on how to install.
*This is a WiP board. Initial patch applies to 36551. USB, LAN are working, but sound, TV-out and expansion port support is being worked on.*
- Partition the SD card
We assume /dev/sdc is the SD card.
# fdisk /dev/sdc1
Command (m for help): n
Partition type:
p primary (0 primary, 0 extended, 4 free)
e extended
Select (default p): p
Partition number (1-4, default 1): 1
First sector (2048-7626751, default 2048):
Using default value 2048
Last sector, +sectors or +size{K,M,G} (2048-7626751, default 7626751): +16MB
Partition 1 of type Linux and of size 15.3 MiB is set
Command (m for help): t
Selected partition 1
Hex code (type L to list codes): 53
Changed system type of partition 1 to 53 (OnTrack DM6 Aux3)
Command (m for help): n
Partition type:
p primary (1 primary, 0 extended, 3 free)
e extended
Select (default p):
Using default response p
Partition number (1-4, default 2):
Using default value 2
First sector (33298-7626751, default 33298):
Using default value 33298
Last sector, +sectors or +size{K,M,G} (33298-7626751, default 7626751):
Using default value 7626751
Partition 2 of type Linux and of size 3.6 GiB is set
Command (m for help): w
The partition table has been altered!
Calling ioctl() to re-read partition table.
Syncing disks.
- Copy the kernel and the rootfs to the SD card
# dd if=openwrt-imx23-sbImage of=/dev/sdc1 [...] # dd if=openwrt-imx23-root.ext4 of=/dev/sdc2 [...] #
Upgrading OpenWRT
*WiP*
If you have already installed OpenWrt and like to reflash for e.g. upgrading to a new OpenWrt version you can upgrade using the mtd command line tool. It is important that you put the firmware image into the ramdisk (/tmp) before you start flashing.
Serial for IMX-233-MAXI
You can use your usual serial levelshifter. Pinout is:
[UEXT] o o o o [USB/ethernet]
Further notes
The board uses a special boot image called bootstream / safeboot. The file includes a zImage, a compiled devicetree, and various preparation bootlets (power_, sdram_, linux_)- these are contained in package/imx-bootlets. The image is created by the elftosb tool.
A U-boot is being prepared by various people to replace the bootlets to enable easier debugging and further functions in the boot process.
dmesg
[ 0.000000] Booting Linux on physical CPU 0x0 [ 0.000000] Linux version 3.8.11 (wigyori@dizelgigant) (gcc version 4.6.4 (OpenWrt/Linaro GCC 4.6-2012.12 r36550) ) #1 Mon May 6 07:54:49 CEST 2013 [ 0.000000] CPU: ARM926EJ-S [41069265] revision 5 (ARMv5TEJ), cr=00053177 [ 0.000000] CPU: VIVT data cache, VIVT instruction cache [ 0.000000] Machine: Freescale i.MX23 (Device Tree), model: i.MX23 Olinuxino Low Cost Board [ 0.000000] Memory policy: ECC disabled, Data cache writeback [ 0.000000] On node 0 totalpages: 16384 [ 0.000000] free_area_init_node: node 0, pgdat c0336048, node_mem_map c036e000 [ 0.000000] Normal zone: 128 pages used for memmap [ 0.000000] Normal zone: 0 pages reserved [ 0.000000] Normal zone: 16256 pages, LIFO batch:3 [ 0.000000] pcpu-alloc: s0 r0 d32768 u32768 alloc=1*32768 [ 0.000000] pcpu-alloc: [0] 0 [ 0.000000] Built 1 zonelists in Zone order, mobility grouping on. Total pages: 16256 [ 0.000000] Kernel command line: console=ttyAMA0,115200 root=/dev/mmcblk0p2 rw rootwait [ 0.000000] PID hash table entries: 256 (order: -2, 1024 bytes) [ 0.000000] Dentry cache hash table entries: 8192 (order: 3, 32768 bytes) [ 0.000000] Inode-cache hash table entries: 4096 (order: 2, 16384 bytes) [ 0.000000] __ex_table already sorted, skipping sort [ 0.000000] Memory: 64MB = 64MB total [ 0.000000] Memory: 61392k/61392k available, 4144k reserved, 0K highmem [ 0.000000] Virtual kernel memory layout: [ 0.000000] vector : 0xffff0000 - 0xffff1000 ( 4 kB) [ 0.000000] fixmap : 0xfff00000 - 0xfffe0000 ( 896 kB) [ 0.000000] vmalloc : 0xc4800000 - 0xff000000 ( 936 MB) [ 0.000000] lowmem : 0xc0000000 - 0xc4000000 ( 64 MB) [ 0.000000] modules : 0xbf000000 - 0xc0000000 ( 16 MB) [ 0.000000] .text : 0xc0008000 - 0xc0312d2c (3116 kB) [ 0.000000] .init : 0xc0313000 - 0xc032f554 ( 114 kB) [ 0.000000] .data : 0xc0330000 - 0xc0343130 ( 77 kB) [ 0.000000] .bss : 0xc0343130 - 0xc036d604 ( 170 kB) [ 0.000000] NR_IRQS:16 nr_irqs:16 16 [ 0.000000] of_irq_init: children remain, but no parents [ 0.000000] sched_clock: 32 bits at 100 Hz, resolution 10000000ns, wraps every 4294967286ms [ 0.080000] Calibrating delay loop... 226.09 BogoMIPS (lpj=1130496) [ 0.080000] pid_max: default: 32768 minimum: 301 [ 0.080000] Mount-cache hash table entries: 512 [ 0.080000] CPU: Testing write buffer coherency: ok [ 0.080000] Setting up static identity map for 0x4000f800 - 0x4000f83c [ 0.080000] pinctrl core: initialized pinctrl subsystem [ 0.080000] regulator-dummy: no parameters [ 0.080000] NET: Registered protocol family 16 [ 0.090000] DMA: preallocated 256 KiB pool for atomic coherent allocations [ 0.090000] i2c-core: driver [dummy] registered [ 0.120000] Serial: AMBA PL011 UART driver [ 0.120000] 80070000.serial: ttyAMA0 at MMIO 0x80070000 (irq = 127) is a PL011 rev2 [ 0.260000] console [ttyAMA0] enabled [ 0.300000] bio: create slab <bio-0> at 0 [ 0.320000] mxs-dma 80004000.dma-apbh: initialized [ 0.340000] mxs-dma 80024000.dma-apbx: initialized [ 0.350000] usb0_vbus: 5000 mV [ 0.350000] reg-fixed-voltage usb0_vbus.4: usb0_vbus supplying 5000000uV [ 0.360000] usbcore: registered new interface driver usbfs [ 0.360000] usbcore: registered new interface driver hub [ 0.370000] usbcore: registered new device driver usb [ 0.380000] Advanced Linux Sound Architecture Driver Initialized. [ 0.390000] Switching to clocksource mxs_timer [ 0.400000] NET: Registered protocol family 2 [ 0.400000] TCP established hash table entries: 512 (order: 0, 4096 bytes) [ 0.410000] TCP bind hash table entries: 512 (order: -1, 2048 bytes) [ 0.410000] TCP: Hash tables configured (established 512 bind 512) [ 0.420000] TCP: reno registered [ 0.420000] UDP hash table entries: 256 (order: 0, 4096 bytes) [ 0.430000] UDP-Lite hash table entries: 256 (order: 0, 4096 bytes) [ 0.440000] NET: Registered protocol family 1 [ 0.450000] squashfs: version 4.0 (2009/01/31) Phillip Lougher [ 0.450000] jffs2: version 2.2 (NAND) (SUMMARY) (LZMA) (RTIME) (CMODE_PRIORITY) (c) 2001-2006 Red Hat, Inc. [ 0.460000] msgmni has been set to 119 [ 0.470000] io scheduler noop registered [ 0.470000] io scheduler deadline registered (default) [ 0.480000] Serial: 8250/16550 driver, 2 ports, IRQ sharing disabled [ 0.490000] uart-pl011 80070000.serial: no DMA platform data [ 0.500000] 8006c000.serial: ttyAPP0 at MMIO 0x8006c000 (irq = 124) is a 8006c000.serial [ 0.510000] mxs-auart 8006c000.serial: Found APPUART 3.0.0 [ 0.530000] i2c /dev entries driver [ 0.530000] mxs-mmc 80010000.ssp: Looking up vmmc-supply from device tree [ 0.530000] mxs-mmc 80010000.ssp: Looking up vmmc-supply property in node /apb@80000000/apbh@80000000/ssp@80010000 failed [ 0.570000] mxs-mmc 80010000.ssp: initialized [ 0.570000] TCP: cubic registered [ 0.580000] NET: Registered protocol family 17 [ 0.580000] 8021q: 802.1Q VLAN Support v1.8 [ 0.590000] drivers/rtc/hctosys.c: unable to open rtc device (rtc0) [ 0.600000] ALSA device list: [ 0.600000] No soundcards found. [ 0.600000] Waiting for root device /dev/mmcblk0p2... [ 0.660000] mmc0: host does not support reading read-only switch. assuming write-enable. [ 0.670000] mmc0: new SD card at address c975 [ 0.680000] mmcblk0: mmc0:c975 SU02G 1.84 GiB [ 0.690000] mmcblk0: p1 p2 p3 [ 0.720000] EXT4-fs (mmcblk0p2): couldn't mount as ext3 due to feature incompatibilities [ 0.730000] EXT4-fs (mmcblk0p2): couldn't mount as ext2 due to feature incompatibilities [ 0.750000] EXT4-fs (mmcblk0p2): mounted filesystem without journal. Opts: (null) [ 0.760000] VFS: Mounted root (ext4 filesystem) on device 179:2. [ 0.760000] Freeing init memory: 112K [ 6.280000] EXT4-fs (mmcblk0p2): re-mounted. Opts: (null) [ 6.880000] NET: Registered protocol family 10 [ 6.970000] PPP generic driver version 2.4.2 [ 7.360000] ip_tables: (C) 2000-2006 Netfilter Core Team [ 7.630000] NET: Registered protocol family 24 [ 7.670000] ehci_hcd: USB 2.0 'Enhanced' Host Controller (EHCI) Driver [ 7.710000] ehci-platform: EHCI generic platform driver [ 7.750000] nf_conntrack version 0.5.0 (961 buckets, 3844 max) [ 8.300000] ip6_tables: (C) 2000-2006 Netfilter Core Team [ 8.690000] imx_usb 80080000.usb: pinctrl get/select failed, err=-19 [ 8.700000] imx_usb 80080000.usb: Looking up vbus-supply from device tree [ 8.700000] ci_hdrc ci_hdrc.0: ChipIdea HDRC found, lpm: 0; cap: f5080100 op: f5080140 [ 8.700000] ci_hdrc ci_hdrc.0: doesn't support gadget [ 8.710000] ci_hdrc ci_hdrc.0: EHCI Host Controller [ 8.710000] ci_hdrc ci_hdrc.0: new USB bus registered, assigned bus number 1 [ 8.740000] ci_hdrc ci_hdrc.0: USB 2.0 started, EHCI 1.00 [ 8.740000] hub 1-0:1.0: USB hub found [ 8.750000] hub 1-0:1.0: 1 port detected [ 9.020000] stmp3xxx-rtc 8005c000.rtc: rtc core: registered 8005c000.rtc as rtc0 [ 9.070000] usb 1-1: new high-speed USB device number 2 using ci_hdrc [ 9.110000] usbcore: registered new interface driver smsc95xx [ 9.220000] hub 1-1:1.0: USB hub found [ 9.220000] hub 1-1:1.0: 3 ports detected [ 9.510000] usb 1-1.1: new high-speed USB device number 3 using ci_hdrc [ 9.640000] smsc95xx v1.0.4 [ 9.720000] smsc95xx 1-1.1:1.0 eth0: register 'smsc95xx' at usb-ci_hdrc.0-1.1, smsc95xx USB 2.0 Ethernet, ea:42:ac:5e:a1:67 [ 16.270000] IPv6: ADDRCONF(NETDEV_UP): eth0: link is not ready [ 16.280000] device eth0 entered promiscuous mode [ 16.300000] IPv6: ADDRCONF(NETDEV_UP): br-lan: link is not ready [ 17.880000] smsc95xx 1-1.1:1.0 eth0: link up, 100Mbps, full-duplex, lpa 0xCDE1 [ 17.910000] br-lan: port 1(eth0) entered forwarding state [ 17.910000] br-lan: port 1(eth0) entered forwarding state [ 17.920000] IPv6: ADDRCONF(NETDEV_CHANGE): eth0: link becomes ready [ 17.920000] IPv6: ADDRCONF(NETDEV_CHANGE): br-lan: link becomes ready [ 19.910000] br-lan: port 1(eth0) entered forwarding state
Links
Tags
toh/tp-link/olinuxino.txt · Last modified: 2013/05/06 08:39 by wigyori
