Ubuntu 11.04 Natty on ODROID-A

We posted Ubuntu 10.10 installation guide couple of weeks ago.
We have tried Ubuntu 11.04.

I followed below steps to install the Ubuntu 11.04 on ODROID-A.

0. You may need below items to install Ubuntu.
– Odroid-A
– Micro-SD USB card reader
– USB Serial port with debug board for low level debugging.
– USB hub with external power supply
– USB-to-Ethernet (with AX8817X chipset)
– USB keyboard
– USB mouse

1. Install rootstock on your host Linux (Must be upgraded to 11.04 first)

2. Make a minimal root file system of Ubuntu with below command.

$sudo rootstock --fqdn odroid --imagesize 4G --dist natty --serial ttyO2 --login odroid --password odroid --seed wget,nano,linux-firmware,wireless-tools,usbutils,btrfs-tools,i2c-tools,wpasupplicant \"main universe multiverse\" --kernel-image http://rcn-ee.net/deb/natty/v2.6.38.4-x3/linux-image-2.6.38.4-x3_1.0natty_armel.deb

After rootstock process, you will have a compressed tar ball which contains Ubuntu 11.04 root file system.
Note, the ID is ‘odroid’ and passwd is ‘odroid’

3. Make partition and format the Micro-SD as below.

Disk /dev/sdc: 8270 MB, 8270118912 bytes
255 heads, 62 sectors/track, 1021 cylinders
Units = cylinders of 15810 * 512 = 8094720 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x00000000
Device Boot    Start    End    Blocks   Id     System
/dev/sdc1        800      1021   1754910   b     W95 FAT32
/dev/sdc2        4        799    6292380   83    Linux

4. Uncompress the root file system into the EXT4 partition with “sudo”

5. Plug the Micro-SD card into Odroid-A and enter in u-boot command line.
# setenv bootargs root=/dev/mmcblk0p1 rw rootfstype=ext4 init=/sbin/init console=ttySAC1,115200
# movi read kernel 40008000; bootm 40008000
# saveenv
* Please note that the latest(27-May version) u-boot can support ‘saveenv’ command.

6. After booting, I set-up internet connection with USB-ethernet to install Ubuntu-Desktop.
sudo ifconfig eth0 [your static ip_address] up
sudo route add default gw [your gateway_ip_address] dev eth0

7. Install GUI of Ubuntu. (This may take several hours !!!)
sudo apt-get update
sudo apt-get install ubuntu-desktop

8. Reboot and enjoy. This is a screen shot of my Odroid-A.
http://dev.odroid.com/wiki/odroida/pds/FrontPage/Screenshot11.png<<== Click this to show full size image.

9. Activate WiFi connection.

$ sudo mkdir -p /system/etc/firmware
==> copy fw_bcm4329.bin, nvram files into /system/etc/firmware directory.

$ sudo mkdir /lib/modules/2.6.35.7/kernel/lib
==> copy bcm4329.ko file into /lib/modules/2.6.35.7/kernel/lib/ directory.

$ sudo vi /lib/modules/2.6.35.7/modules.dep
----------------------------------------
kernel/lib/bcm4329.ko: <--- Add this line and save.
----------------------------------------

$ sudo vi /etc/modules
----------------------------------------
bcm4329 <--- Add this line and save.
----------------------------------------

$ sudo vi /etc/network/interfaces
----------------------------------------
auto lo
iface lo inet loopback
auto eth0
iface eth0 inet dhcp
address 192.168.0.204 <--- AP IP ADDRESS(static)
gateway 192.168.0.1
dns-nameserver 192.168.0.1
netmask 255.255.255.0
wpa-driver wext
wpa-ssid hardkernel2 <--- Your SSID
wpa-ap-scan 2
wpa-proto RSN
wpa-pairwise CCMP
wpa-group CCMP
wpa-key-mgmt WPA-PSK
wpa-psk 81b2ae31a8dede0e05e446fbf6a243c71f865909c349bba1ecdca996e5e0417e <--- your WPA hex_key
----------------------------------------

How to make a WPA-PSK key.
$ wpa_passphrase <your_essid><your_ascii_key>

network={
ssid=\"test\"
#psk=\"12345678\"
psk=fe727aa8b64ac9b3f54c72432da14faed933ea511ecab1 5bbc6c52e7522f709a <--- Copy this to wpa-psk !
}

10. Status…
This is a trial build and test. There should be many known/unknown issues.
LCD, WiFi, Audio, Keyboard, Mouse, USB-ethernet and Dual-Core are working well.
Touch-screen, Bluetooth, sensors and 3G modem are not working.

Mali-400 based 2D/3D accelerated x-server driver(X11 Display Drivers) can be delivered from ARM.
Refer this link for further steps.
http://www.malideveloper.com/developer-resources/drivers/index.php

Ubuntu 10.10 on ODROID-A

I’ve just installed Ubuntu on ODROID-A.

I followed below steps to install the Ubuntu.

0. You may need below items to install Ubuntu. Refer the picture !
– Odroid-A
– Micro-SD USB card reader
– USB Serial port with debug board for low level debugging.
– USB hub with external power supply
– USB-to-Ethernet (with AX8817X chipset)
– USB keyboard
– USB mouse

1. Install rootstock on you host Linux

2. Make a minimal root file system of Ubuntu with below command.

sudo rootstock sudo rootstock --fqdn odroid --login odroid --password odroid --imagesize 4G
-seed wget,nano,linux-firmware,wireless-tools,usbutils --dist maverick --serial SACttyO2
--components \"main universe multiverse\"
After rootstock process, you will have a compressed tar ball which contains Ubuntu root file system.
Note, the ID is ‘odroid’ and passwd is ‘odroid’

3. Format the first partition of Micro-SD with EXT4.
It was used for user data storage for Android.

4. Uncompress the root file system into the EXT4 partition with “sudo”

5. Plug the Micro-SD card into Odroid-A and enter in u-boot command line.
setenv bootargs root=/dev/mmcblk0p1 rw rootfstype=ext4 init=/sbin/init console=ttySAC1,115200
movi read kernel 40008000; bootm 40008000
* Please note current u-boot has a bug. ‘saveenv’ command is not working yet.
We will fix it soon.

6. After booting, I set-up internet connection with USB-ethernet to install Ubuntu-Desktop.
sudo ifconfig eth0 [your static ip_address] up
sudo route add default gw [your gateway_ip_address] dev eth0

7. Install GUI of Ubuntu. (This may take several hours !!!)
sudo apt-get update
sudo apt-get install ubuntu-desktop

8. Reboot and enjoy. This is a screen shot of my Odroid-A.
Look at the system monitor which shows Dual-core interaction.
http://dev.odroid.com/wiki/odroida/pds/FrontPage/Screenshot.png <<== Click this to show full size image.

9. Status…
This is a trial build and test. There should be many known/unknown issues.
LCD, Audio, Keyboard, Mouse, USB-ethernet and Dual-Core are working well.
Touch-screen, WiFi, Bluetooth, sensors and 3G modem are not working.
Ubuntu version is 10.10 and should be updated to 11.04.
There are many “To do” items.
Mali-400 based 2D/3D accelerated x-server driver will be delivered from ARM or Samsung S.LSI in the future.

Hardkernel Workshop

We have workshop on Tuesday(3rd) and Wednesday(4th). Please understand whether we do not answer the phone and not reply the mail.

[Korean] 저희가 화요일과 수요일 워크샵을 갑니다. 전화를 받지 않고 메일에 회신을 못해 드리더라도 이해해 주십시오.

ODROID-A pre-order

We have started ODROID-A pre-order. You can purchase it from our website. The first shipment will be started from mid April. The quantity is very limited. So, the store will be closed as soon as we sell out this lot. The next shipment will be in mid May.

– Worldwide shipment : http://www.hardkernel.com/renewal_2011/shop/good_list.php?lang=en

– 한국에서의 구매 : http://www.hardkernel.com/renewal_2011/shop/good_list.php

Korean Community Open

안녕하세요, 



ODROID 커뮤니티가 오픈되었습니다.
저희 커뮤니티가 ODROID만의 토론 공간이 아닌 업계의 정보를 나눌 수 있는 장이 되기를 바라며 오픈을 합니다.
처음 오픈하는 커뮤니티입니다. 일부 버그나 불편하신 점이 있으실 수도 있습니다. 게시판에 글을 올려주시면 빠른 시간내에 개선하도록 노력하겠습니다. 
커뮤니티를 꾹 누르시고 참여를 시작하세요. 


감사합니다. 

Oscilloscope on ODROID-7

ODROID-7 has an expansion port of TTA20 connector.
There is an ADC port which is connected to S5PC110 processor.
We are using the ADC port to make a simple oscilloscope.

Please note the ADC sample rate is only 1Mega samples per sec and it causes very low band width.
But, it is still useful to see any moving/static level of signals on GPIO or audio frequency band.

We could grab SINE wave signal as below picture.

Hardware structure.
– One OPAMP for signal conditioning (Attenuation as well as makes high input impedance)
– One LDO for power supply of OPAMP
– One LED can be controlled by CPU to display status
– This board can work with Odroid-T as well.
– TP1 is signal input and TP2 is reference(ground).

This 20pin TTA connector can be attached to ODROID-7 directly or through debug board.

Schematics of OSC board.

Software structure.
– Modified ADC device driver in Kernel
– JNI parts for inter-connection with Java (We call it NDK from time to time)
– Java application to display signals.

What to do….  (Future improvement)
– Trigger function
– Zoom In/Out with multi-touch pinch input
– Better Horizontal/Vertical scaling
– Math lib for FFT/DCT

We will open the source code within couple of weeks.
I think this is a very nice example to learn how real embedded system can run with Android OS.
It also can be a good text book/reference for beginners.

Thanks,