Using OpenStack Could Computing Platform

Over the last one month, I have been reading and testing a couple of the open source cloud computing projects, such as OpenNebula, DevStack, Eucalyptus and Nimbus before deciding on  which one to use. I noticed that not all of the projects are full-fledged could computing software; that is, not all of them exist as a suite of services. I like the way OpenNebula has been built; it has three controllers – node, cluster and cloud controllers. And then came OpenStack with its five major components, namely Compute, Object Storage, Image Service, Dashboard and Identity. It is worth mentioning that most of these projects technically use the same codebase, though they are often extended to meet the requirements of each project. To choose the platform I would use in my research, I factored in the OS I am using, community involvement in the project and the current state of the project, In addition, for the full fledged projects, I considered interoperability with other platforms e.g. other storage and image services.

None of these projects is easy to deploy. I spent days trying to get them to work. After experimenting with a number of them, I decided to focus on OpenStack. OpenStack is a full-fledged cloud computing software with services, such as Image and Identity services. In addition, it is a suite offered by the same team. One could choose to use all its components or  use some of them with other solutions – Amazon EC2, BoxGrinder, e.t.c. It can however be used to deliver a massively scalable cloud operating system. Getting the OpenStack basic services (glance for image service and nova for compute, network, scheduler and volume services) up and running seems easy; but things start getting difficult (and messy) when one tries to integrate its dashboard (called Horizon). Integrating its dashboard requires installing the Identity component (called Keystone). In addition, one would need to get Glance to authenticate with Keystone. Getting the whole suite working would require one starting a number of services, pretty much like running the OpenIMSCore.

Below are some screenshots of the dashboard showing, among other things, the instances limit and the instance(s) running on the test machine. OpenStack has also been tested with BoxGrinder. Many thanks to the members of the CPUT CRDOT and guys at the OpenStack IRC channel for their help.

 

Comments

ITU Kaliedoscope ’11

The ITU Kaliedoscope ’11 conference came to an end  yesterday. It is one of those conferences I have always wanted to attend, and I am glad this year’s conference took place at my backyard. It was at the University of Cape Town. It was nice meeting folks from Italy, most notably University of Bologna, where I have got some collaborators. The paper presentations were great, and I am really impressed with the diverse papers on policies, services, rural development and so on.
Many thanks to those that made it happen. I remember Paul Inglesby told me at a function (I think AfricaCom ’10) at CTICC that he wanted the next ITU Kaliedoscope conference to take place here.

Comments

WebRTC: Another Realization of Browser-to-Browser Interaction

I reported the similarities and differences between Google Wave and my work TransferHTTP + CAS two years ago.  It is fascinating to see another related work called WebRTC. I would not be discussing the similarities and differences between it and my work this time around. Rather, I will present an excerpt of one of my papers that briefly discusses WebRTC. See below.

WebRTC is an open framework that offers web application developers the ability to write rich real-time multimedia applications (e.g. video and gaming applications) on the web without requiring plugins or extensions. Its purpose is to help build a strong Real Time Communication (RTC) platform that works across multiple web browsers and platforms. In an implementation, the WebRTC API will abstract several key components for real-time audio, video, networking and signal [1, 2].

One of the IETF RTCWEB WG [3] is currently discussing how to integrate WebRTC with deployed SIP equipment and domains. An area of its application is being able to communicate from WebRTC applications to existing deployed SIP/RTP-based Voice/Video-over-IP devices at the signalling and media planes. It may require an interworking middlebox function (e.g. an integrated Web Server module) in the media-plane. However, the deployed devices should communicate using SIP at a signaling layer rather than HTTP. Other protocol implementations, such as XMPP and H.323, can also be achieved.

From the industry perspective, the web browser software industry is also implementing browser-to-browser interaction in various ways. Although WebRTC is currently being standardized, it is however possible that some of the its implementations might require extending an existing terminal (like a web client in our work), a proxy or a server.

References

  1. WebRTC, http://www.webrtc.org, Accessed on November 20, 2011.
  2. IETF WebRTC, http://tools.ietf.org/wg/rtcweb, Accessed on November 20, 2011.
  3. IETF RTCWeb-SIP WG, http://tools.ietf.org/html/draft-kaplan-rtcweb-sip-interworking-requirements-01, Accessed on November 20, 2011.

Comments

CPUT InfoTech ’11

We would like to inform you about the unconference CPUT InfoTech ’11 coming up at the Department of Information Technology, CPUT. Below are the three tracks of the unconference.


Tracks
 

1. Social Media and Disruptive Technologies
1.1 Social Network – Identica, Diaspora; Collaborative Editing/Programming – Etherpad, Bespin; Chat: IRC, e.t.c. 

2. Telecommunications

2.1 Wireless Mesh Network (VillageTelco, Fabfi, Afrimesh, Serval)

3. Mobile and Web Technologies
3.1  Java and Scripting Frameworks (HTML5 & CSS3, Android, Sencha, PhoneGap,  e.t.c.)

Have you got some projects you would like to demo to students? Please come and present it at the event.

To register, please visit http://bit.ly/obceQ0

Venue: Lab 1.13, Department of Information Technology, The Engineering Building, Cape Peninsula University of Technology, Cape Town Campus, Cape Town

Time: 11.30am – 1pm
Date: Oct 4 – 5, 2011

Presenters:
1. Alacrity.co.za will talk on enterprise Java applications, J2ME, Ruby on Rails and demo a C# product.

Comments

The CPUT CRDOT

During the last business meeting in my department,  I unfolded the plans to get a software/research group (The CPUT CRDOT) running. Below is the summary of my talk. The CPUT Software House, which is mentioned below, is a group that has been in existence for sometime, but I am hoping that it would ‘absorb’ the CPUT CRDOT.

The CPUT Software House

Introduction
The CPUT Software House is in its premature stage at the moment. Currently referred to as the CPUT Centre for Research and Development in Open Technology (CRDOT), it is made of over 10 students across different levels. It focuses on teaching the students skills required in the industry using Open Technologies. In addition, it collaborates with firms, parastatals and NGOs to provide solutions to their immediate problems. It is currently working with the Material Science Research Group, Centre for Scientific and Industrial Research (CSIR), South Africa to port a health application from the Windows Operating System to the Andriod Operating System. The application, on completion, will run on a mobile device, for example an Internet tablet PC, that runs the Andriod OS.

Online Presence

• The CRDOT has a web presence at http://www.ngportal.com/cputcrdot/.

• In addition, it runs an IRC channel #crdot at the Freenode IRC network (irc.freenode.net).

• Its group mail (Google Group) is at http://groups.google.com/group/cputcrdot.

• It is in the process of moving it application servers to a local server (in South Africa) at the IP 196.211.3.108.

Partners
The centre is also closely working with various research groups and communities around the globe, such as the Serval Community, Flinder’s University, Australia; the CDOT, Seneca College, Canada and the VillageTelco, South Africa.

In closing, the centre is working hard to expand in terms of getting more students involved, getting additional servers, which will reside in the school and having a laboratory of its own in the school.

Comments

Porting a Win. 32 App on Andriod

I am looking for a student who is interested in porting a health application from a Win. 32 OS (Desktop Ed.) to Andriod. The mobile OS Andriod is fast moving to netbooks [1] and tablet PCs. It is an ‘open-source’ component-based OS for mobile devices, most notably phones.It is gaining momentum on the x86 processor devices, while still competing with other mobile OSs, such as iOS and Win CE, which run on ARM processor devices.Trivial computations on a x86 CPU can consume huge resources on an ARM CPU even when both CPUs have the same speed/clock. The overhead is worth noting in ARM processor devices.

There are a number of efforts to access or run a Win. 32 app on Andriod. The task has been accomplished in the Linux OS environment with the availability of programs, such as WINE. And virtualization is another way of accessing a Win. 32 app on a Linux box. Although work is underway to access or run a Win. 32 app on Andriod, there is no package or solution in the public domain to say the task has been accomplished. A virtual PC client for ARM devices on a smartphone might work. Another solution would be to write a PC program that could convert a Win. 32 app .exe to Android .apk. It would have to decompile the windows package, recompile and repackage to Android. Hence, the ways of accessing or running a Win. 32 app on Andriod would include using a middleware (like Wine), a virtualization client and a program that recompiles the Win. 32 app for Andriod.

Any student interested in this project should please contact me. The project will be funded by the CSIR Materials Science and Manufacturing, South Africa

 

References:
1. http://www.android-x86.org/

Comments (1)

Our VillageTelco Paper in The EURASIP WCN Journal

Below is the acceptance email Paul and I got on the VT paper after making the required minor changes.

Dear Dr. Adeyeye,

The review of the Research Article EURASIP JWCN/967260 titled “The
Village Telco Project: A Reliable and Practical Wireless Mesh Telephony
Infrastructure,” by Michael Adeyeye and Paul Gardner-Stephen submitted
to EURASIP Journal on Wireless Communications and Networking, has been
completed, and I am pleased to inform you that your manuscript has now
been accepted for publication in the journal.

Thank you again for submitting your manuscript to EURASIP Journal on
Wireless Communications and Networking.

Best regards,

Yuh Shyan Chen
yschen{at}mail.ntpu.edu.tw

Comments (3)

Fedora on Pandaboard

After running Android on Pandaboard [1, 2] for awhile, I decided to switch to Fedora. I also got Fedora running after some time; many thanks to the Fedora-arm team on the Freenode IRC channel #fedora-arm. Below are a screenshot of the Fedora CLI on Pandaboard, the Fedora boot log and an excerpt of my chat with the Fedora-arm team.

Fedora on Pandaboard

Fedora on Pandaboard

 

The Boot Log

Texas Instruments X-Loader 1.4.4ss (Mar  1 2011 – 23:55:13)
Reading boot sector
Loading u-boot.bin from mmc

U-Boot 2011.03-rc1 (Feb 09 2011 – 01:46:42)

CPU  : OMAP4430
Board: OMAP4 Panda
I2C:   ready
DRAM:  1 GiB
MMC:   OMAP SD/MMC: 0
Using default environment

In:    serial
Out:   serial
Err:   serial
Hit any key to stop autoboot:  0
reading boot.scr

254 bytes read
Running bootscript from mmc0 …
## Executing script at 82000000
reading uImage

2733352 bytes read
## Booting kernel from Legacy Image at 80000000 …
Image Name:   Linux-2.6.35-g6d019da-dirty
Image Type:   ARM Linux Kernel Image (uncompressed)
Data Size:    2733288 Bytes = 2.6 MiB
Load Address: 80008000
Entry Point:  80008000
Verifying Checksum … OK
Loading Kernel Image … OK
OK

Starting kernel …

Uncompressing Linux… done, booting the kernel.
Linux version 2.6.35-g6d019da-dirty (danders@ccd-dev) (gcc version 4.3.3 (GCC) ) #11 SMP PREEMPT Wed Sep 1 16:11:03 CDT 2010
CPU: ARMv7 Processor [411fc092] revision 2 (ARMv7), cr=10c53c7f
CPU: VIPT nonaliasing data cache, VIPT nonaliasing instruction cache
Machine: OMAP4430 Panda Board
Memory policy: ECC disabled, Data cache writealloc
OMAP4430 ES2.0
SRAM: Mapped pa 0×40300000 to va 0xfe400000 size: 0×100000
FIXME: omap44xx_sram_init not implemented
Reserving 33554432 bytes SDRAM for VRAM
PERCPU: Embedded 6 pages/cpu @c2d67000 s4000 r8192 d12384 u65536
pcpu-alloc: s4000 r8192 d12384 u65536 alloc=16*4096
pcpu-alloc: [0] 0 [0] 1
Built 1 zonelists in Zone order, mobility grouping on.  Total pages: 233576
Kernel command line: ro elevator=noop vram=32M root=/dev/mmcblk0p2 fixrtc console=ttyO2,115200 mem=460M@0×80000000 mem=460M@0xA0000000
PID hash table entries: 4096 (order: 2, 16384 bytes)
Dentry cache hash table entries: 131072 (order: 7, 524288 bytes)
Inode-cache hash table entries: 65536 (order: 6, 262144 bytes)
Memory: 460MB 256MB 204MB = 920MB total
Memory: 895208k/895208k available, 46872k reserved, 208896K highmem
Virtual kernel memory layout:
vector  : 0xffff0000 – 0xffff1000   (   4 kB)
fixmap  : 0xfff00000 – 0xfffe0000   ( 896 kB)
DMA     : 0xffc00000 – 0xffe00000   (   2 MB)
vmalloc : 0xf0800000 – 0xf8000000   ( 120 MB)
lowmem  : 0xc0000000 – 0xf0000000   ( 768 MB)
pkmap   : 0xbfe00000 – 0xc0000000   (   2 MB)
modules : 0xbf000000 – 0xbfe00000   (  14 MB)
.init : 0xc0008000 – 0xc0033000   ( 172 kB)
.text : 0xc0033000 – 0xc052e000   (5100 kB)
.data : 0xc052e000 – 0xc05934a0   ( 406 kB)
SLUB: Genslabs=11, HWalign=32, Order=0-3, MinObjects=0, CPUs=2, Nodes=1
Hierarchical RCU implementation.
RCU-based detection of stalled CPUs is disabled.
Verbose stalled-CPUs detection is disabled.
NR_IRQS:388
omap_hwmod: sys_32k_ck: missing clockdomain for sys_32k_ck.
omap_hwmod: l3_div_ck: missing clockdomain for l3_div_ck.
omap_hwmod: dpll_mpu_m2_ck: missing clockdomain for dpll_mpu_m2_ck.
omap_hwmod: gpio2: failed to reset in 10000 usec
omap_hwmod: gpio3: failed to reset in 10000 usec
omap_hwmod: gpio4: failed to reset in 10000 usec
omap_hwmod: gpio5: failed to reset in 10000 usec
omap_hwmod: gpio6: failed to reset in 10000 usec
omap_hwmod: gpu: cannot be enabled (3)
omap_hwmod: i2c1: failed to reset in 10000 usec
omap_hwmod: i2c2: failed to reset in 10000 usec
omap_hwmod: i2c3: failed to reset in 10000 usec
omap_hwmod: i2c4: failed to reset in 10000 usec
omap_hwmod: iva: cannot be enabled (3)
omap_hwmod: omap-mcpdm-dai: cannot be enabled (3)
GPMC revision 6.0
dmtimer.0: omap_dm_timer_probe:[id=0]
dmtimer.0:  registered
dmtimer.1: omap_dm_timer_probe:[id=1]
dmtimer.1:  registered
dmtimer.9: omap_dm_timer_probe:[id=9]
dmtimer.9:  registered
OMAP clockevent source: GPTIMER1 at 32768 Hz
Console: colour dummy device 80×30
Calibrating delay loop… 1195.29 BogoMIPS (lpj=4669440)
pid_max: default: 32768 minimum: 301
Mount-cache hash table entries: 512
CPU: Testing write buffer coherency: ok
Calibrating local timer… 292.27MHz.
L310 cache controller enabled
l2x0: 16 ways, CACHE_ID 0x410000c4, AUX_CTRL 0x0e070000
CPU1: Booted secondary processor
Brought up 2 CPUs
SMP: Total of 2 processors activated (2365.37 BogoMIPS).
devtmpfs: initialized
regulator: core version 0.5
NET: Registered protocol family 16
OMAP GPIO hardware version 0.1
PandaBoard Revision: 003
OMAP DMA hardware revision 0.0
dma dma.0: System DMA registered
bio: create slab <bio-0> at 0
SCSI subsystem initialized
usbcore: registered new interface driver usbfs
usbcore: registered new interface driver hub
usbcore: registered new device driver usb
i2c_omap i2c_omap.1: bus 1 rev4.0 at 400 kHz
Skipping twl internal clock init and using bootloader value (unknown osc rate)
twl6030: PIH (irq 39) chaining IRQs 368..387
regulator: VMMC: 1200 <–> 3000 mV at 3000 mV normal standby
regulator: VPP: 1800 <–> 2500 mV at 1900 mV normal standby
regulator: VANA: 2100 mV normal standby
regulator: VCXIO: 1800 mV normal standby
regulator: VDAC: 1800 mV normal standby
regulator: VUSB: 3300 mV normal standby
regulator: VAUX2_6030: 1200 <–> 2800 mV at 1800 mV normal standby
regulator: VAUX3_6030: 1000 <–> 3000 mV at 1200 mV normal standby
Advanced Linux Sound Architecture Driver Version 1.0.23.
Bluetooth: Core ver 2.15
NET: Registered protocol family 31
Bluetooth: HCI device and connection manager initialized
Bluetooth: HCI socket layer initialized
cfg80211: Calling CRDA to update world regulatory domain
Switching to clocksource timer-32k
NET: Registered protocol family 2
IP route cache hash table entries: 32768 (order: 5, 131072 bytes)
TCP established hash table entries: 131072 (order: 8, 1048576 bytes)
TCP bind hash table entries: 65536 (order: 7, 786432 bytes)
TCP: Hash tables configured (established 131072 bind 65536)
TCP reno registered
UDP hash table entries: 512 (order: 2, 16384 bytes)
UDP-Lite hash table entries: 512 (order: 2, 16384 bytes)
NET: Registered protocol family 1
RPC: Registered udp transport module.
RPC: Registered tcp transport module.
RPC: Registered tcp NFSv4.1 backchannel transport module.
omap-iommu omap-iommu.0: ducati registered
omap-iommu omap-iommu.1: tesla registered
iovmm-omap initialized ducati, major: 251, base-minor: 0
iovmm-omap initialized tesla, major: 251, base-minor: 1
dmtimer dmtimer.0: omap_dm_timer_probe:[id=0]
dmtimer dmtimer.1: omap_dm_timer_probe:[id=1]
dmtimer dmtimer.9: omap_dm_timer_probe:[id=9]
dmtimer dmtimer.2: omap_dm_timer_probe:[id=2]
dmtimer dmtimer.2:  registered
dmtimer dmtimer.3: omap_dm_timer_probe:[id=3]
dmtimer dmtimer.3:  registered
dmtimer dmtimer.4: omap_dm_timer_probe:[id=4]
dmtimer dmtimer.4:  registered
dmtimer dmtimer.5: omap_dm_timer_probe:[id=5]
dmtimer dmtimer.5:  registered
dmtimer dmtimer.6: omap_dm_timer_probe:[id=6]
dmtimer dmtimer.6:  registered
dmtimer dmtimer.7: omap_dm_timer_probe:[id=7]
dmtimer dmtimer.7:  registered
dmtimer dmtimer.8: omap_dm_timer_probe:[id=8]
dmtimer dmtimer.8:  registered
dmtimer dmtimer.10: omap_dm_timer_probe:[id=10]
dmtimer dmtimer.10:  registered
omap-remoteproc omap-remoteproc.0: omap_rproc_probe: adding rproc tesla
omap-remoteproc omap-remoteproc.0: omap-rproc initialized tesla, major: 250, base-minor: 0
omap-remoteproc omap-remoteproc.1: omap_rproc_probe: adding rproc ducati-proc0
omap-remoteproc omap-remoteproc.1: omap-rproc initialized ducati-proc0, major: 250, base-minor: 1
omap-remoteproc omap-remoteproc.2: omap_rproc_probe: adding rproc ducati-proc1
omap-remoteproc omap-remoteproc.2: omap-rproc initialized ducati-proc1, major: 250, base-minor: 2
highmem bounce pool size: 64 pages
VFS: Disk quotas dquot_6.5.2
Dquot-cache hash table entries: 1024 (order 0, 4096 bytes)
msgmni has been set to 1340
alg: No test for stdrng (krng)
io scheduler noop registered (default)
io scheduler deadline registered
io scheduler cfq registered
OMAP DSS rev 4.0
OMAP DISPC rev 4.0
OMAP DSI rev 3.0
OMAP DSI2 rev 3.0
OMAP HDMI W1 rev 2.0
Serial: 8250/16550 driver, 4 ports, IRQ sharing enabled
omap-hsuart.0: ttyO0 at MMIO 0x4806a000 (irq = 104) is a OMAP UART0
omap-hsuart.1: ttyO1 at MMIO 0x4806c000 (irq = 105) is a OMAP UART1
omap-hsuart.2: ttyO2 at MMIO 0×48020000 (irq = 106) is a OMAP UART2
console [ttyO2] enabled
omap-hsuart.3: ttyO3 at MMIO 0x4806e000 (irq = 102) is a OMAP UART3
brd: module loaded
loop: module loaded
usbcore: registered new interface driver smsc95xx
ehci_hcd: USB 2.0 ‘Enhanced’ Host Controller (EHCI) Driver
ehci-omap ehci-omap.0: OMAP-EHCI Host Controller
ehci-omap ehci-omap.0: new USB bus registered, assigned bus number 1
ehci-omap ehci-omap.0: irq 109, io mem 0x4a064c00
ehci-omap ehci-omap.0: USB 2.0 started, EHCI 1.00
usb usb1: New USB device found, idVendor=1d6b, idProduct=0002
usb usb1: New USB device strings: Mfr=3, Product=2, SerialNumber=1
usb usb1: Product: OMAP-EHCI Host Controller
usb usb1: Manufacturer: Linux 2.6.35-g6d019da-dirty ehci_hcd
usb usb1: SerialNumber: ehci-omap.0
hub 1-0:1.0: USB hub found
hub 1-0:1.0: 3 ports detected
Initializing USB Mass Storage driver…
usbcore: registered new interface driver usb-storage
USB Mass Storage support registered.
twl_rtc twl_rtc: rtc core: registered twl_rtc as rtc0
twl_rtc twl_rtc: Power up reset detected.
twl_rtc twl_rtc: Enabling TWL-RTC.
i2c /dev entries driver
IR NEC protocol handler initialized
IR RC5(x) protocol handler initialized
IR RC6 protocol handler initialized
IR JVC protocol handler initialized
IR Sony protocol handler initialized
Linux video capture interface: v2.00
OMAP Watchdog Timer Rev 0×00: initial timeout 60 sec
usbcore: registered new interface driver usbhid
usbhid: USB HID core driver
proc4430_drv_initializeModule
omap-devicehandler omap-devicehandler.0: omap_devh_probe: adding devh Tesla
omap-devh initialized Tesla, major: 243, base-minor: 0
omap-devicehandler omap-devicehandler.1: omap_devh_probe: adding devh SysM3
omap-devh initialized SysM3, major: 243, base-minor: 1
omap-devicehandler omap-devicehandler.2: omap_devh_probe: adding devh AppM3
omap-devh initialized AppM3, major: 243, base-minor: 2
SDP4430 SoC init
asoc: null-codec-dai <-> MultiMedia1 mapping ok
asoc: null-codec-dai <-> MultiMedia2 mapping ok
asoc: null-codec-dai <-> Voice mapping ok
asoc: null-codec-dai <-> Tones mapping ok
asoc: null-codec-dai <-> Vibra mapping ok
asoc: null-codec-dai <-> MODEM mapping ok
asoc: HDMI <-> hdmi-dai mapping ok
asoc: FM Digital <-> omap-mcbsp-dai.1 mapping ok
asoc: twl6040-dl1 <-> omap-mcpdm-dai mapping ok
asoc: twl6040-dl1 <-> omap-mcpdm-dai mapping ok
asoc: twl6040-ul <-> omap-mcpdm-dai mapping ok
asoc: twl6040-dl2 <-> omap-mcpdm-dai mapping ok
asoc: twl6040-vib <-> omap-mcpdm-dai mapping ok
asoc: Bluetooth <-> omap-mcbsp-dai.0 mapping ok
asoc: FM Digital <-> omap-mcbsp-dai.1 mapping ok
asoc: MODEM <-> omap-mcbsp-dai.1 mapping ok
asoc: dmic-hifi <-> omap-dmic-dai.0 mapping ok
asoc: dmic-hifi <-> omap-dmic-dai.1 mapping ok
asoc: dmic-hifi <-> omap-dmic-dai.2 mapping ok
input: SDP4430 Headset Jack as /devices/platform/soc-audio/sound/card0/input0
ALSA device list:
#0: SDP4430
TCP cubic registered
NET: Registered protocol family 17
Bluetooth: L2CAP ver 2.14
Bluetooth: L2CAP socket layer initialized
Bluetooth: SCO (Voice Link) ver 0.6
Bluetooth: SCO socket layer initialized
Bluetooth: RFCOMM TTY layer initialized
Bluetooth: RFCOMM socket layer initialized
Bluetooth: RFCOMM ver 1.11
lib80211: common routines for IEEE802.11 drivers
usb 1-1: new high speed USB device using ehci-omap and address 2
ThumbEE CPU extension supported.
omap_hwmod: Initialize debugfs support
VFP support v0.3: implementor 41 architecture 3 part 30 variant 9 rev 1
Console: switching to colour frame buffer device 240×67
usb 1-1: New USB device found, idVendor=0424, idProduct=9514
usb 1-1: New USB device strings: Mfr=0, Product=0, SerialNumber=0
hub 1-1:1.0: USB hub found
hub 1-1:1.0: 5 ports detected
regulator_init_complete: incomplete constraints, leaving VAUX3_6030 on
regulator_init_complete: incomplete constraints, leaving VAUX2_6030 on
regulator_init_complete: incomplete constraints, leaving VUSB on
regulator_init_complete: incomplete constraints, leaving VDAC on
regulator_init_complete: incomplete constraints, leaving VCXIO on
regulator_init_complete: incomplete constraints, leaving VANA on
regulator_init_complete: incomplete constraints, leaving VPP on
twl_rtc twl_rtc: setting system clock to 2000-01-01 00:00:00 UTC (946684800)
omap_vout omap_vout: : registered and initialized video device 0
omap_vout omap_vout: : registered and initialized video device 1
omap_vout omap_vout: : registered and initialized video device 2
omap_wb: registered and initialized wb device 3 [v4l2]
omapdss DISPC error: SYNC_LOST_DIGIT
omapdss DISPC error: SYNC_LOST_DIGIT, disabling TV
mmc0: host does not support reading read-only switch. assuming write-enable.
mmc0: new high speed SDHC card at address 0003
mmcblk0: mmc0:0003 SD8GB 7.41 GiB
mmcblk0: p1
p2
mmc1: card claims to support voltages below the defined range. These will be ignored.
usb 1-1.1: new high speed USB device using ehci-omap and address 3
mmc1: queuing unknown CIS tuple 0×91 (3 bytes)
mmc1: new SDIO card at address 0001
wl1271: loaded
wl1271: initialized
omapdss DISPC error: SYNC_LOST_DIGIT
omapdss DISPC error: SYNC_LOST_DIGIT, disabling TV
usb 1-1.1: New USB device found, idVendor=0424, idProduct=ec00
usb 1-1.1: New USB device strings: Mfr=0, Product=0, SerialNumber=0
EXT3-fs (mmcblk0p2): recovery required on readonly filesystem
EXT3-fs (mmcblk0p2): write access will be enabled during recovery
EXT3-fs: barriers not enabled
smsc95xx v1.0.4
smsc95xx 1-1.1:1.0: usb0: register ‘smsc95xx’ at usb-ehci-omap.0-1.1, smsc95xx USB 2.0 Ethernet, 6a:7a:72:2a:14:f3
omapdss DISPC error: SYNC_LOST_DIGIT
omapdss DISPC error: SYNC_LOST_DIGIT, disabling TV
usb 1-1.2: new low speed USB device using ehci-omap and address 4
omapdss DISPC error: SYNC_LOST_DIGIT
omapdss DISPC error: SYNC_LOST_DIGIT, disabling TV
usb 1-1.2: New USB device found, idVendor=046d, idProduct=c312
usb 1-1.2: New USB device strings: Mfr=1, Product=2, SerialNumber=0
usb 1-1.2: Product: USB Multimedia Keyboard
usb 1-1.2: Manufacturer: BTC
input: BTC USB Multimedia Keyboard as /devices/platform/ehci-omap.0/usb1/1-1/1-1.2/1-1.2:1.0/input/input1
generic-usb 0003:046D:C312.0001: input: USB HID v1.10 Keyboard [BTC USB Multimedia Keyboard] on usb-ehci-omap.0-1.2/input0
input: BTC USB Multimedia Keyboard as /devices/platform/ehci-omap.0/usb1/1-1/1-1.2/1-1.2:1.1/input/input2
generic-usb 0003:046D:C312.0002: input: USB HID v1.10 Device [BTC USB Multimedia Keyboard] on usb-ehci-omap.0-1.2/input1
omapdss DISPC error: SYNC_LOST_DIGIT
omapdss DISPC error: SYNC_LOST_DIGIT, disabling TV
omapdss DISPC error: SYNC_LOST_DIGIT
omapdss DISPC error: SYNC_LOST_DIGIT, disabling TV
omapdss DISPC error: SYNC_LOST_DIGIT
omapdss DISPC error: SYNC_LOST_DIGIT, disabling TV
omapdss DISPC error: SYNC_LOST_DIGIT
omapdss DISPC error: SYNC_LOST_DIGIT, disabling TV
omapdss DISPC error: SYNC_LOST_DIGIT
omapdss DISPC error: SYNC_LOST_DIGIT, disabling TV
omapdss DISPC error: SYNC_LOST_DIGIT
omapdss DISPC error: SYNC_LOST_DIGIT, disabling TV
omapdss DISPC error: SYNC_LOST_DIGIT
omapdss DISPC error: SYNC_LOST_DIGIT, disabling TV
omapdss DISPC error: SYNC_LOST_DIGIT
omapdss DISPC error: SYNC_LOST_DIGIT, disabling TV
omapdss DISPC error: SYNC_LOST_DIGIT
omapdss DISPC error: SYNC_LOST_DIGIT, disabling TV
omapdss DISPC error: SYNC_LOST_DIGIT
omapdss DISPC error: SYNC_LOST_DIGIT, disabling TV
omapdss DISPC error: SYNC_LOST_DIGIT
omapdss DISPC error: SYNC_LOST_DIGIT, disabling TV
omapdss DISPC error: SYNC_LOST_DIGIT
omapdss DISPC error: SYNC_LOST_DIGIT, disabling TV
omapdss DISPC error: SYNC_LOST_DIGIT
omapdss DISPC error: SYNC_LOST_DIGIT, disabling TV
omapdss DISPC error: SYNC_LOST_DIGIT
omapdss DISPC error: SYNC_LOST_DIGIT, disabling TV
omapdss DISPC error: SYNC_LOST_DIGIT
omapdss DISPC error: SYNC_LOST_DIGIT, disabling TV
omapdss DISPC error: SYNC_LOST_DIGIT
omapdss DISPC error: SYNC_LOST_DIGIT, disabling TV
omapdss DISPC error: SYNC_LOST_DIGIT
omapdss DISPC error: SYNC_LOST_DIGIT, disabling TV
omapdss DISPC error: SYNC_LOST_DIGIT
omapdss DISPC error: SYNC_LOST_DIGIT, disabling TV
omapdss DISPC error: SYNC_LOST_DIGIT
omapdss DISPC error: SYNC_LOST_DIGIT, disabling TV
omapdss DISPC error: SYNC_LOST_DIGIT
omapdss DISPC error: SYNC_LOST_DIGIT, disabling TV
omapdss DISPC error: SYNC_LOST_DIGIT
omapdss DISPC error: SYNC_LOST_DIGIT, disabling TV
omapdss DISPC error: SYNC_LOST_DIGIT
omapdss DISPC error: SYNC_LOST_DIGIT, disabling TV
omapdss DISPC error: SYNC_LOST_DIGIT
omapdss DISPC error: SYNC_LOST_DIGIT, disabling TV
omapdss DISPC error: SYNC_LOST_DIGIT
omapdss DISPC error: SYNC_LOST_DIGIT, disabling TV
omapdss DISPC error: SYNC_LOST_DIGIT
omapdss DISPC error: SYNC_LOST_DIGIT, disabling TV
omapdss DISPC error: SYNC_LOST_DIGIT
omapdss DISPC error: SYNC_LOST_DIGIT, disabling TV
omapdss DISPC error: SYNC_LOST_DIGIT
omapdss DISPC error: SYNC_LOST_DIGIT, disabling TV
omapdss DISPC error: SYNC_LOST_DIGIT
omapdss DISPC error: SYNC_LOST_DIGIT, disabling TV
omapdss DISPC error: SYNC_LOST_DIGIT
omapdss DISPC error: SYNC_LOST_DIGIT, disabling TV
omapdss DISPC error: SYNC_LOST_DIGIT
omapdss DISPC error: SYNC_LOST_DIGIT, disabling TV
omapdss DISPC error: SYNC_LOST_DIGIT
omapdss DISPC error: SYNC_LOST_DIGIT, disabling TV
EXT3-fs (mmcblk0p2): recovery complete
kjournald starting.  Commit interval 5 seconds
omapdss DISPC error: SYNC_LOST_DIGIT
omapdss DISPC error: SYNC_LOST_DIGIT, disabling TV
omapdss DISPC error: SYNC_LOST_DIGIT
omapdss DISPC error: SYNC_LOST_DIGIT, disabling TV
EXT3-fs (mmcblk0p2): mounted filesystem with writeback data mode
VFS: Mounted root (ext3 filesystem) readonly on device 179:2.
devtmpfs: mounted
Freeing init memory: 172K
omapdss DISPC error: SYNC_LOST_DIGIT
omapdss DISPC error: SYNC_LOST_DIGIT, disabling TV
omapdss DISPC error: SYNC_LOST_DIGIT
omapdss DISPC error: SYNC_LOST_DIGIT, disabling TV
omapdss DISPC error: SYNC_LOST_DIGIT
omapdss DISPC error: SYNC_LOST_DIGIT, disabling TV
omapdss DISPC error: SYNC_LOST_DIGIT
omapdss DISPC error: SYNC_LOST_DIGIT, disabling TV
Welcome to Fedora
Press ‘I’ to enter interactive startup.
Starting udev: [  OK  ]
Setting hostname fedora-arm:  [  OK  ]
Checking filesystems
Checking all file systems.
[  OK  ]
Remounting root filesystem in read-write mode:  [  OK  ]
Mounting local filesystems:  [  OK  ]
Enabling /etc/fstab swaps:  [  OK  ]
Entering non-interactive startup
FATAL: Module ipv6 not found.
Bringing up loopback interface:  [  OK  ]
Bringing up interface eth0:  Device eth0 does not seem to be present, delaying initialization.
[FAILED]
FATAL: Module ipv6 not found.
Starting system logger: [  OK  ]
rpcbind: unrecognized service
Mounting NFS filesystems:  [  OK  ]
Mounting other filesystems:  [  OK  ]
Retrigger failed udev events[  OK  ]
Starting sshd: [  OK  ]

Fedora release 12 (Constantine)
Kernel 2.6.35-g6d019da-dirty on an armv7l (console)

fedora-arm login: root
Password:
Last login: Sat Jan  1 00:00:44 on console
[root@fedora-arm ~]# uname -r
2.6.35-g6d019da-dirty
[root@fedora-arm ~]#

 

The Chat Log

20:21 < pbrobinson> root?
20:21 < micadeyeye> okay
20:24 < micadeyeye> i thought i got the boot files required to display the GUI.
20:24 < micadeyeye> i am using the boot.zip from http://scotland.proximity.on.ca/arm/kernel/pandaboard/2.6.35.3/
20:25 <@ctyler> micadeyeye: those files are specifically configured for no video
20:25 <@ctyler> at least, that kernel is
20:26 < micadeyeye> okay. i could try my kernel then.
20:26 < micadeyeye> thanks a million.
20:26 <@ctyler> micadeyeye: the easiest way to start is to use the kernel from the validation image
20:27 <@ctyler> in fact, you can start with the validation image, and then replace the 2nd partition rootfs with the fedora rootfs
20:28 < micadeyeye> okay. how about the F13beta?
20:28 < micadeyeye> I am not keenly intersted in the display though.
20:29 <@ctyler> yes, you can use f13beta rootfs to replace the 2nd partition of the validation image
20:29 <@ctyler> if you don’t care about the display at all, the kernel from scotland should work fine, and give you access to more RAM
20:29 < micadeyeye> thanks.
20:42 < micadeyeye> I am getting  this error – FATAL: Could not load /lib/modules/2.6.35-g6d019da-dirty/modules.dep: No such fy
20:42 < pbrobinson> did you unpack the kernel modules into the rootfs?
20:42 < micadeyeye> i know how to fix it. i was just wondering if i could use 2.6.38
20:42 < micadeyeye> pbrobinson: nope
20:43 < pbrobinson> you could compile up 2.6.38 likely. I’m not sure whether all the required support is upstream
20:43 < micadeyeye> how can i get the kernel modules?
20:44 < micadeyeye> i compiled one for 2.6.38
20:44 < pbrobinson> presumably where ever you got the kernel from.
20:44 < micadeyeye> the modules are not there – http://scotland.proximity.on.ca/arm/kernel/pandaboard/
20:45 < pbrobinson> there may not have been any. That would be a Q for ctyler or PaulW
20:46 < pbrobinson> for the panda board your likely best to use the omap kernel branch
20:46 < micadeyeye> but i wanted to use the one i compiled. but it’s got some symbolic links. the last time i tried using it, the sd card started acting up
20:46 < micadeyeye> pbrobinson: okay
21:16 <@ctyler> micadeyeye: if you’re using a non-modular kernel, that message is ignorable. you can clear the error message with: touch /lib/modules/$(uname -r)/modules.dep
21:16 <@ctyler> (well, mkdir -p /lib/modules/$(uname -r)   first)

Comments

Packaging for Fedora

My task on day 4 of POSSE SA was to package an application for Fedora, and it all went well. I tried the process all over again today as I intend packaging applications for Fedora-arm. Below are the steps I took. You can get the rpmbuild for the sample application here. Although I ran the process on my i386 PC, I learnt that packaging Fedora apps. for ARM devices on a machine with a different processor architecture comes with a lot of problems. Hence, it is advisable to package Fedora-arm apps on an ARM-based machine, such as Pandaboard, Sheevaplug and Beagleboard.

The Packaging Procedure and How to generate a Patch

sudo yum install fedora-packager
rpmdev-setuptree
ls ~/rpmbuild/
rpmbuild –clean buildsample
cd ~/rpmbuild/SPECS/
#clean up
rpmbuild –clean buildsample.spec
#prepare
rpmbuild –bp buildsample.spec
#make
rpmbuild –bc buildsample.spec
#install
rpmbuild –bi buildsample.spec
#build
rpmbuild –bb buildsample.spec
#source
rpmbuild –bs buildsample.spec
#all (package_all)
rpmbuild –ba buildsample.spec
rpmlint buildsample.spec
rpmlint ../SRPMS/buildsample-2.0-1.src.rpm
rpmls ../RPMS/x86_64/buildsample-2.0-1.x86_64.rpm
rpm2cpio ../RPMS/x86_64/buildsample-2.0-1.x86_64.rpm | cpio -idv
sudo yum install ../RPMS/x86_64/buildsample-2.0-1.x86_64.rpm –nogpgcheck
rpm -qa | grep buildsample
buildsample
sudo yum remove buildsample
#adding patches
rpmbuild -bp buildsample.spec
cd ../BUILD/buildsample-2.0/
cp buildsample.c buildsample.c.fix
gedit buildsample.c.fix  #make the changes
gendiff buildsample-2.0/ .fix
gendiff buildsample-2.0/ .fix > ~/rpmbuild/SOURCES/buildsample-fix.patch
cd ../SPECS/
#edit the specs’ file -  change the release no
#restart the build process

Comments

Getting Started with Pandaboard (2)

I recently got Andriod running on my Nokia N900. This was after I got it running on Pandaboard. While the former is referred to as Nitdroid, the latter is referred to as Pandroid (also check here). There are some issues regarding both devices and cellular network connectivity. Pandaboard, being a development kit, does not have a GSM/3G module, and Nokia N900, which comes with an open operating system called Maemo, has its GSM/3G internal architecture closed. The Maemo OS repository [1, 2] does not include the  cellular (GSM/3G) module, which makes it difficult to get another OS, such as Android, seamlessly run on the N900. Below are some of pictures I took after the installation.

Comments