Gumstix: The Beginning
Well, my Gumstix arrived the other day and I was able to finally get a chance to work on it.
Even though I knew they were the size of a stick of chewing gum, I was still shocked to see how small it really was! My mind still boggles at the fact that this is a fully operational Linux computer on this little motherboard!
There are going to be a number of different things that I am going to have to get accustomed to before I am going to feel completely at home with this new computer but I am really looking forward to playing around with some of the abilities that it will provide me.
In this post, I am going to talk a little bit about my first experience with my Gumstix and what things looked like on first boot up.
Initial Hardware Configuration
![]() |
The first thing that my wife asked me when she say the Gumstix computer was, “How do you do anything with it?” This was a very valid question, especially coming from someone who is accustomed to the “traditional” configuration of a computer. That is, a case with disk drives, keyboard, mouse, and a monitor. The Gumstix has none of those. So, how do you work with it?
Luckily, I have some experience with non-traditional computing systems such as network appliances. The key to getting access to these devices is to connect to them via a serial cable.
![]() |
In order to do this, I needed to connect the motherboard to the tweener board. The tweener gives us a few abilities but the two things that it allowed me to do were to give the motherboard power and connect to it with a serial connector.
It was simple to snap the two boards together, making sure that the tweener board was sticking out from the motherboard. I then connected the serial cable that I purchased from Gumstix to the serial port on my computer.
In order to see what was happing on the Gumstix computer on my Vista laptop, I needed to install terminal software and point it to my serial port that was connected to the Gumstix. Since Vista does not come with HyperTerminal, I used PuTTY to connect to the serial port (PuTTY added serial port access in version beta 0.59 on January 24, 2007, six days before Vista launched!).
It was also important to ensure that the serial connections were set up properly. The connection settings are very similar to that of other network devices with serial connections. The specific connection settings for Gumstix are:
- Speed (baud rate) - 11520
- Data bits - 8
- Stop bits - 1
- Parity - None
- Flow control - None
Once I set these up, I was ready to start my PuTTY terminal session. I plugged power in to the tweener board and prepared for the first boot.
First Boot
To be honest, the first boot wasn’t all that exciting. A lot of text whizzed by faster than I was able to read it. Luckily, PuTTY let me log the entire transaction. Here is the complete boot process from start to finish. Admittedly, it isn’t very exciting but I include it for reference. I would not blame you if you were to skip ahead.
U-Boot 1.1.4 (Nov 6 2006 - 11:20:03) - 400 MHz - 1161*** Welcome to Gumstix ***RAM Configuration:Bank #0: a0000000 64 MB
|
At this point, I needed to log into the system. The default username/password combination for Gumstix computers is root and gumstix so I entered the information and got the typical Linux # command prompt.
I did a bit of digging around and discovered that the file system looks very similar to many other Linux file systems.
My To Learn List
That was about as far as I got on the system. But, from this very basic introduction, there are a number of things that I have discovered that I need to learn:
- How to use vi, the text editor, to edit files on the system (since I am more of a nano guy)
- How to copy files between my laptop and the Gumstix system
- Determine if files remain on the system in flash or do I need to add external storage
- How to change the root password and add users
Still Excited…
There is so much that I want to explore with this system. I want to determine what it can do and how far I can push it before it pushes back. I also want to see if it can replace some of the big systems that I now have running in my network environment.
Stay tuned.
If you found this post useful, why don't you buy me a cup of coffee to show your gratitude?
13 Responses to “Gumstix: The Beginning”
-
[Geeks Are Sexy] Technology News | Technology, science, news and social issues for geeks. Says:
November 30th, 1999 at 12:00 am10 quick and (almost) painless ways to kill distractions “Reducing and eliminating pesky distractions isn’t a feat, and you don’t need a 12-step program. Here are ten actions you can do right now to kill distractions and get back to work:” -Gumstix: The Beginning Tim over at DCOT just got his hands on a gumstix computer, a tiny linux box that’s approximately the the size of a stick of gum. -How to … Fix a Computer? When your computer fails, it’s like being returned instantly to the 70s. Post Offices,
-
Guy Walton Says:
July 19th, 2007 at 7:45 amhttp://www-acs.ucsd.edu/info/vi_tutorial.php is a good guide for using VI for beginners
-
Anon Says:
July 19th, 2007 at 8:34 amPlease Keep us posted. This is exciting!
-
University Update - Linux - Gumstix: The Beginning Says:
July 19th, 2007 at 8:54 am[…] Link to Article linux Gumstix: The Beginning » Posted at Daily Cup of Tech on Thursday, July […]
-
Webs Says:
July 19th, 2007 at 10:27 amVery cool and geeky!! This is a great design idea that makes a lot of computing applications possible that previously were not. I wouldn’t mind taking a look at this down the road as well!
-
Charles Anderson Says:
July 19th, 2007 at 1:38 pmGet yourself one of these to help with your VI studies.
http://www.cafepress.com/geekcheat.11507711
Also install vim for windows www.vim.org and learn by total immersion.
-
Faust-C Says:
July 20th, 2007 at 7:54 am@ Charles
Vi and Vim are 2 different apps.But this is exciting cause i plan on using gumstix for a project. Adding users is easy and changing root password is a simple:
“passwd root”
Anyways happy hacking! -
Kiltak Says:
July 23rd, 2007 at 7:54 amTim, you should link to the 2nd part of this article on the bottom of this one..
K.
-
Tim Fehlman Says:
July 23rd, 2007 at 8:15 am@Kiltak - Thanks for the tip. I was going to do that when I wrote the article and I just never got to it. It’s done now.
Tim
-
Jason Park Says:
October 18th, 2007 at 10:00 pmHas anyone had experience with as well? Similar product idea, but it seems to be a bit more expandable. I’m wanting to use something like this or Gumstix for a school project.
-
Anti spam and Mail Cleaning Software Says:
November 17th, 2007 at 5:55 pmsource:Gumstix: The Beginning, Daily Cup of Tech Not exactly what I was looking for, but still a good read.
-
Dave Says:
March 20th, 2009 at 10:07 amI seen the post of your complete bootup. I have a NetDuo MMc, connex 400x, and a console -st assembly. Upon the first bootup, it hangs. I copied the bootup, as you can see it hangs half way through. Any ideas?
U-Boot 1.1.4 (Nov 6 2006 - 11:20:03) - 400 MHz - 1161
*** Welcome to Gumstix ***
U-Boot code: A3F00000 -> A3F25DE4 BSS: -> A3F5AF00
RAM Configuration:
Bank #0: a0000000 64 MB
Flash: 16 MB
Using default environmentSMC91C1111-0
Net: SMC91C1111-0
Hit any key to stop autoboot: 0
GUM> rm installfiles
Unknown command ‘rm’ - try ‘help’
GUM> reset
resetting …U-Boot 1.1.4 (Nov 6 2006 - 11:20:03) - 400 MHz - 1161
*** Welcome to Gumstix ***
U-Boot code: A3F00000 -> A3F25DE4 BSS: -> A3F5AF00
RAM Configuration:
Bank #0: a0000000 64 MB
Flash: 16 MB
Using default environmentSMC91C1111-0
Net: SMC91C1111-0
Hit any key to stop autoboot: 0
Instruction Cache is ON
### JFFS2 loading ‘boot/uImage’ to 0xa2000000
Scanning JFFS2 FS: ….. done.
### JFFS2 load complete: 784636 bytes loaded to 0xa2000000
## Booting image at a2000000 …
Image Name: uImage
Image Type: ARM Linux Kernel Image (uncompressed)
Data Size: 784572 Bytes = 766.2 kB
Load Address: a0008000
Entry Point: a0008000
OKStarting kernel …
Linux version 2.6.18gum (craig@azazel) (gcc version 3.4.5) #1 Mon Nov 6 11:18:37
PST 2006
CPU: XScale-PXA255 [69052d06] revision 6 (ARMv5TE), cr=0000397f
Machine: The Gumstix Platform
Memory policy: ECC disabled, Data cache writeback
Memory clock: 99.53MHz (*27)
Run Mode clock: 398.13MHz (*4)
Turbo Mode clock: 398.13MHz (*1.0, inactive)
CPU0: D VIVT undefined 5 cache
CPU0: I cache: 32768 bytes, associativity 32, 32 byte lines, 32 sets
CPU0: D cache: 32768 bytes, associativity 32, 32 byte lines, 32 sets
Built 1 zonelists. Total pages: 16384
Kernel command line: console=ttyS0,115200n8 root=1f01 rootfstype=jffs2 reboot=co
ld,hard
PID hash table entries: 512 (order: 9, 2048 bytes)
start_kernel(): bug: interrupts were enabled early
Dentry cache hash table entries: 8192 (order: 3, 32768 bytes)
Inode-cache hash table entries: 4096 (order: 2, 16384 bytes)
Memory: 64MB = 64MB total
Memory: 63268KB available (1292K code, 250K data, 64K init)
Mount-cache hash table entries: 512
CPU: Testing write buffer coherency: ok
NET: Registered protocol family 16
NET: Registered protocol family 2
IP route cache hash table entries: 512 (order: -1, 2048 bytes)
TCP established hash table entries: 2048 (order: 1, 8192 bytes)
TCP bind hash table entries: 1024 (order: 0, 4096 bytes)
TCP: Hash tables configured (established 2048 bind 1024)
TCP reno registered
JFFS2 version 2.2. (NAND) (C) 2001-2006 Red Hat, Inc.
Initializing Cryptographic API
io scheduler noop registered (default)
pxa2xx-uart.0: ttyS0 at MMIO 0×40100000 (irq = 15) is a FFUART
pxa2xx-uart.1: ttyS1 at MMIO 0×40200000 (irq = 14) is a BTUART
pxa2xx-uart.2: ttyS2 at MMIO 0×40700000 (irq = 13) is a STUART
pxa2xx-uart.3: ttyS3 at MMIO 0×41600000 (irq = 0) is a HWUART
Probing Gumstix Flash ROM at physical address 0×00000000 (16-bit bankwidth)
Gumstix Flash ROM: Found 1 x16 devices at 0×0 in 16-bit bank
Intel/Sharp Extended Query Table at 0×0031
Using buffer write method
cfi_cmdset_0001: Erase suspend on write enabled
Using static partitions on Gumstix Flash ROM
Creating 2 MTD partitions on “Gumstix Flash ROM”:
0×00000000-0×00040000 : “Bootloader”
0×00040000-0×01000000 : “RootFS”
TCP bic registered
jffs2_scan_eraseblock(): Magic bitmask 0×1985 not found at 0×00322a54: 0×0201 in
stead
jffs2_scan_eraseblock(): Magic bitmask 0×1985 not found at 0×00322a58: 0×0605 in
stead
jffs2_scan_eraseblock(): Magic bitmask 0×1985 not found at 0×00322a5c: 0×0a09 in
stead
jffs2_scan_eraseblock(): Magic bitmask 0×1985 not found at 0×00322a60: 0×0e0d in
stead
jffs2_scan_eraseblock(): Magic bitmask 0×1985 not found at 0×00322a64: 0×1211 in
stead
jffs2_scan_eraseblock(): Magic bitmask 0×1985 not found at 0×00322a68: 0×1615 in
stead
jffs2_scan_eraseblock(): Magic bitmask 0×1985 not found at 0×00322a6c: 0×1a19 in
stead
jffs2_scan_eraseblock(): Magic bitmask 0×1985 not found at 0×00322a70: 0×1e1d in
stead
jffs2_scan_eraseblock(): Magic bitmask 0×1985 not found at 0×00322a74: 0×2221 in
stead
jffs2_scan_eraseblock(): Magic bitmask 0×1985 not found at 0×00322a78: 0×2625 in
stead
Further such events for this erase block will not be printed
VFS: Mounted root (jffs2 filesystem).
Freeing init memory: 64K
NET: Registered protocol family 1U-Boot 1.1.4 (Nov 6 2006 - 11:20:03) - 400 MHz - 1161
*** Welcome to Gumstix ***
U-Boot code: A3F00000 -> A3F25DE4 BSS: -> A3F5AF00
RAM Configuration:
Bank #0: a0000000 64 MB
Flash: 16 MB
Using default environmentSMC91C1111-0
Net: SMC91C1111-0
Hit any key to stop autoboot: 0
Instruction Cache is ON
### JFFS2 loading ‘boot/uImage’ to 0xa2000000
Scanning JFFS2 FS: ….. done.
### JFFS2 load complete: 784636 bytes loaded to 0xa2000000
## Booting image at a2000000 …
Image Name: uImage
Image Type: ARM Linux Kernel Image (uncompressed)
Data Size: 784572 Bytes = 766.2 kB
Load Address: a0008000
Entry Point: a0008000
OKStarting kernel …
Linux version 2.6.18gum (craig@azazel) (gcc version 3.4.5) #1 Mon Nov 6 11:18:37
PST 2006
CPU: XScale-PXA255 [69052d06] revision 6 (ARMv5TE), cr=0000397f
Machine: The Gumstix Platform
Memory policy: ECC disabled, Data cache writeback
Memory clock: 99.53MHz (*27)
Run Mode clock: 398.13MHz (*4)
Turbo Mode clock: 398.13MHz (*1.0, inactive)
CPU0: D VIVT undefined 5 cache
CPU0: I cache: 32768 bytes, associativity 32, 32 byte lines, 32 sets
CPU0: D cache: 32768 bytes, associativity 32, 32 byte lines, 32 sets
Built 1 zonelists. Total pages: 16384
Kernel command line: console=ttyS0,115200n8 root=1f01 rootfstype=jffs2 reboot=co
ld,hard
PID hash table entries: 512 (order: 9, 2048 bytes)
start_kernel(): bug: interrupts were enabled early
Dentry cache hash table entries: 8192 (order: 3, 32768 bytes)
Inode-cache hash table entries: 4096 (order: 2, 16384 bytes)
Memory: 64MB = 64MB total
Memory: 63268KB available (1292K code, 250K data, 64K init)
Mount-cache hash table entries: 512
CPU: Testing write buffer coherency: ok
NET: Registered protocol family 16
NET: Registered protocol family 2
IP route cache hash table entries: 512 (order: -1, 2048 bytes)
TCP established hash table entries: 2048 (order: 1, 8192 bytes)
TCP bind hash table entries: 1024 (order: 0, 4096 bytes)
TCP: Hash tables configured (established 2048 bind 1024)
TCP reno registered
JFFS2 version 2.2. (NAND) (C) 2001-2006 Red Hat, Inc.
Initializing Cryptographic API
io scheduler noop registered (default)
pxa2xx-uart.0: ttyS0 at MMIO 0×40100000 (irq = 15) is a FFUART
pxa2xx-uart.1: ttyS1 at MMIO 0×40200000 (irq = 14) is a BTUART
pxa2xx-uart.2: ttyS2 at MMIO 0×40700000 (irq = 13) is a STUART
pxa2xx-uart.3: ttyS3 at MMIO 0×41600000 (irq = 0) is a HWUART
Probing Gumstix Flash ROM at physical address 0×00000000 (16-bit bankwidth)
Gumstix Flash ROM: Found 1 x16 devices at 0×0 in 16-bit bank
Intel/Sharp Extended Query Table at 0×0031
Using buffer write method
cfi_cmdset_0001: Erase suspend on write enabled
Using static partitions on Gumstix Flash ROM
Creating 2 MTD partitions on “Gumstix Flash ROM”:
0×00000000-0×00040000 : “Bootloader”
0×00040000-0×01000000 : “RootFS”
TCP bic registered
jffs2_scan_eraseblock(): Magic bitmask 0×1985 not found at 0×00322a54: 0×0201 in
stead
jffs2_scan_eraseblock(): Magic bitmask 0×1985 not found at 0×00322a58: 0×0605 in
stead
jffs2_scan_eraseblock(): Magic bitmask 0×1985 not found at 0×00322a5c: 0×0a09 in
stead
jffs2_scan_eraseblock(): Magic bitmask 0×1985 not found at 0×00322a60: 0×0e0d in
stead
jffs2_scan_eraseblock(): Magic bitmask 0×1985 not found at 0×00322a64: 0×1211 in
stead
jffs2_scan_eraseblock(): Magic bitmask 0×1985 not found at 0×00322a68: 0×1615 in
stead
jffs2_scan_eraseblock(): Magic bitmask 0×1985 not found at 0×00322a6c: 0×1a19 in
stead
jffs2_scan_eraseblock(): Magic bitmask 0×1985 not found at 0×00322a70: 0×1e1d in
stead
jffs2_scan_eraseblock(): Magic bitmask 0×1985 not found at 0×00322a74: 0×2221 in
stead
jffs2_scan_eraseblock(): Magic bitmask 0×1985 not found at 0×00322a78: 0×2625 in
stead
Further such events for this erase block will not be printed
VFS: Mounted root (jffs2 filesystem).
Freeing init memory: 64K
NET: Registered protocol family 1 -
barryzanders Says:
December 2nd, 2009 at 11:07 pmreflash the gumstix. might have been a bad or incomplete flash the 1st time



