1 <?xml version="1.0" encoding="ISO-8859-1"?>
2 <?xml-stylesheet type="text/xsl" href="helma.xsl"?>
3 <xmlroot xmlns:hop="http://www.helma.org/docs/guide/features/database">
4 <hopobject id="1262" name="Page" prototype="Page" created="1286440350351" lastModified="1288051839585">
5 <hop:parent idref="0" prototyperef="Root"/>
6 <http_browser>Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.9.2.10) Gecko/20100914 Firefox/3.6.10</http_browser>
9 <http_host>beagleboard.org</http_host>
10 <time type="date">25.10.2010 19:10:39 CDT</time>
11 <pseudoparent idref="0" prototyperef="Root"/>
12 <http_remotehost>127.0.0.1</http_remotehost>
13 <hopsession>127.0.0.192.94.94.mh59qo2fsk9y</hopsession>
14 <user>blog.hangerhead.com</user>
16 <h1>Texas Instruments and University of Texas BeagleBoard Open Source Challenge</h1>
18 For details about the challenge, visit
19 <a href="http://www.ti.com/beagleboardchallenge">www.ti.com/beagleboardchallenge.</a>
21 <p>Available for download here are:</p>
24 <a href="http://www.beagleboard.org/uploads/utclass-20101006.bz2">the SD card image for the BeagleBoard training</a>
27 <a href="http://www.beagleboard.org/uploads/BeagleBoard101-20101007.pdf">the training slides in PDF</a>
30 <p>Note: The above SD card image and slides, and the below work-around instructions, are all intended for use on a BeagleBoard Rev C4. Some modifications may be required for use on a BeagleBoard-xM.</p>
31 <h2>Reflash the boards</h2>
33 A general backgrounder on booting the BeagleBoard can be found at
34 <a href="http://www.ibm.com/developerworks/linux/library/l-beagle-board/">http://www.ibm.com/developerworks/linux/library/l-beagle-board/.</a>
35 There are also a handful of troubleshooting tips at
36 <a href="http://www.angstrom-distribution.org/demo/beagleboard/">http://www.angstrom-distribution.org/demo/beagleboard/,</a>
37 in addition to the BeagleBoard FAQ
39 <p>The boards did have an old bootloader in the flash and the cards have a buggy u-boot.bin. To update the flash to work around the issue, connect up the serial port and run a serial terminal application, hold the USER button when you apply power, halt the boot by pressing ENTER, and then input the commands below following the "OMAP3 beagleboard.org #" lines:</p>
41 fatload mmc 1 82000000 mlo
44 nand write 82000000 0 20000
45 nand write 82000000 20000 20000
46 nand write 82000000 40000 20000
47 nand write 82000000 60000 20000
48 fatload mmc 1 80200000 u-boot.bin
50 nand erase 80000 160000
51 nand write 80200000 80000 160000
52 setenv bootcmd 'mmc init;run loadbootscript; run bootscript'
54 <h3>Without holding down the USER button</h3>
55 <pre>Texas Instruments X-Loader 1.4.2 (Feb 19 2009 - 12:01:24)
57 Loading u-boot.bin from mmc
60 U-Boot 2010.03-dirty (Jun 05 2010 - 21:06:53)
62 OMAP3530-GP ES3.1, CPU-OPP2, L3-165MHz, Max clock-720Mhz
63 OMAP3 Beagle board + LPDDR/NAND
64 I2C: ready</pre>
65 <p>Note the older version of X-Loader than what is below. I thought that might have been the problem.</p>
66 <h3>Here's with holding the USER button and typing in the commands</h3>
67 <p>Holding the USER button when you apply power to a Rev C4 board causes it to read the X-Loader from a file called MLO on the SD card, as long as it is formatted properly.</p>
68 <p>This is what you should see when you reprogram the flash.</p>
69 <pre>Texas Instruments X-Loader 1.4.4ss (May 28 2010 - 09:34:05)
72 Loading u-boot.bin from mmc
75 U-Boot 2010.03-dirty (Jun 05 2010 - 21:06:53)
77 OMAP3530-GP ES3.1, CPU-OPP2, L3-165MHz, Max clock-720Mhz
78 OMAP3 Beagle board + LPDDR/NAND
82 *** Warning - bad CRC or NAND, using default environment
88 Probing for expansion boards, if none are connected you'll see a harmless I2C error.
90 timed out in wait_for_pin: I2C_STAT=0
92 Unrecognized expansion board: 0
94 Die ID #0d3800040000000004037f680c01e010
95 Hit any key to stop autoboot: 0
96 OMAP3 beagleboard.org # mmc init
98 OMAP3 beagleboard.org # fatload mmc 1 82000000 mlo
102 OMAP3 beagleboard.org # nandecc hw
104 OMAP3 beagleboard.org # nand erase 0 80000
106 NAND erase: device 0 offset 0x0, size 0x80000
107 Erasing at 0x60000 -- 100% complete.
109 OMAP3 beagleboard.org # nand write 82000000 0 20000
111 NAND write: device 0 offset 0x0, size 0x20000
112 131072 bytes written: OK
113 OMAP3 beagleboard.org # nand write 82000000 20000 20000
115 NAND write: device 0 offset 0x20000, size 0x20000
116 131072 bytes written: OK
117 OMAP3 beagleboard.org # nand write 82000000 40000 20000
119 NAND write: device 0 offset 0x40000, size 0x20000
120 131072 bytes written: OK
121 OMAP3 beagleboard.org # nand write 82000000 60000 20000
123 NAND write: device 0 offset 0x60000, size 0x20000
124 131072 bytes written: OK
125 OMAP3 beagleboard.org # fatload mmc 1 80200000 u-boot.bin
129 OMAP3 beagleboard.org # nandecc sw
131 OMAP3 beagleboard.org # nand erase 80000 160000
133 NAND erase: device 0 offset 0x80000, size 0x160000
134 Erasing at 0x1c0000 -- 100% complete.
136 OMAP3 beagleboard.org # nand write 80200000 80000 160000
138 NAND write: device 0 offset 0x80000, size 0x160000
139 1441792 bytes written: OK
140 OMAP3 beagleboard.org #</pre>
141 <h3>Rebooting the board I see</h3>
142 <p>Below is what you would have seen if you held down the USER button and booted, but now that you've overwritten MLO, you no longer have to hold the USER button to get u-boot.bin to run. However, you'll notice below that it still doesn't work.</p>
143 <pre>Texas Instruments X-Loader 1.4.4ss (May 28 2010 - 09:34:05)
146 Loading u-boot.bin from mmc
149 U-Boot 2010.03-dirty (Jun 05 2010 - 21:06:53)
151 OMAP3530-GP ES3.1, CPU-OPP2, L3-165MHz, Max clock-720Mhz
152 OMAP3 Beagle board + LPDDR/NAND
156 *** Warning - bad CRC or NAND, using default environment
162 Probing for expansion boards, if none are connected you'll see a harmless I2C error.
164 timed out in wait_for_pin: I2C_STAT=0
166 Unrecognized expansion board: 0
168 Die ID #0d3800040000000004037f680c01e010
169 Hit any key to stop autoboot: 0
171 The user button is currently pressed.
175 Running bootscript from mmc ...
176 ## Executing script at 80200000
183 ## Booting kernel from Legacy Image at 80200000 ...
184 Image Name: Angstrom/2.6.32/beagleboard
185 Image Type: ARM Linux Kernel Image (uncompressed)
186 Data Size: 3190660 Bytes = 3 MB
187 Load Address: 80008000
188 Entry Point: 80008000
189 Verifying Checksum ... OK
190 Loading Kernel Image ... OK
195 Uncompressing Linux.................................................................................................................
196 [ 0.000000] Linux version 2.6.32 (koen@dominion) (gcc version 4.3.3 (GCC) ) #1 PREEMPT Fri May 21 11:47:56 CEST 2010
197 [ 0.000000] CPU: ARMv7 Processor [411fc083] revision 3 (ARMv7), cr=10c53c7f
201 [ 24.201324] Power Management for TI OMAP3.
202 [ 24.206451] ------------[ cut here ]------------
203 [ 24.211151] WARNING: at arch/arm/mach-omap2/dpll.c:439 omap3_noncore_dpll_set_rate+0x228/0x26c()
204 [ 24.220001] Modules linked in:
205 [ 24.223144] [] (unwind_backtrace+0x0/0xdc) from [] (warn_slowpath_common+0x4c/0x80)
206 [ 24.232604] [] (warn_slowpath_common+0x4c/0x80) from [] (omap3_noncore_dpll_set_rate+0x228/0x26c)
207 [ 24.243316] [] (omap3_noncore_dpll_set_rate+0x228/0x26c) from [] (omap2_clk_set_rate+0x24/0x34)
208 [ 24.253845] [] (omap2_clk_set_rate+0x24/0x34) from [] (clk_set_rate+0x4c/0xbc)
209 [ 24.262908] [] (clk_set_rate+0x4c/0xbc) from [] (omap2_clk_set_freq+0x264/0x410)
210 [ 24.272125] [] (omap2_clk_set_freq+0x264/0x410) from [] (omap3_sr_init+0xe0/0x174)
211 [ 24.281524] [] (omap3_sr_init+0xe0/0x174) from [] (do_one_initcall+0x5c/0x1bc)
212 [ 24.290557] [] (do_one_initcall+0x5c/0x1bc) from [] (kernel_init+0xa4/0x128)
213 [ 24.299438] [] (kernel_init+0xa4/0x128) from [] (kernel_thread_exit+0x0/0x8)
214 [ 24.308319] ---[ end trace 705f0ca8245b6012 ]---
215 [ 24.313262] Switched to new clocking rate (Crystal/Core/MPU): 26.0/332/720 MHz
219 [ 26.255096] Freeing init memory: 204K
220 INIT: version 2.86 booting
221 mount: cannot read /etc/fstab: No such file or directory
222 Please wait: booting...
223 /etc/rcS.d/S10checkroot: line 24: can't open /etc/fstab: no such file
224 Caching udev devnodes
225 Populating dev cachemv: cannot rename '/tmp/uname': No such file or directory
226 root: mount: cannot read /etc/fstab: No such file or directory
227 chown: unknown user/group root:root
228 chown: unknown user/group root:root
229 chown: unknown user/group root:root
230 chown: unknown user/group root:root
231 chown: unknown user/group root:root
232 chown: unknown user/group root:root
233 chown: unknown user/group root:root
234 chown: unknown user/group root:root
235 chown: unknown user/group root:root
236 chown: unknown user/group root:root
237 chown: unknown user/group root:root
238 grep: /proc/filesystems: No such file or directory
239 grep: /proc/mounts: No such file or directory
240 hwclock: can't open '/dev/misc/rtc': No such file or directory
241 Sun May 23 19:22:00 UTC 2010
242 hwclock: can't open '/dev/misc/rtc': No such file or directory
243 INIT: Entering runlevel: 5
244 Starting syslogd/klogd: start-stop-daemon: can't open '/proc': No such file or directory
246 (none) login:</pre>
247 <p>Ah hah! It seems to think the USER button is pressed. I remember that u-boot bug. It is fixed in a newer u-boot, but we can hack in a fix by loading boot.scr instead of user.scr.</p>
248 <h3>Here's the last set of commands to type into u-boot</h3>
249 <p>Type in the last two commands now to set the boot command. This will cause your board to always look for boot.scr on the SD card.</p>
250 <pre>OMAP3 beagleboard.org # setenv bootcmd 'mmc init;run loadbootscript; run bootscript'
251 OMAP3 beagleboard.org # saveenv
252 Saving Environment to NAND...
254 Erasing at 0x260000 -- 100% complete.
255 Writing to Nand... done</pre>
256 <p>If you reboot now, you should no longer get the ugly "(none) login:" that comes from running a ramdisk image that is too big to fit into memory.</p>
257 <h3>If you don't have both a serial port and cable</h3>
258 <p>It is likely possible to fix the SD card to enable booting all the time when holding the USER button by replacing either the u-boot.bin file or the user.scr file. The quickest hack would be to copy boot.scr to user.scr in the FAT partition on the card, then simply power-up holding the USER button and release it when the boot starts.</p>
260 <p>Happy hacking!!</p>
262 <http_language>en-us,en;q=0.8,en-gb;q=0.5,ja;q=0.3</http_language>
263 <is_xhtml type="boolean">true</is_xhtml>
264 <http_referer>http://beagleboard.org/challenge/edit</http_referer>