A SVXLink Server based on the BeagleBoard: Unterschied zwischen den Versionen
Dl8rds (Diskussion | Beiträge) (→SVXLink) |
Dl8rds (Diskussion | Beiträge) (→Beagleboard: Setup U-boot for boot) |
||
(32 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt) | |||
Zeile 1: | Zeile 1: | ||
== Project History == | == Project History == | ||
− | Ever since I have been interested in ever smaller and more efficient hardware solutions that nevertheless fulfill their assigned tasks just perfectly while consuming as little as possible power. I started off with other platforms: | + | Ever since I have been interested in ever smaller and more efficient hardware solutions that nevertheless fulfill their assigned tasks just perfectly while consuming as little as possible power. I started off with other platforms: |
* The [[Cisco Linksys WRTSL54GS]] was a nice start. I killed the serial port with my soldering iron. | * The [[Cisco Linksys WRTSL54GS]] was a nice start. I killed the serial port with my soldering iron. | ||
Zeile 9: | Zeile 9: | ||
So my attention was won by the BeagleBoard. It is a neat little ARM based board which provides more comfort than the Linksys / ASUS / Fonera class of devices but is smaller and far more power efficient than the Intel Atom. The first test showed that it relly just consumes 1.83 Watts, the current I measured was down at 0,366 A @ 5 V. So that's very promising. | So my attention was won by the BeagleBoard. It is a neat little ARM based board which provides more comfort than the Linksys / ASUS / Fonera class of devices but is smaller and far more power efficient than the Intel Atom. The first test showed that it relly just consumes 1.83 Watts, the current I measured was down at 0,366 A @ 5 V. So that's very promising. | ||
− | It is striking that the BeagleBoard does not have an Ethernet device. So you cannot connect it to the network and start off, but there's more that needs to be done. Luckily enough, it has some more interfaces that can be used for networked I/O like the USB 2.0 port, which should be sufficiently expandable and also fast enough. | + | It is striking that the BeagleBoard does not have an Ethernet device. So you cannot connect it to the network and start off, but there's more that needs to be done. Luckily enough, it has some more interfaces that can be used for networked I/O like the USB 2.0 port, which should be sufficiently expandable and also fast enough. |
== Project Goals == | == Project Goals == | ||
− | The goal of this project is to build a highly integrated and energy efficient Echolink Link node, which has a small transceiver built in. The main focus is on power efficiency, with total power consumption not exceeding | + | The goal of this project is to build a highly integrated and energy efficient Echolink Link node, which has a small transceiver built in. The main focus is on power efficiency, with total power consumption not exceeding 10 watts, including the transmitter. |
+ | |||
+ | == Similar projects == | ||
+ | * http://www.darc-coburg.de/modules/wiwimod/index.php?page=Benjamin+IV | ||
+ | |||
+ | == Links == | ||
+ | BeagleBoard Reference, which will answer all your questions on the hardware: http://beagleboard.org/static/BBSRM_latest.pdf | ||
+ | |||
+ | * http://beagleboard.org | ||
+ | * http://code.google.com/p/beagleboard/ | ||
+ | * http://elinux.org/BeagleBoardUbuntu | ||
+ | * http://elinux.org/BeagleBoard/contest#BeagleHam | ||
+ | * https://wiki.ubuntu.com/ARM/RootfsFromScratch | ||
+ | * http://code.google.com/p/beagleboard/wiki/LinuxHints supergreat hints, esp. on switching the graphics output | ||
+ | * http://beagleboard.org/project/Ethernet+expansion+board/ supercool expansion board. Will have it as soon as it is out. | ||
+ | * http://elinux.org/BeagleBoardUbuntuNetwork | ||
+ | * http://elinux.org/BeagleBoardRawLCD | ||
+ | * http://global.freifunk.net/?q=item/building_a_custom_debian_kernel_for_the_beagleboard | ||
+ | |||
+ | Transceiver interface | ||
+ | * http://www.darc.de/distrikte/g/38/soundkarteninterface.htm | ||
+ | |||
+ | Additional information | ||
+ | * http://groups.google.com/group/beagleboard/browse_thread/thread/c48f16f3eaf9d2d4/a86afeca41328dc1?pli=1 How to enable PAL S-Video output | ||
== Hardware == | == Hardware == | ||
Zeile 29: | Zeile 52: | ||
[[Image:BeagleBasePCB.jpg|400px]] | [[Image:BeagleBasePCB.jpg|400px]] | ||
+ | |||
+ | === Power Statistics === | ||
+ | |||
+ | In order to understand which devices are consuming most power, I made a number of measurements. The measurements are related to the 13,8V connection, before the DC current is converted through my COSEL down to 5 V. | ||
+ | |||
+ | BeagleBoard alone: 175mA @ 13,8V | ||
+ | BeagleBoard with LED-castrates USB hub: 185mA, so the USB hub without LEDs is just 10 mA @13,8V | ||
+ | BeagleBoard, USB HUB plus USB2Ethernet: 321 mA, so theUSB2Ethernet board eats ~140mA @13,8V | ||
+ | BeagleBoard, USB HUB, USB2Ethernet plus WLAN stick (TX mode): 505mA, so the WLAN device eats ~180mA @13,8V | ||
+ | Beagleboard while compiling SVXLink: +7mA -> 96 mW; same power consumption in while infinite loop. | ||
+ | |||
+ | BeagleBoard alone: 2.415 W | ||
+ | USB HUB: 130 mW | ||
+ | USB2Ethernet: 1.93 W | ||
+ | USB2WLAN: 2.48 W | ||
+ | |||
+ | This all given that the COSEL DC converter is has a bad efficiency of 67%. So very basically, the real power consumption values are all about a third less. | ||
=== Transmitter: [[T7F]] === | === Transmitter: [[T7F]] === | ||
Zeile 34: | Zeile 74: | ||
=== Transceiver Interface === | === Transceiver Interface === | ||
− | * | + | Since there is a Audio In / Out connection on the board, I will make use of them. In order to separate the two circuits, I will separate them, using the simple plan described here: |
+ | |||
+ | * http://www.darc.de/distrikte/g/38/soundkarteninterface.htm | ||
− | == | + | === Observations === |
− | BeagleBoard | + | |
+ | * 2009-09-06 Some new observations: With the Cosel ZUS25 1205 as DC regulator (providing 5.06 volts to the board), the BeagleBoard alone consumes 196 mA at 13,8V. This makes 2,70 Watts. So as compared to the 1,83 Watts measured earlier, the Cosel runs at an efficiency of 67%, so 33% power loss at this point. This is quite brutal... | ||
+ | |||
+ | * 2009-09-06 Some more observations: I have now connected a USB hub to the board, and a USB2Ethernet adapter so that I can connect to the local LAN. Now, the current is up at 345 mA, so the power consumption is 4,76 Watts. I see that I must give up my goal to stay below 3 watts total power consumption. Game over. Thus I am extending my goal to stay below 10 watts over all, including the transmitter. So if I decide to use my [[Standard C-408]], I will surely make it, but probably not with the [[T7F]]. Yet, the T7F is more of a challenge, because there's more to control digitally about this transceiver. | ||
− | * | + | * 2009-09-06 Yet some more observations: On the USB hub board there were 7 LEDs, shining in different colours. Since it's my goal to build a real power saving thing, I had a look if they had any function at all, and I couldn't discover any. So, they had to go away. I soldered them out. And the result was that the current is now down at 283 mA, making 3,90 Watts. At least, I'm below 4 Watts now. |
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | + | * 009-09-06 Yet some more observations: When I unplugged the USB2Ethernet adapter, I noticed a current drop from 284 to 141 mA. So the USB2Eth adapter consumes almost 1,8 Watts!!!! | |
− | * | ||
== Software == | == Software == | ||
− | === Operating System === | + | === Pre-Ubuntu-10.04 Operating System Installation === |
− | Firstly I want to point out that I am not using the Angstrom firmware but Ubuntu | + | Firstly I want to point out that or this test I am not using the Angstrom firmware but Ubuntu. |
The installation procedure is basically this: | The installation procedure is basically this: | ||
Zeile 136: | Zeile 172: | ||
Using a terminal program, stop u-boot and add these commands: | Using a terminal program, stop u-boot and add these commands: | ||
+ | |||
+ | Some notes ahead on the parameters: | ||
+ | |||
+ | fixrtc: (only uInitrd) Resets RTC based on last mount | ||
+ | buddy=${buddy}: (both) Kernel Zippy1/2 Support | ||
+ | mpurate=${mpurate}: (recommended core clock) | ||
+ | |||
+ | Here is more explanation on dss video options : http://git.kernel.org/?p=linux/kernel/git/tmlind/linux-omap-2.6.git;a=blob;f=Documentation/fb/modedb.txt;h=ec4dee75a35450376ad13442ea926eaf76de76aa;hb=HEAD | ||
+ | |||
+ | Now proceed along the instructions given here: http://elinux.org/BeagleBoardUbuntu#Beagleboard:_First_boot | ||
For Linux Kernel 2.6.29 and higher using DSS2 | For Linux Kernel 2.6.29 and higher using DSS2 | ||
Zeile 143: | Zeile 189: | ||
setenv bootcmd 'mmc init; fatload mmc 0:1 0x80300000 uImage; bootm 0x80300000' (r27) | setenv bootcmd 'mmc init; fatload mmc 0:1 0x80300000 uImage; bootm 0x80300000' (r27) | ||
− | setenv bootargs 'console=ttyS2,115200n8 console=tty0 root=/dev/mmcblk0p2 rootwait rootfstype=ext3 ro omapfb.mode=dvi:1280x720MR-16@60' | + | setenv bootargs 'console=ttyS2,115200n8 console=tty0 root=/dev/mmcblk0p2 rootwait rootfstype=ext3 ro omapfb.mode=dvi:1280x720MR-16@60 fixrtc buddy=${buddy}' |
saveenv | saveenv | ||
boot | boot | ||
Zeile 153: | Zeile 199: | ||
"1024x768MR-16@60""800x600MR-16@60" ... | "1024x768MR-16@60""800x600MR-16@60" ... | ||
− | + | Note that you can toggle the output to yout S-Video interface with PAL standard (works excellent with me): | |
− | + | setenv bootargs 'console=ttyS2,115200n8 root=/dev/mmcblk0p2 rw rootwait omapfb.mode=tv:pal omapdss.def_disp=tv fixrtc buddy=${buddy}' | |
+ | setenv bootcmd 'mmc init;fatload mmc 0 80300000 uImage;bootm 80300000' | ||
+ | saveenv | ||
+ | boot | ||
==== First Boot ==== | ==== First Boot ==== | ||
− | You can use minicom or Hyperterm on Windows | + | You can use minicom or Hyperterm on Windows. |
+ | |||
+ | The below given example is from an Ubuntu image. The Angstrom image looks a little different, but basically it is the same. | ||
+ | |||
+ | In the meantime I prefer the Angstrom image because it supports the Zippy board which I have. | ||
Texas Instruments X-Loader 1.4.2 (Feb 19 2009 - 12:01:24) | Texas Instruments X-Loader 1.4.2 (Feb 19 2009 - 12:01:24) | ||
Zeile 589: | Zeile 642: | ||
Seems I have been successful :-) The only thing I notice is that the HW clock is some months off the track, but without mounted backup battery this is forgiveable. | Seems I have been successful :-) The only thing I notice is that the HW clock is some months off the track, but without mounted backup battery this is forgiveable. | ||
+ | |||
+ | === Ubuntu-10.04 Operating System Installation === | ||
+ | |||
+ | * 2010-06-04 From time to time it's reasonable to check if installation procedures are still valid. So I found that the above given instructions will no longer be perfectly successful because repository paths have changed, giving a 404 error for some items. So here's a revised list of instructions. I am still running with a BeagleBoard, yet the below instructions are also supposed to run on a C3 release with the ZippvV1. | ||
+ | |||
+ | ==== Requirements ==== | ||
+ | I am doing the installation on Ubuntu Karmic on my laptop, so some packages need to be postinstalled. Here's also some very important resource which you are strongly recommended to read: | ||
+ | |||
+ | * http://elinux.org/BeagleBoardUbuntu#Demo_Image | ||
+ | * https://wiki.ubuntu.com/ARM/BeagleServerInstall | ||
+ | |||
+ | Then install some software: | ||
+ | |||
+ | apt-get install qemu qemu-kvm-extras | ||
+ | |||
+ | Also update the debootstrap files: Point your browser to the following URL and get the most recent deboostrap | ||
+ | |||
+ | http://ports.ubuntu.com/pool/main/d/debootstrap/ | ||
+ | |||
+ | Choose one of the following: 1.0.23 is more recent. | ||
+ | |||
+ | debootstrap_1.0.23_all.deb | ||
+ | debootstrap_1.0.20ubuntu1~karmic1_all.deb | ||
+ | |||
+ | Then install it on your Ubuntu with the following command: Switch on your brain and substitute the file name with what you've downloaded :-) | ||
+ | |||
+ | sudo dpkg -i debootstrap_........deb | ||
+ | |||
+ | Get the current rootstock file: Point your browser to the following URL and hit the "download" button: | ||
+ | |||
+ | http://bazaar.launchpad.net/~beagleboard-kernel/%2Bjunk/rootstock-on-arm-rc/annotate/head%3A/rootstock | ||
+ | |||
+ | Don't forget to make the rootstock file executable: | ||
+ | |||
+ | chmod u+x rootstock | ||
+ | |||
+ | ==== Creating the Image ==== | ||
+ | |||
+ | I am happy to own a 32 GB MMC card (class 6, which is quite speedy). So I am composing the following rootstock command: | ||
+ | |||
+ | ./rootstock --fqdn beagleboard --login ubuntu --password temppwd --imagesize 32G \ | ||
+ | --seed wget,nano,linux-firmware,wireless-tools,usbutils --dist lucid --serial ttyS2 \ | ||
+ | --script fixup.sh --components "main universe multiverse" \ | ||
+ | --kernel-image http://rcn-ee.net/deb/kernel/beagle/lucid/v2.6.32.11-l13/linux-image-2.6.32.11-l13_1.0lucid_armel.deb | ||
=== SVXLink === | === SVXLink === | ||
Zeile 601: | Zeile 698: | ||
ln -s /usr/bin/gcc-4.2 /usr/bin/gcc | ln -s /usr/bin/gcc-4.2 /usr/bin/gcc | ||
ln -s /usr/bin/g++-4.2 /usr/bin/g++ | ln -s /usr/bin/g++-4.2 /usr/bin/g++ | ||
+ | |||
+ | * 2009-09-06 Good news: Power consumption only rises by 7-8 mA @13,8V when compiling software at 100% CPU load. So the delta from idle to full CPU load is just 0.110 mW. - Given that about 33% of that load will also be consumed by the DC regulator. | ||
+ | |||
+ | == Putting it all together == | ||
+ | === Building another case === | ||
+ | |||
+ | The single copper sided PCB method comes into the scene again, as well as the u-profile technique to hold the floor of the case as well as the boards. | ||
+ | |||
+ | Come again soon to see the pictures. |
Aktuelle Version vom 13. November 2010, 20:01 Uhr
Inhaltsverzeichnis
1 Project History
Ever since I have been interested in ever smaller and more efficient hardware solutions that nevertheless fulfill their assigned tasks just perfectly while consuming as little as possible power. I started off with other platforms:
- The Cisco Linksys WRTSL54GS was a nice start. I killed the serial port with my soldering iron.
- The ASUS WL-500GP was more comfortable since it had two USB2.0 ports.
- The Fonera Router was also an interesting platform - cheap and powerful enough for connection issues.
- An Intel Atom CPU Embedded Board was the hardware basis for the first Echolink server I built. But for my taste it still consumes too much power while being oversized for such a task: A Low-Power Combined Echolink and ATV Server
So my attention was won by the BeagleBoard. It is a neat little ARM based board which provides more comfort than the Linksys / ASUS / Fonera class of devices but is smaller and far more power efficient than the Intel Atom. The first test showed that it relly just consumes 1.83 Watts, the current I measured was down at 0,366 A @ 5 V. So that's very promising.
It is striking that the BeagleBoard does not have an Ethernet device. So you cannot connect it to the network and start off, but there's more that needs to be done. Luckily enough, it has some more interfaces that can be used for networked I/O like the USB 2.0 port, which should be sufficiently expandable and also fast enough.
2 Project Goals
The goal of this project is to build a highly integrated and energy efficient Echolink Link node, which has a small transceiver built in. The main focus is on power efficiency, with total power consumption not exceeding 10 watts, including the transmitter.
3 Similar projects
4 Links
BeagleBoard Reference, which will answer all your questions on the hardware: http://beagleboard.org/static/BBSRM_latest.pdf
- http://beagleboard.org
- http://code.google.com/p/beagleboard/
- http://elinux.org/BeagleBoardUbuntu
- http://elinux.org/BeagleBoard/contest#BeagleHam
- https://wiki.ubuntu.com/ARM/RootfsFromScratch
- http://code.google.com/p/beagleboard/wiki/LinuxHints supergreat hints, esp. on switching the graphics output
- http://beagleboard.org/project/Ethernet+expansion+board/ supercool expansion board. Will have it as soon as it is out.
- http://elinux.org/BeagleBoardUbuntuNetwork
- http://elinux.org/BeagleBoardRawLCD
- http://global.freifunk.net/?q=item/building_a_custom_debian_kernel_for_the_beagleboard
Transceiver interface
Additional information
- http://groups.google.com/group/beagleboard/browse_thread/thread/c48f16f3eaf9d2d4/a86afeca41328dc1?pli=1 How to enable PAL S-Video output
5 Hardware
5.1 BeagleBoard
The core is the BeagleBoard:
IMG SRC: beagleboard.org (Lizenz CC-BY-SA)
- OMAP3530 processor delivers laptop-like performance at handheld power levels
- Over 1,200 Dhrystone MIPS using the superscalar ARM Cortex-A8 with highly accurate branch prediction and 256KB L2 cache running at up to 600MHz
- OpenGL© ES 2.0 capable 2D/3D graphics accelerator capable of rendering 10 million polygons per second
- HD video capable TMS320C64x+™ DSP for versatile signal processing at up to 430MHz
- USB power
5.2 Power Statistics
In order to understand which devices are consuming most power, I made a number of measurements. The measurements are related to the 13,8V connection, before the DC current is converted through my COSEL down to 5 V.
BeagleBoard alone: 175mA @ 13,8V BeagleBoard with LED-castrates USB hub: 185mA, so the USB hub without LEDs is just 10 mA @13,8V BeagleBoard, USB HUB plus USB2Ethernet: 321 mA, so theUSB2Ethernet board eats ~140mA @13,8V BeagleBoard, USB HUB, USB2Ethernet plus WLAN stick (TX mode): 505mA, so the WLAN device eats ~180mA @13,8V Beagleboard while compiling SVXLink: +7mA -> 96 mW; same power consumption in while infinite loop. BeagleBoard alone: 2.415 W USB HUB: 130 mW USB2Ethernet: 1.93 W USB2WLAN: 2.48 W
This all given that the COSEL DC converter is has a bad efficiency of 67%. So very basically, the real power consumption values are all about a third less.
5.3 Transmitter: T7F
- 7 Watts
5.4 Transceiver Interface
Since there is a Audio In / Out connection on the board, I will make use of them. In order to separate the two circuits, I will separate them, using the simple plan described here:
5.5 Observations
- 2009-09-06 Some new observations: With the Cosel ZUS25 1205 as DC regulator (providing 5.06 volts to the board), the BeagleBoard alone consumes 196 mA at 13,8V. This makes 2,70 Watts. So as compared to the 1,83 Watts measured earlier, the Cosel runs at an efficiency of 67%, so 33% power loss at this point. This is quite brutal...
- 2009-09-06 Some more observations: I have now connected a USB hub to the board, and a USB2Ethernet adapter so that I can connect to the local LAN. Now, the current is up at 345 mA, so the power consumption is 4,76 Watts. I see that I must give up my goal to stay below 3 watts total power consumption. Game over. Thus I am extending my goal to stay below 10 watts over all, including the transmitter. So if I decide to use my Standard C-408, I will surely make it, but probably not with the T7F. Yet, the T7F is more of a challenge, because there's more to control digitally about this transceiver.
- 2009-09-06 Yet some more observations: On the USB hub board there were 7 LEDs, shining in different colours. Since it's my goal to build a real power saving thing, I had a look if they had any function at all, and I couldn't discover any. So, they had to go away. I soldered them out. And the result was that the current is now down at 283 mA, making 3,90 Watts. At least, I'm below 4 Watts now.
- 009-09-06 Yet some more observations: When I unplugged the USB2Ethernet adapter, I noticed a current drop from 284 to 141 mA. So the USB2Eth adapter consumes almost 1,8 Watts!!!!
6 Software
6.1 Pre-Ubuntu-10.04 Operating System Installation
Firstly I want to point out that or this test I am not using the Angstrom firmware but Ubuntu.
The installation procedure is basically this:
- Generate a rootstock Karmel firmware image on the local Linux (intel) machine.
- Copy it over to a SD card and boot the beagleboard
- log in and enjoy
Here it is in more detail:
We assume you have Ubuntu Linux. Other Linux variants will also work, but you must figure out yourself how to fix occasional problems.
6.1.1 The images
First, install qemu and the most recent debootstrap as well as the rootstock script:
apt-get install qemu
wget http://ports.ubuntu.com/pool/main/d/debootstrap/debootstrap_1.0.13~jaunty1_all.deb sudo dpkg -i debootstrap_1.0.13~jaunty1_all.deb wget http://www.rcn-ee.com/deb/tools/rootstock sudo chmod u+x rootstock
Then compile the firmware image:
./rootstock --fqdn beagleboard --login ubuntu --password temppwd --imagesize 6G --seed linux-firmware,wireless-tools --dist karmic --serial ttyS2 --kernel-image --kernel-image http://rcn-ee.com/deb/kernel/beagle/karmic/v2.6.29-58cf2f1-oer40.5/linux-image-2.6.29-oer40.5_1.0karmic_armel.deb
As you see, I am using the 2.6.29 karmic kernel. Upon Completion, you should have:
armel-rootfs-<date>.tgz vmlinuz-2.6.<version>
6.1.2 The Storage Medium
Now it's time to prepare the storage medium. Starting with an empty SD card and using gparted, you can create:
- 50 MiB Primary Partition, fat32
- Rest as ext2/ext3
Gparted Example: http://nishanthmenon.blogspot.com/2008/08/how-to-boot-beagle.html
If you want, you can also do that by hand using fdisk.
Anyway, on my machine, the partitions appear as:
/dev/mmcblk0p1 mounted to /media/LABEL /dev/mmcblk0p2 mounted to /media/disk
6.1.3 Putting the images on the storage medium
The command
sudo apt-get install uboot-mkimage
didn't work for me since uboot does not seem to exist for Ubuntu Hardy as of yet. I just took the deb package of Ubuntu Intrepid, given that this is just a very small program with just 9 kB. Anyway, I could install it:
wget http://lug.mtu.edu/ubuntu/pool/universe/u/uboot-mkimage/uboot-mkimage_0.4_i386.deb dpkg -i uboot-mkimage_0.4_i386.deb
then I started the preparation. If you have another kernel version, be sure to indicate the correct file name.
$> mkimage -A arm -O linux -T kernel -C none -a 0x80008000 -e 0x80008000 -n "Linux" -d ./vmlinuz-2.6.29-oer40.5 ./uImage Image Name: Linux Created: Sat Aug 22 22:31:44 2009 Image Type: ARM Linux Kernel Image (uncompressed) Data Size: 3021896 Bytes = 2951.07 kB = 2.88 MB Load Address: 0x80008000 Entry Point: 0x80008000
The result is a file called 'uImage'.
Then I simply copied the file uImage to /media/LABEL (which is the FAT32 disk) and used tar to extract the contents of the root filesystem to the ext3 partition.
tar xfp /home/markus/armel-rootfs-200908222018.tgz -C /media/disk
To support networking right away (given that you connect an ethernet-capable device - may also be ethernet over USB), add the following stanza to /etc/network/interfaces
auto eth0 iface eth0 inet dhcp
6.1.4 Beagleboard: Setup U-boot for boot
Using a terminal program, stop u-boot and add these commands:
Some notes ahead on the parameters:
fixrtc: (only uInitrd) Resets RTC based on last mount buddy=${buddy}: (both) Kernel Zippy1/2 Support mpurate=${mpurate}: (recommended core clock)
Here is more explanation on dss video options : http://git.kernel.org/?p=linux/kernel/git/tmlind/linux-omap-2.6.git;a=blob;f=Documentation/fb/modedb.txt;h=ec4dee75a35450376ad13442ea926eaf76de76aa;hb=HEAD
Now proceed along the instructions given here: http://elinux.org/BeagleBoardUbuntu#Beagleboard:_First_boot
For Linux Kernel 2.6.29 and higher using DSS2
setenv bootcmd 'mmcinit; fatload mmc 0:1 0x80300000 uImage; bootm 0x80300000' or setenv bootcmd 'mmc init; fatload mmc 0:1 0x80300000 uImage; bootm 0x80300000' (r27) setenv bootargs 'console=ttyS2,115200n8 console=tty0 root=/dev/mmcblk0p2 rootwait rootfstype=ext3 ro omapfb.mode=dvi:1280x720MR-16@60 fixrtc buddy=${buddy}' saveenv boot
You may adapt the resolution to your screen as following :
omapfb.mode=dvi:1280x720MR-16@60 Modes: "1024x768MR-16@60""800x600MR-16@60" ...
Note that you can toggle the output to yout S-Video interface with PAL standard (works excellent with me):
setenv bootargs 'console=ttyS2,115200n8 root=/dev/mmcblk0p2 rw rootwait omapfb.mode=tv:pal omapdss.def_disp=tv fixrtc buddy=${buddy}' setenv bootcmd 'mmc init;fatload mmc 0 80300000 uImage;bootm 80300000' saveenv boot
6.1.5 First Boot
You can use minicom or Hyperterm on Windows.
The below given example is from an Ubuntu image. The Angstrom image looks a little different, but basically it is the same.
In the meantime I prefer the Angstrom image because it supports the Zippy board which I have.
Texas Instruments X-Loader 1.4.2 (Feb 19 2009 - 12:01:24) Reading boot sector Error: reading boot sector Loading u-boot.bin from nand U-Boot 2009.01-dirty (Feb 19 2009 - 12:22:31) I2C: ready OMAP3530-GP rev 2, CPU-OPP2 L3-165MHz OMAP3 Beagle board + LPDDR/NAND DRAM: 256 MB NAND: 256 MiB *** Warning - bad CRC or NAND, using default environment MUSB: using high speed In: serial usbtty Out: serial usbtty Err: serial usbtty Board revision C Serial #67b2000300000000040323091102000e Hit any key to stop autoboot: 0 OMAP3 beagleboard.org # OMAP3 beagleboard.org # OMAP3 beagleboard.org # help ? - alias for 'help' autoscr - run script from memory base - print or set address offset bdinfo - print Board Info structure boot - boot default, i.e., run 'bootcmd' bootd - boot default, i.e., run 'bootcmd' bootm - boot application image from memory cmp - memory compare coninfo - print console devices and information cp - memory copy crc32 - checksum calculation echo - echo args to console exit - exit script ext2load- load binary file from a Ext2 filesystem ext2ls - list files in a directory (default /) fatinfo - print information about filesystem fatload - load binary file from a dos filesystem fatls - list files in a directory (default /) fsinfo - print information about filesystems fsload - load binary file from a filesystem image go - start application at address 'addr' help - print online help ibus - ibus - I2C bus selection icrc32 - checksum calculation iloop - infinite loop on address range imd - i2c memory display imm - i2c memory modify (auto-incrementing) imw - memory write (fill) imxtract- extract a part of a multi-image inm - memory modify (constant address) iprobe - probe to discover valid I2C chip addresses itest - return true/false on integer compare loadb - load binary file over serial line (kermit mode) loads - load S-Record file over serial line loady - load binary file over serial line (ymodem mode) loop - infinite loop on address range ls - list files in a directory (default /) md - memory display mm - memory modify (auto-incrementing) mmcinit - init mmc card mtest - simple RAM test mw - memory write (fill) nand - NAND sub-system nandecc - nandecc - switch OMAP3 NAND ECC calculation algorithm nboot - boot from NAND device nm - memory modify (constant address) printenv- print environment variables reset - Perform RESET of the CPU run - run commands in an environment variable saveenv - save environment variables to persistent storage setenv - set environment variables showvar - print local hushshell variables sleep - delay execution for some time test - minimal test like /bin/sh version - print monitor version OMAP3 beagleboard.org # setenv bootcmd 'mmcinit; fatload mmc 0:1 0x80300000 uImage; bootm 0x80300000' OMAP3 beagleboard.org # setenv bootargs 'console=ttyS2,115200n0 console=tty0 root=/dev/mmcblk0p2 rootwait rootfstype=ext3 ro omapfb.mode=dvi:1280x720MR-16@60' OMAP3 beagleboard.org # saveenv Saving Environment to NAND... Erasing Nand... Erasing at 0x260000 -- 100% complete. Writing to Nand... done OMAP3 beagleboard.org # boot reading uImage 3021960 bytes read ## Booting kernel from Legacy Image at 80300000 ... Image Name: Linux Image Type: ARM Linux Kernel Image (uncompressed) Data Size: 3021896 Bytes = 2.9 MB Load Address: 80008000 Entry Point: 80008000 Verifying Checksum ... OK Loading Kernel Image ... OK OK Starting kernel ... Uncompressing Linux............................................................. ................................................................................ .................................................... done, booting the kernel. [ 0.000000] Linux version 2.6.29-oer40.5 (root@debian-sm-beagle) (gcc version 4.4.1 (Ubuntu 4.4.1-1ubuntu3) ) #1 PREEMPT Wed Aug 12 07:04:24 UTC 2009 [ 0.000000] CPU: ARMv7 Processor [411fc083] revision 3 (ARMv7), cr=10c5387f [ 0.000000] CPU: VIPT nonaliasing data cache, VIPT nonaliasing instruction cache [ 0.000000] Machine: OMAP3 Beagle Board [ 0.000000] Memory policy: ECC disabled, Data cache writeback [ 0.000000] OMAP3430 ES3.0 [ 0.000000] SRAM: Mapped pa 0x40200000 to va 0xd7000000 size: 0x100000 [ 0.000000] Reserving 14680064 bytes SDRAM for VRAM [ 0.000000] Built 1 zonelists in Zone order, mobility grouping on. Total pages: 65024 [ 0.000000] Kernel command line: console=ttyS2,115200n0 console=tty0 root=/dev/mmcblk0p2 rootwait rootfstype=ext3 ro omapfb.mode=dvi:1280x720MR-16@60 [ 0.000000] Clocking rate (Crystal/DPLL/ARM core): 26.0/332/500 MHz [ 0.000000] GPMC revision 5.0 [ 0.000000] IRQ: Found an INTC at 0xd8200000 (revision 4.0) with 96 interrupts [ 0.000000] Total of 96 interrupts on 1 active controller [ 0.000000] OMAP34xx GPIO hardware version 2.5 [ 0.000000] PID hash table entries: 1024 (order: 10, 4096 bytes) [ 0.000000] OMAP clockevent source: GPTIMER12 at 32768 Hz [ 0.000000] Console: colour dummy device 80x30 [ 0.000000] console [tty0] enabled [ 0.000000] Dentry cache hash table entries: 32768 (order: 5, 131072 bytes) [ 0.000000] Inode-cache hash table entries: 16384 (order: 4, 65536 bytes) [ 0.000000] Memory: 128MB 128MB = 256MB total [ 0.000000] Memory: 238976KB available (5596K code, 574K data, 204K init) [ 0.000000] Calibrating delay loop... 485.26 BogoMIPS (lpj=1896448) [ 0.000000] Mount-cache hash table entries: 512 [ 0.000000] CPU: Testing write buffer coherency: ok [ 0.000000] net_namespace: 1036 bytes [ 0.000000] regulator: core version 0.5 [ 0.000000] NET: Registered protocol family 16 [ 0.000000] Found NAND on CS0 [ 0.000000] Registering NAND on CS0 [ 307.987365] OMAP DMA hardware revision 4.0 [ 308.032958] bio: create slab <bio-0> at 0 [ 308.094482] OMAP DSS rev 2.0 [ 308.094635] OMAP DISPC rev 3.0 [ 308.094696] OMAP VENC rev 2 [ 308.094879] OMAP DSI rev 1.0 [ 308.109649] i2c_omap i2c_omap.1: bus 1 rev3.12 at 2600 kHz [ 308.113739] twl4030: PIH (irq 7) chaining IRQs 368..375 [ 308.113800] twl4030: power (irq 373) chaining IRQs 376..383 [ 308.114440] twl4030: gpio (irq 368) chaining IRQs 384..401 [ 308.117675] regulator: VMMC1: 1850 <--> 3150 mV normal standby [ 308.118652] regulator: VDAC: 1800 mV normal standby [ 308.119659] regulator: VUSB1V5: 1500 <--> 0 mV normal standby [ 308.120605] regulator: VUSB1V8: 1800 <--> 0 mV normal standby [ 308.121551] regulator: VUSB3V1: 3100 <--> 0 mV normal standby [ 308.122528] regulator: VPLL2: 1800 mV normal standby [ 308.123504] regulator: VMMC2: 2800 <--> 3150 mV normal standby [ 308.124481] regulator: VSIM: 1800 <--> 3000 mV normal standby [ 308.124725] i2c_omap i2c_omap.3: bus 3 rev3.12 at 100 kHz [ 308.126892] SCSI subsystem initialized [ 308.128234] twl4030_usb twl4030_usb: Initialized TWL4030 USB module [ 308.129943] usbcore: registered new interface driver usbfs [ 308.130584] usbcore: registered new interface driver hub [ 308.131103] usbcore: registered new device driver usb [ 308.134643] Bluetooth: Core ver 2.14 [ 308.135223] NET: Registered protocol family 31 [ 308.135284] Bluetooth: HCI device and connection manager initialized [ 308.135314] Bluetooth: HCI socket layer initialized [ 308.136108] cfg80211: Using static regulatory domain info [ 308.136138] cfg80211: Regulatory domain: US [ 308.136199] (start_freq - end_freq @ bandwidth), (max_antenna_gain, max_eirp) [ 308.136260] (2402000 KHz - 2472000 KHz @ 40000 KHz), (600 mBi, 2700 mBm) [ 308.136291] (5170000 KHz - 5190000 KHz @ 40000 KHz), (600 mBi, 2300 mBm) [ 308.136352] (5190000 KHz - 5210000 KHz @ 40000 KHz), (600 mBi, 2300 mBm) [ 308.136413] (5210000 KHz - 5230000 KHz @ 40000 KHz), (600 mBi, 2300 mBm) [ 308.136474] (5230000 KHz - 5330000 KHz @ 40000 KHz), (600 mBi, 2300 mBm) [ 308.136505] (5735000 KHz - 5835000 KHz @ 40000 KHz), (600 mBi, 3000 mBm) [ 308.136566] cfg80211: Calling CRDA for country: US [ 308.140502] musb_hdrc: version 6.0, musb-dma, otg (peripheral+host), debug=0 [ 308.142852] musb_core_init 1421: reconfigure software for static FIFOs [ 308.143707] musb_hdrc musb_hdrc: musb_init_controller failed with status -19 [ 308.145507] NET: Registered protocol family 2 [ 308.145812] IP route cache hash table entries: 2048 (order: 1, 8192 bytes) [ 308.146545] TCP established hash table entries: 8192 (order: 4, 65536 bytes) [ 308.146820] TCP bind hash table entries: 8192 (order: 3, 32768 bytes) [ 308.147003] TCP: Hash tables configured (established 8192 bind 8192) [ 308.147064] TCP reno registered [ 308.147369] NET: Registered protocol family 1 [ 308.151123] omap-iommu omap-iommu.1: isp registered [ 308.151397] omap-iommu omap-iommu.2: iva2 registered [ 308.154541] VFS: Disk quotas dquot_6.5.2 [ 308.154724] Dquot-cache hash table entries: 1024 (order 0, 4096 bytes) [ 308.155395] squashfs: version 4.0 (2009/01/31) Phillip Lougher [ 308.156372] JFFS2 version 2.2. (NAND) (SUMMARY) © 2001-2006 Red Hat, Inc. [ 308.157409] msgmni has been set to 467 [ 308.162322] alg: No test for stdrng (krng) [ 308.162475] io scheduler noop registered [ 308.162536] io scheduler anticipatory registered [ 308.162567] io scheduler deadline registered [ 308.162811] io scheduler cfq registered (default) [ 308.189270] Serial: 8250/16550 driver, 4 ports, IRQ sharing enabled [ 308.211517] serial8250.0: ttyS0 at MMIO 0x4806a000 (irq = 72) is a ST16654 [ 308.232025] serial8250.0: ttyS1 at MMIO 0x4806c000 (irq = 73) is a ST16654 [ 308.252532] serial8250.0: ttyS2 at MMIO 0x49020000 (irq = 74) is a ST16654 [ 308.252624] console [ttyS2] enabled [ 308.794586] brd: module loaded [ 308.804321] loop: module loaded [ 308.808502] usbcore: registered new interface driver catc [ 308.814208] catc: v2.8:CATC EL1210A NetMate USB Ethernet driver [ 308.820648] usbcore: registered new interface driver kaweth [ 308.826324] pegasus: v0.6.14 (2006/09/27), Pegasus/Pegasus II USB Ethernet driver [ 308.834228] usbcore: registered new interface driver pegasus [ 308.840179] rtl8150: v0.6.2 (2004/08/27):rtl8150 based usb-ethernet driver [ 308.847961] usbcore: registered new interface driver rtl8150 [ 308.854064] usbcore: registered new interface driver asix [ 308.859893] usbcore: registered new interface driver cdc_ether [ 308.866088] usbcore: registered new interface driver dm9601 [ 308.872100] usbcore: registered new interface driver smsc95xx [ 308.878295] usbcore: registered new interface driver gl620a [ 308.884277] usbcore: registered new interface driver net1080 [ 308.890380] usbcore: registered new interface driver plusb [ 308.896209] usbcore: registered new interface driver rndis_host [ 308.902526] usbcore: registered new interface driver cdc_subset [ 308.908874] usbcore: registered new interface driver zaurus [ 308.914855] usbcore: registered new interface driver MOSCHIP usb-ethernet driver [ 308.922760] Broadcom 43xx driver loaded [ Features: L, Firmware-ID: FW13 ] [ 308.930236] usbcore: registered new interface driver zd1211rw [ 308.936340] usbcore: registered new interface driver rtl8187 [ 308.942474] usbcore: registered new interface driver rndis_wlan [ 308.948822] usbcore: registered new interface driver zd1201 [ 308.954895] usbcore: registered new interface driver usb8xxx [ 308.960998] usbcore: registered new interface driver rt2500usb [ 308.967224] usbcore: registered new interface driver rt73usb [ 308.973327] usbcore: registered new interface driver p54usb [ 308.979034] i2c /dev entries driver [ 308.984313] Driver 'sd' needs updating - please use bus_type methods [ 308.991027] Driver 'sr' needs updating - please use bus_type methods [ 308.998657] omap2-nand driver initializing [ 309.003204] NAND device: Manufacturer ID: 0x2c, Chip ID: 0xba (Micron NAND 256MiB 1,8V 16-bit) [ 309.012329] cmdlinepart partition parsing not available [ 309.017700] Creating 5 MTD partitions on "omap2-nand": [ 309.023010] 0x000000000000-0x000000080000 : "X-Loader" [ 309.030334] 0x000000080000-0x000000260000 : "U-Boot" [ 309.037567] 0x000000260000-0x000000280000 : "U-Boot Env" [ 309.044494] 0x000000280000-0x000000680000 : "Kernel" [ 309.052581] 0x000000680000-0x000010000000 : "File System" [ 309.165039] ehci_hcd: USB 2.0 'Enhanced' Host Controller (EHCI) Driver [ 309.172149] ehci-omap ehci-omap.0: OMAP-EHCI Host Controller [ 309.178802] ehci-omap ehci-omap.0: new USB bus registered, assigned bus number 1 [ 309.186737] ehci-omap ehci-omap.0: irq 77, io mem 0x48064800 [ 309.202697] ehci-omap ehci-omap.0: USB 2.0 started, EHCI 1.00 [ 309.209320] usb usb1: configuration #1 chosen from 1 choice [ 309.215484] hub 1-0:1.0: USB hub found [ 309.219451] hub 1-0:1.0: 3 ports detected [ 309.225769] Initializing USB Mass Storage driver... [ 309.231231] usbcore: registered new interface driver usb-storage [ 309.237396] USB Mass Storage support registered. [ 309.242889] mice: PS/2 mouse device common for all mice [ 309.248809] input: gpio-keys as /devices/platform/gpio-keys/input/input0 [ 309.258483] input: twl4030_pwrbutton as /devices/platform/i2c_omap.1/i2c-adapter/i2c-1/1-0049/twl4030_pwrbutton/input/input1 [ 309.271179] twl4030_rtc twl4030_rtc: rtc core: registered twl4030_rtc as rtc0 [ 309.278656] twl4030_rtc twl4030_rtc: Power up reset detected. [ 309.284881] twl4030_rtc twl4030_rtc: Enabling TWL4030-RTC. [ 309.292968] OMAP Watchdog Timer Rev 0x31: initial timeout 60 sec [ 309.299438] Bluetooth: HCI UART driver ver 2.2 [ 309.303924] Bluetooth: HCI H4 protocol initialized [ 309.308868] Bluetooth: HCI BCSP protocol initialized [ 309.313934] Bluetooth: HCILL protocol initialized [ 309.318695] Bluetooth: Broadcom Blutonium firmware driver ver 1.2 [ 309.325408] usbcore: registered new interface driver bcm203x [ 309.331207] Bluetooth: Digianswer Bluetooth USB driver ver 0.10 [ 309.337615] usbcore: registered new interface driver bpa10x [ 309.343322] Bluetooth: BlueFRITZ! USB driver ver 1.2 [ 309.348663] usbcore: registered new interface driver bfusb [ 309.354309] Bluetooth: Generic Bluetooth USB driver ver 0.4 [ 309.360321] usbcore: registered new interface driver btusb [ 309.365875] Bluetooth: Generic Bluetooth SDIO driver ver 0.1 [ 309.372863] mmci-omap-hs mmci-omap-hs.0: Failed to get debounce clock [ 309.484100] mmci-omap-hs mmci-omap-hs.1: Failed to get debounce clock [ 309.490722] regulator: Unable to get requested regulator: vmmc_aux [ 309.499267] Registered led device: beagleboard::usr0 [ 309.504730] Registered led device: beagleboard::usr1 [ 309.517181] usbcore: registered new interface driver usbhid [ 309.522918] usbhid: v2.6:USB HID core driver [ 309.528533] Advanced Linux Sound Architecture Driver Version 1.0.18a. [ 309.536041] usbcore: registered new interface driver snd-usb-audio [ 309.542755] No device for DAI twl4030 [ 309.546691] No device for DAI omap-mcbsp-dai-0 [ 309.551177] No device for DAI omap-mcbsp-dai-1 [ 309.555847] No device for DAI omap-mcbsp-dai-2 [ 309.560363] No device for DAI omap-mcbsp-dai-3 [ 309.564880] No device for DAI omap-mcbsp-dai-4 [ 309.569396] OMAP3 Beagle SoC init [ 309.573242] TWL4030 Audio Codec init [ 309.578582] asoc: twl4030 <-> omap-mcbsp-dai-0 mapping ok [ 309.594787] ALSA device list: [ 309.597808] #0: omap3beagle (twl4030) [ 309.610015] oprofile: using arm/armv7 [ 309.614013] TCP cubic registered [ 309.617462] NET: Registered protocol family 17 [ 309.622039] NET: Registered protocol family 15 [ 309.626647] Bluetooth: L2CAP ver 2.11 [ 309.630371] Bluetooth: L2CAP socket layer initialized [ 309.635528] Bluetooth: SCO (Voice Link) ver 0.6 [ 309.640167] Bluetooth: SCO socket layer initialized [ 309.645294] Bluetooth: RFCOMM socket layer initialized [ 309.650604] Bluetooth: RFCOMM TTY layer initialized [ 309.655548] Bluetooth: RFCOMM ver 1.10 [ 309.659393] Bluetooth: BNEP (Ethernet Emulation) ver 1.3 [ 309.664825] Bluetooth: BNEP filters: protocol multicast [ 309.670104] Bluetooth: HIDP (Human Interface Emulation) ver 1.2 [ 309.678649] RPC: Registered udp transport module. [ 309.683471] RPC: Registered tcp transport module. [ 309.688385] lib80211: common routines for IEEE802.11 drivers [ 309.694183] ThumbEE CPU extension supported. [ 309.698547] Power Management for TI OMAP3. [ 309.712280] Disabling unused clock "sr2_fck" [ 309.716613] Disabling unused clock "sr1_fck" [ 309.721008] Disabling unused clock "mcbsp_fck" [ 309.725524] Disabling unused clock "mcbsp_fck" [ 309.730072] Disabling unused clock "mcbsp_fck" [ 309.734619] Disabling unused clock "mcbsp_ick" [ 309.739105] Disabling unused clock "mcbsp_ick" [ 309.743652] Disabling unused clock "mcbsp_ick" [ 309.748138] Disabling unused clock "gpt2_ick" [ 309.752593] Disabling unused clock "gpt3_ick" [ 309.756988] Disabling unused clock "gpt4_ick" [ 309.761444] Disabling unused clock "gpt5_ick" [ 309.765899] Disabling unused clock "gpt6_ick" [ 309.770294] Disabling unused clock "gpt7_ick" [ 309.774749] Disabling unused clock "gpt8_ick" [ 309.779174] Disabling unused clock "gpt9_ick" [ 309.783599] Disabling unused clock "wdt3_ick" [ 309.788024] Disabling unused clock "wdt3_fck" [ 309.792480] Disabling unused clock "gpio2_dbck" [ 309.797088] Disabling unused clock "gpio3_dbck" [ 309.801696] Disabling unused clock "gpio4_dbck" [ 309.806304] Disabling unused clock "gpio5_dbck" [ 309.810882] Disabling unused clock "gpio6_dbck" [ 309.815521] Disabling unused clock "gpt9_fck" [ 309.819976] Disabling unused clock "gpt8_fck" [ 309.824401] Disabling unused clock "gpt7_fck" [ 309.828826] Disabling unused clock "gpt6_fck" [ 309.833251] Disabling unused clock "gpt5_fck" [ 309.837677] Disabling unused clock "gpt4_fck" [ 309.842102] Disabling unused clock "gpt3_fck" [ 309.846557] Disabling unused clock "gpt2_fck" [ 309.850982] Disabling unused clock "gpt1_ick" [ 309.855407] Disabling unused clock "wdt1_ick" [ 309.859832] Disabling unused clock "wdt2_ick" [ 309.864257] Disabling unused clock "wdt2_fck" [ 309.868713] Disabling unused clock "gpio1_dbck" [ 309.873291] Disabling unused clock "gpt1_fck" [ 309.877746] Disabling unused clock "cam_ick" [ 309.882110] Disabling unused clock "cam_mclk" [ 309.886566] Disabling unused clock "des1_ick" [ 309.891021] Disabling unused clock "sha11_ick" [ 309.895507] Disabling unused clock "rng_ick" [ 309.899871] Disabling unused clock "aes1_ick" [ 309.904296] Disabling unused clock "ssi_ick" [ 309.908660] Disabling unused clock "mailboxes_ick" [ 309.913543] Disabling unused clock "mcbsp_ick" [ 309.918029] Disabling unused clock "mcbsp_ick" [ 309.922576] Disabling unused clock "gpt10_ick" [ 309.927062] Disabling unused clock "gpt11_ick" [ 309.931610] Disabling unused clock "i2c_ick" [ 309.935943] Disabling unused clock "mcspi_ick" [ 309.940460] Disabling unused clock "mcspi_ick" [ 309.945007] Disabling unused clock "mcspi_ick" [ 309.949493] Disabling unused clock "mcspi_ick" [ 309.954040] Disabling unused clock "hdq_ick" [ 309.958343] Disabling unused clock "mspro_ick" [ 309.962890] Disabling unused clock "des2_ick" [ 309.967315] Disabling unused clock "sha12_ick" [ 309.971832] Disabling unused clock "aes2_ick" [ 309.976287] Disabling unused clock "icr_ick" [ 309.980590] Disabling unused clock "pka_ick" [ 309.984954] Disabling unused clock "ssi_ssr_fck" [ 309.989654] Disabling unused clock "hdq_fck" [ 309.993988] Disabling unused clock "mcspi_fck" [ 309.998504] Disabling unused clock "mcspi_fck" [ 310.003021] Disabling unused clock "mcspi_fck" [ 310.007568] Disabling unused clock "mcspi_fck" [ 310.012054] Disabling unused clock "mcbsp_fck" [ 310.016601] Disabling unused clock "mcbsp_fck" [ 310.021087] Disabling unused clock "i2c_fck" [ 310.025451] Disabling unused clock "mspro_fck" [ 310.029968] Disabling unused clock "gpt11_fck" [ 310.034484] Disabling unused clock "gpt10_fck" [ 310.039031] Disabling unused clock "dpll4_m6x2_ck" [ 310.043884] Disabling unused clock "dpll3_m3x2_ck" [ 310.048767] Disabling unused clock "sys_clkout1" [ 310.053497] VFP support v0.3: implementor 41 architecture 3 part 30 variant c rev 1 [ 310.065917] registered taskstats version 1 [ 310.071685] fbcvt: 1280x720@60: CVT Name - .921M9-R [ 310.106170] Console: switching to colour frame buffer device 160x45 [ 310.128570] clock: clksel_round_rate_div: dpll4_m4_ck target_rate 48000000 [ 310.135742] clock: new_div = 9, new_rate = 48000000 [ 310.143951] twl4030_rtc twl4030_rtc: setting system clock to 2000-01-01 00:00:00 UTC (946684800) [ 310.153594] Waiting for root device /dev/mmcblk0p2... [ 310.296539] mmc0: new high speed SDHC card at address 8fe4 [ 310.303009] mmcblk0: mmc0:8fe4 SD08G 7.40 GiB [ 310.308044] mmcblk0: p1 p2 [ 310.379943] EXT3-fs: mounted filesystem with ordered data mode. [ 310.386260] VFS: Mounted root (ext3 filesystem) readonly on device 179:2. [ 310.393554] Freeing init memory: 204K [ 310.397399] kjournald starting. Commit interval 5 seconds Ubuntu karmic (development branch) beagleboard ttyS2 beagleboard login: ubuntu Password: <<<<the password which you set when compiling the image with rootstock>>>> Linux beagleboard 2.6.29-oer40.5 #1 PREEMPT Wed Aug 12 07:04:24 UTC 2009 armv7l To access official Ubuntu documentation, please visit: http://help.ubuntu.com/ The programs included with the Ubuntu system are free software; the exact distribution terms for each program are described in the individual files in /usr/share/doc/*/copyright. Ubuntu comes with ABSOLUTELY NO WARRANTY, to the extent permitted by applicable law. To run a command as administrator (user "root"), use "sudo <command>". See "man sudo_root" for details. ubuntu@beagleboard:~$
Seems I have been successful :-) The only thing I notice is that the HW clock is some months off the track, but without mounted backup battery this is forgiveable.
6.2 Ubuntu-10.04 Operating System Installation
- 2010-06-04 From time to time it's reasonable to check if installation procedures are still valid. So I found that the above given instructions will no longer be perfectly successful because repository paths have changed, giving a 404 error for some items. So here's a revised list of instructions. I am still running with a BeagleBoard, yet the below instructions are also supposed to run on a C3 release with the ZippvV1.
6.2.1 Requirements
I am doing the installation on Ubuntu Karmic on my laptop, so some packages need to be postinstalled. Here's also some very important resource which you are strongly recommended to read:
Then install some software:
apt-get install qemu qemu-kvm-extras
Also update the debootstrap files: Point your browser to the following URL and get the most recent deboostrap
http://ports.ubuntu.com/pool/main/d/debootstrap/
Choose one of the following: 1.0.23 is more recent.
debootstrap_1.0.23_all.deb debootstrap_1.0.20ubuntu1~karmic1_all.deb
Then install it on your Ubuntu with the following command: Switch on your brain and substitute the file name with what you've downloaded :-)
sudo dpkg -i debootstrap_........deb
Get the current rootstock file: Point your browser to the following URL and hit the "download" button:
http://bazaar.launchpad.net/~beagleboard-kernel/%2Bjunk/rootstock-on-arm-rc/annotate/head%3A/rootstock
Don't forget to make the rootstock file executable:
chmod u+x rootstock
6.2.2 Creating the Image
I am happy to own a 32 GB MMC card (class 6, which is quite speedy). So I am composing the following rootstock command:
./rootstock --fqdn beagleboard --login ubuntu --password temppwd --imagesize 32G \ --seed wget,nano,linux-firmware,wireless-tools,usbutils --dist lucid --serial ttyS2 \ --script fixup.sh --components "main universe multiverse" \ --kernel-image http://rcn-ee.net/deb/kernel/beagle/lucid/v2.6.32.11-l13/linux-image-2.6.32.11-l13_1.0lucid_armel.deb
6.3 SVXLink
In order to compile for the ARM CPU, you can either crosscompile which is somewhat difficult or install the BeagleBoard first and log on and compile it there.
- 2009-09-05 Hardship: I'm not able to compile svxlink with the standard gcc / g++ that comes with the Karmic distribution (which is version 4.4). Solution: Install gcc-4.2 and g++-4.2 (apt-get install gcc-4.2 g++-4.2). Then have a look at /usr/bin/gcc and /usr/bin/g++. They are symbolic links. Remove them. Recreate them, pointing to the 4.2 versions of the compilers. Then restart make.
apt-get install gcc-4.2 g++-4.2 ls -al /usr/bin/gcc ls -al /usr/bin/gpp rm /usr/bin/gcc /usr/bin/gpp ln -s /usr/bin/gcc-4.2 /usr/bin/gcc ln -s /usr/bin/g++-4.2 /usr/bin/g++
- 2009-09-06 Good news: Power consumption only rises by 7-8 mA @13,8V when compiling software at 100% CPU load. So the delta from idle to full CPU load is just 0.110 mW. - Given that about 33% of that load will also be consumed by the DC regulator.
7 Putting it all together
7.1 Building another case
The single copper sided PCB method comes into the scene again, as well as the u-profile technique to hold the floor of the case as well as the boards.
Come again soon to see the pictures.