tag:blogger.com,1999:blog-91998264196835503272023-08-11T18:06:48.005-07:00Does this kind of life look interesting to you?Joachim Otthttp://www.blogger.com/profile/14637682307876039092noreply@blogger.comBlogger2125tag:blogger.com,1999:blog-9199826419683550327.post-8133288005699103702008-09-12T05:38:00.000-07:002023-08-11T03:54:45.502-07:00Revive the Openmoko Neo Freerunner with USB power
<html lang="de">
<head>
<title>Revive the Openmoko Neo Freerunner with USB power</title>
<meta charset="utf-8">
</head>
<body>
<table border="0" style="width: 66%;"><tbody><tr><td colspan="2">This article describes, how to revive the Freerunner with USB power when the battery was fully discharged. <span style="color: red; font-weight: bold;">Use at your own risk. It is possible that you damage your device. You have been warned.</span></td></tr><tr><td><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhXgclXddz5s-qwUzGXLUmiKQuRDt0Cxm_mtLZp9z0mRcJPtH9w2yB0HbkqFqXR5vg7Qkbd1phz2Dt3fe806xf_QLpa2JHTVMqZcjtGrvTgO4HoUO2s-1SurQV-JqT_wm_HUMt4txqU3ek/s1600-h/100_0075.JPG"><img alt="" border="0" id="BLOGGER_PHOTO_ID_5245132353383250754" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhXgclXddz5s-qwUzGXLUmiKQuRDt0Cxm_mtLZp9z0mRcJPtH9w2yB0HbkqFqXR5vg7Qkbd1phz2Dt3fe806xf_QLpa2JHTVMqZcjtGrvTgO4HoUO2s-1SurQV-JqT_wm_HUMt4txqU3ek/s200/100_0075.JPG" /></a></td><td>Use a spare USB cable, chop off the plug on one side. A standard USB cable has red (+) and black (-) for power, white and green for data lines (these are not needed anymore). Connect the hooks from the next picture to red and black. This cable is called <span style="color: green; font-weight: bold;">revival cable</span> from now on.</td></tr><tr><td><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgWC4oBaTpqSG4_uvhU6iSkQBoiL6jTMqB8HAYN7ze8Gifl1DAb2HhIk7gae85g-9y67G4DnpoWnSIRHx-vlMbunm9M4sfwb1bCnpWrmNRfhWt88f2hy_PQNlVgAeMCOjnxpdYEkUV35u4/s1600-h/100_0076.JPG" onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}"><img alt="" border="0" id="BLOGGER_PHOTO_ID_5245133646587412338" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgWC4oBaTpqSG4_uvhU6iSkQBoiL6jTMqB8HAYN7ze8Gifl1DAb2HhIk7gae85g-9y67G4DnpoWnSIRHx-vlMbunm9M4sfwb1bCnpWrmNRfhWt88f2hy_PQNlVgAeMCOjnxpdYEkUV35u4/s200/100_0076.JPG" style="cursor: pointer; float: left; margin: 0pt 10px 10px 0pt;" /></a></td><td>Use safety hooks to connect to the power pins of the Freerunner.</td></tr><tr><td><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj9uXr67Ol1UCNZBHsIMAqIavTIjEaXQtNtITA5-xiYRCDSQXdVIvVMI6oY0DYeAMjBsBIL9iqytNlTqCdvH2n0-w4b7Ga3SNooTJywNFJ_IwbJYXWKK28jFcoToNJ60S4K5RKFn87T9eU/s1600-h/100_0077.JPG" onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}"><img alt="" border="0" id="BLOGGER_PHOTO_ID_5245135931880238898" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj9uXr67Ol1UCNZBHsIMAqIavTIjEaXQtNtITA5-xiYRCDSQXdVIvVMI6oY0DYeAMjBsBIL9iqytNlTqCdvH2n0-w4b7Ga3SNooTJywNFJ_IwbJYXWKK28jFcoToNJ60S4K5RKFn87T9eU/s200/100_0077.JPG" style="cursor: pointer; float: left; margin: 0pt 10px 10px 0pt;" /></a></td><td>Before proceeding, plug in the revival cable to an USB-port of your PC and check, that the V+ and V- go to the right hooks.</td></tr><tr><td><br /></td><td><span style="color: red; font-weight: bold;">Unplug the revival cable from USB again before proceeding.</span></td></tr><tr><td><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhQkFdxq_jC3Eh_XdY9tfGnBX7Vwzvsb0EdYaU8ij6rgMmuYew0V30YXivbIvSg0QBr-ikB_225w4Xxl7vaiKxL22l6nNIDMzy7qEC3LC7HH7ZpLWE5KCpI2uE-46Vi5CBvaJX3uW29sBg/s1600-h/100_0078.JPG" onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}"><img alt="" border="0" id="BLOGGER_PHOTO_ID_5245136182637475170" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhQkFdxq_jC3Eh_XdY9tfGnBX7Vwzvsb0EdYaU8ij6rgMmuYew0V30YXivbIvSg0QBr-ikB_225w4Xxl7vaiKxL22l6nNIDMzy7qEC3LC7HH7ZpLWE5KCpI2uE-46Vi5CBvaJX3uW29sBg/s200/100_0078.JPG" style="cursor: pointer; float: left; margin: 0pt 10px 10px 0pt;" /></a></td><td>Now connect the hooks to the Freerunner. Check that the red hook goes to + and the black to - (Notice the "Do not short circu" on the battery :-)</td></tr><tr><td>><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiuycodKQIa1jbt79GDeiLyE377ywn5iB5DkucsbTtgcomFH_fbYLjv-AL8JFCryjJkB5ngOdG_Fv1z44U2YYBZiHJWGj6-BZvawQjSX9XHaZIRuNxZQqmZicvaY0mCloTGoUAcTzdfaEw/s1600-h/100_0079.JPG" onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}"><img alt="" border="0" id="BLOGGER_PHOTO_ID_5245136487731029234" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiuycodKQIa1jbt79GDeiLyE377ywn5iB5DkucsbTtgcomFH_fbYLjv-AL8JFCryjJkB5ngOdG_Fv1z44U2YYBZiHJWGj6-BZvawQjSX9XHaZIRuNxZQqmZicvaY0mCloTGoUAcTzdfaEw/s200/100_0079.JPG" style="cursor: pointer; float: left; margin: 0pt 10px 10px 0pt;" /></a></td><td>Plug in the revival cable again. Carefully turn the Freerunner and look at the screen, it should have started to boot now.</td></tr><tr><td><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj5X5e4VH70L-R9mISxk6n2s7el2o8bWq8ibUEYdgkWaUaS1xLt4CNvDr0DGkULmC73EoUz5oZEqJbz85Rgm5MS5_SOwNKBpQISP8ZdZ3Bc2l4sqrsWVVPV-ApShf1nrAnpe7b_-kjegk0/s1600-h/100_0080.JPG" onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}"><img alt="" border="0" id="BLOGGER_PHOTO_ID_5245137004542040082" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj5X5e4VH70L-R9mISxk6n2s7el2o8bWq8ibUEYdgkWaUaS1xLt4CNvDr0DGkULmC73EoUz5oZEqJbz85Rgm5MS5_SOwNKBpQISP8ZdZ3Bc2l4sqrsWVVPV-ApShf1nrAnpe7b_-kjegk0/s200/100_0080.JPG" style="cursor: pointer; float: left; margin: 0pt 10px 10px 0pt;" /></a></td><td>When the system is up, you can connect the Freerunner USB-port to the charger or to another USB-port of the PC. Notice that the red LED is on now.</td></tr><tr><td><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg1hfzNWCRXauzk1LSMYzPPtXfcOnL-fCHebZKpFZXb4l5-9EqitT4ofzKNky2l1xUuiDgS8G3kImtf2R7EW13SIqpL8eZLV3G0G4ub7DUyGLLIqLQdG79UEVEqd2B9Zk8N-RwWmbTY4aI/s1600-h/100_0081.JPG"><img alt="" border="0" id="BLOGGER_PHOTO_ID_5245137253693083186" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg1hfzNWCRXauzk1LSMYzPPtXfcOnL-fCHebZKpFZXb4l5-9EqitT4ofzKNky2l1xUuiDgS8G3kImtf2R7EW13SIqpL8eZLV3G0G4ub7DUyGLLIqLQdG79UEVEqd2B9Zk8N-RwWmbTY4aI/s200/100_0081.JPG" style="cursor: pointer; float: left; margin: 0pt 10px 10px 0pt;" /></a></td><td>Remove the revival cable, <span style="color: red; font-weight: bold;">first unplug USB</span>, then the hooks. Insert the battery and close the cabinet. You're done.</td></tr></tbody></table>
</body>
</html>Joachim Otthttp://www.blogger.com/profile/14637682307876039092noreply@blogger.com0tag:blogger.com,1999:blog-9199826419683550327.post-14143668762880603932008-09-10T16:00:00.000-07:002008-09-21T09:52:11.989-07:00Having multiple distributions on the Openmoko Neo Freerunner SD-cardwork in progress ...<br /><ol><br /><li>Introduction</li><br /><li>u-boot environment</li><br /><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhaXdGn7IxvjXBeZ-VlBL7OxAuqkAjWFSb5s70Zz2RsZdOpvoJBnvQSOtiJGvZskYmY-QZ7AYq3iauHQ-i1h4GJnnV1i4x7q1bocJDG4vbvdAfZEaQrw6cKQaGwz_D5Uj38BxlukjgzKQg/s1600-h/100_0104.JPG"><img style="float:left; margin:0 10px 10px 0;cursor:pointer; cursor:hand;" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhaXdGn7IxvjXBeZ-VlBL7OxAuqkAjWFSb5s70Zz2RsZdOpvoJBnvQSOtiJGvZskYmY-QZ7AYq3iauHQ-i1h4GJnnV1i4x7q1bocJDG4vbvdAfZEaQrw6cKQaGwz_D5Uj38BxlukjgzKQg/s200/100_0104.JPG" border="0" alt=""id="BLOGGER_PHOTO_ID_5248251254385436162" /></a>The modified NAND u-boot menu.<br /><br clear="both">The source for the boot menu:<pre><br />bootcmd=<br /> setenv bootargs<br /> ${bootargs_base} ${mtdparts};<br /> nand read.e 0x32000000 kernel 0x200000;<br /> bootm 0x32000000<br /><br />menu_1=<br /> mmcblk0p1 - OM2008.08:<br /> setenv bootargs<br /> ${bootargs_base} ${mtdparts}<br /> rootfstype=ext2 root=/dev/mmcblk0p1 rootdelay=5;<br /> mmcinit;<br /> ext2load mmc 0:1 0x32000000 uImage.bin;<br /> bootm 0x32000000<br /><br />menu_2=<br /> mmcblk0p2 - Debian:<br /> setenv bootargs<br /> ${bootargs_base} ${mtdparts}<br /> rootfstype=ext2 root=/dev/mmcblk0p2 rootdelay=5;<br /> mmcinit;<br /> ext2load mmc 0:2 0x32000000 uImage.bin;<br /> bootm 0x32000000<br /><br />menu_3=<br /> mmcblk0p3 - QTopia:<br /> setenv bootargs<br /> ${bootargs_base} ${mtdparts}<br /> rootfstype=ext2 root=/dev/mmcblk0p3 rootdelay=5;<br /> mmcinit;<br /> ext2load mmc 0:3 0x32000000 uImage.bin;<br /> bootm 0x32000000<br /><br />menu_4=<br /> mmcblk0p6 - FDOM:<br /> setenv bootargs<br /> ${bootargs_base} ${mtdparts}<br /> rootfstype=ext2 root=/dev/mmcblk0p6 rootdelay=5;<br /> mmcinit;<br /> ext2load mmc 0:6 0x32000000 uImage.bin;<br /> bootm 0x32000000<br /><br />menu_5=<br /> Reboot:<br /> reset<br /><br />menu_6=<br /> Power off:<br /> neo1973 power-off<br /><br />menu_7=<br /> Set console to USB:<br /> setenv stdin usbtty;<br /> setenv stdout usbtty;<br /> setenv stderr usbtty<br /><br />menu_8=<br /> Set console to serial:<br /> setenv stdin serial;<br /> setenv stdout serial;<br /> setenv stderr serial<br /></pre><br /><br clear="both" />Then on 2nd thought: all this distributions run on the very same hardware - why not use the same kernel for all? Let's try this for FDOM: Replace <b>ext2load mmc 0:6 0x32000000 uImage.bin;</b> by <b>nand read.e 0x32000000 kernel 0x200000;</b>, flash the new u-boot environment, copy /lib/modules/* to /media/mmcblk0p6/lib/modules, chroot /media/mmcblk0p6 depmod and boot it - yes! Now how do I get the modules into a NAND partition?<br /><li>Common things for all distributions</li><br />There are a few identical things I did for all distributions:<ul><li>Copy /etc/dropbear/* to $distribution/etc/dropbear</li><li>Copy directory /home/root/.ssh to $distribution/home/root (resp. $distribution/root for Debian)</li><li>Add an entry <b>/dev/mmcblk0</b> to <b>/etc/udev/mount.blacklist</b></li><li>Remove the symlink $distribution/var/volatile/log and create a normal directory $distribution/var/log. In each $distribution/etc/syslog.conf, change the destination to file, increase ROTATESIZE and ROTATEGENS. It's not really helpful if errors occur and all messages are gone after a reboot.</li></ul><br /><li>mmcblk0p1 - Om2008.8 - 1 GB ext2</li><br /><li>mmcblk0p2 - Debian - 1 GB ext2</li><br /><li>mmcblk0p3 - QTopia - 1 GB ext2</li><br /><li>mmcblk0p4 - an extended partition</li><br /><li>mmcblk0p5 - swap space - 512 MB</li><br /><pre># cat /proc/swaps<br />Filename Type Size Used Priority<br />/dev/mmcblk0p5 partition 500016 0 -1<br /># free<br /> total used free shared buffers cached<br />Mem: 126292 68516 57776 0 504 32512<br />-/+ buffers/cache: 35500 90792<br />Swap: 500016 0 500016<br /></pre><br /><li>mmcblk0p6 - FDOM and misc things - 4.5 GB ext2</li><br /><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiKQO5P2cwWIM8Qvr2Iqq2GgzhyPmwe_Cen9JWn4u-Hu0bJ1JL1Moc4ucqZNjSVLpE5ue-ES6bYuxLDR0RAkJsDUA0dAKWqZQKybdMleE8PRehsYZVbS2ooaYvG9lX9DMkG6JYW0I0xaB8/s1600-h/100_0105.JPG"><img style="float:left; margin:0 10px 10px 0;cursor:pointer; cursor:hand;" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiKQO5P2cwWIM8Qvr2Iqq2GgzhyPmwe_Cen9JWn4u-Hu0bJ1JL1Moc4ucqZNjSVLpE5ue-ES6bYuxLDR0RAkJsDUA0dAKWqZQKybdMleE8PRehsYZVbS2ooaYvG9lX9DMkG6JYW0I0xaB8/s200/100_0105.JPG" border="0" alt=""id="BLOGGER_PHOTO_ID_5247535434535371666" /></a>Yes, it can boot from an extended partition - but not for long. It dies with "Unable to open an initial console". I have to check system files before the next try.<br /><br clear="both" /><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg_9y5ViiBjii0ak8PD_202tA-HU6bZjMCBZHcX32XcJx3QZNYV63uAxUiCYZZfz2KfEcozv9k8jjbdTNn9Cb8q7pDgeA2tpXJKe8DszL2kimugnbJj7k-LZE-I6oqpWumUC7EY-ONjYS0/s1600-h/Screenshot-1.png"><img style="float:left; margin:0 10px 10px 0;cursor:pointer; cursor:hand;" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg_9y5ViiBjii0ak8PD_202tA-HU6bZjMCBZHcX32XcJx3QZNYV63uAxUiCYZZfz2KfEcozv9k8jjbdTNn9Cb8q7pDgeA2tpXJKe8DszL2kimugnbJj7k-LZE-I6oqpWumUC7EY-ONjYS0/s200/Screenshot-1.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5248518103697888738" /></a>On 2nd try everything looks ok.<br /><br clear="both" /><br /><li>Conclusions</li><br /></ol>Joachim Otthttp://www.blogger.com/profile/14637682307876039092noreply@blogger.com0