<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Productivity Sync</title>
	<atom:link href="http://thegnar.org/sync/?feed=rss2" rel="self" type="application/rss+xml" />
	<link>http://thegnar.org/sync</link>
	<description>Just another WordPress weblog</description>
	<lastBuildDate>Sun, 23 May 2010 15:30:33 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0</generator>
		<item>
		<title>Android Platform hacking</title>
		<link>http://thegnar.org/sync/?p=108</link>
		<comments>http://thegnar.org/sync/?p=108#comments</comments>
		<pubDate>Tue, 23 Mar 2010 02:17:57 +0000</pubDate>
		<dc:creator>markgross</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://thegnar.org/sync/?p=108</guid>
		<description><![CDATA[for b in `find . -name '*.mk'`; do grep -i phony $b; done repo forall -c "git log  --format=%H --committer=google.com --committer=android.com -1  &#124; xargs git checkout" make kvm_img VBoxManage convertdd kvm.img kvm.vdi]]></description>
			<content:encoded><![CDATA[<pre>for b in `find . -name '*.mk'`; do grep -i phony $b; done</pre>
<pre>
<div id="_mcePaste">repo forall -c "git log  --format=%H --committer=google.com --committer=android.com -1  | xargs git checkout"</div>
<div id="_mcePaste"></div>
<div id="_mcePaste">make kvm_img</div>
</pre>
<pre>VBoxManage convertdd kvm.img kvm.vdi</pre>
]]></content:encoded>
			<wfw:commentRss>http://thegnar.org/sync/?feed=rss2&amp;p=108</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Starting with Pd</title>
		<link>http://thegnar.org/sync/?p=104</link>
		<comments>http://thegnar.org/sync/?p=104#comments</comments>
		<pubDate>Mon, 22 Mar 2010 01:41:52 +0000</pubDate>
		<dc:creator>markgross</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://thegnar.org/sync/?p=104</guid>
		<description><![CDATA[Pd is an audio centric data graph processing program with the worst UI ever.  GEM graphics based UI&#8217;s are awful! Its popular in electronic music communities, and its one of those programs that has hidden documentation. Tips: left click in an empty part of the window, and select help to get a list of &#8220;object&#8221; types [...]]]></description>
			<content:encoded><![CDATA[<p>Pd is an audio centric data graph processing program with the worst UI ever.  GEM graphics based UI&#8217;s are awful!</p>
<p>Its popular in electronic music communities, and its one of those programs that has hidden documentation.</p>
<p>Tips:</p>
<ol>
<li>left click in an empty part of the window, and select help to get a list of &#8220;object&#8221; types you can create.</li>
<li>You have 5 types of elements you can manipulate in the &#8220;GEM&#8221; interface, {object,message,number,comment,symbol}
<ul>
<li>objects: there a large list of these things.  Its not clear what abstraction to think of when working with them.</li>
<li>Numbers, are not clear</li>
<li>Symbols, look like numbers but its not clear what the heck they are.</li>
<li>comments, are clear.</li>
<li>messages are also mysterious too.</li>
</ul>
<li>&#8220;control e&#8221; toggles the window in focus between edit mode and run mode to drive the graph you set up.</li>
<ul></ul>
</li>
</ol>
<p>OMG the UI is total crap, under linux anyway, I can&#8217;t understand why is so bad.</p>
]]></content:encoded>
			<wfw:commentRss>http://thegnar.org/sync/?feed=rss2&amp;p=104</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>recordmydesktop can suck my balls.</title>
		<link>http://thegnar.org/sync/?p=100</link>
		<comments>http://thegnar.org/sync/?p=100#comments</comments>
		<pubDate>Sun, 21 Feb 2010 21:07:49 +0000</pubDate>
		<dc:creator>markgross</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://thegnar.org/sync/?p=100</guid>
		<description><![CDATA[WTF is it with this stuff? Do I *always* have to piss away 3 hrs getting something to work correctly? recordmydesktop is a screen casting tool for recording audio and screen activity into a type of lecture. out of the box lip sync is all fucked up. After screwing around with it and trying it [...]]]></description>
			<content:encoded><![CDATA[<p>WTF is it with this stuff?  Do I *always* have to piss away 3 hrs getting something to work correctly?</p>
<p>recordmydesktop is a screen casting tool for recording audio and screen activity into a type of lecture.</p>
<p>out of the box lip sync is all fucked up.  After screwing around with it and trying it on multiple computers I lucked out and found another blog that had most of what I needed.  (google for &#8220;recordmydesktop broken pipe&#8221;)  One of the hits is the one I used (thefunkcorner&#8230; &#8220;trials-with-recordmydesktop.html)</p>
<p>Anyway some of that didn&#8217;t apply to my hardware and after some more screwing around the magic command line to get a good screen cast with good lip sync is the following.</p>
<pre>recordmydesktop --fps 5 --freq 44100 --buffer-size 65536 -device plughw:0,0 --windowid 0x1600003</pre>
<p>You get the windowid using the xwindows command:</p>
<pre>xwininfo</pre>
<p>BTW for the screen cast of the console window session it gave me a data rate of 53KBS.  Expect a file size of about 3MB per min out of the box.</p>
]]></content:encoded>
			<wfw:commentRss>http://thegnar.org/sync/?feed=rss2&amp;p=100</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Using ipython and numpy to do simple linear algebra computations</title>
		<link>http://thegnar.org/sync/?p=94</link>
		<comments>http://thegnar.org/sync/?p=94#comments</comments>
		<pubDate>Sun, 21 Feb 2010 00:16:14 +0000</pubDate>
		<dc:creator>markgross</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://thegnar.org/sync/?p=94</guid>
		<description><![CDATA[Every once in a while I need to solve a linear equation and I spend WAY too much time farting around looking for how to do it or attempting to do it by hand. (at one time I have programmed these things but I have long forgotten the details&#8230;) Anyway enter ipython and numpy: run [...]]]></description>
			<content:encoded><![CDATA[<p>Every once in a while I need to solve a linear equation and I spend WAY too much time farting around looking for how to do it or attempting to do it by hand.  (at one time I have programmed these things but I have long forgotten the details&#8230;)</p>
<p>Anyway enter ipython and numpy:<br />
run ipython and have at it:<br />
<code><br />
ipython -p numeric</p>
<p>import numpy<br />
M = numpy.matrix([[a11, a12],[a21,a22]]) # the aij are Floats.<br />
b = numpy.matrix([b1,b2]).T # the bj are floats<br />
numpy.linalg.solve(M,b)<br />
</code></p>
<p>easy peesy.</p>
<p>while your at it if you want to make a graph try:<br />
<code><br />
x = array([float(i)*pi/200 for i in xrange(1000)])<br />
y = array([float(i)*pi/100 for i in xrange(1000)])</p>
<p>plot(x,sin(x),x, sin(y))<br />
plot(sin(x), sin(y))<br />
</code></p>
]]></content:encoded>
			<wfw:commentRss>http://thegnar.org/sync/?feed=rss2&amp;p=94</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Beagleboard adventures</title>
		<link>http://thegnar.org/sync/?p=89</link>
		<comments>http://thegnar.org/sync/?p=89#comments</comments>
		<pubDate>Mon, 15 Feb 2010 18:07:00 +0000</pubDate>
		<dc:creator>markgross</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://thegnar.org/sync/?p=89</guid>
		<description><![CDATA[I spent some time this weekend bringing up rowboat Android (Donut) and OpenEmbedded Angstrom beagleboard-demo-image up.  The following are notes/links for this effort. Rowboat: http://code.google.com/p/rowboat/ http://code.google.com/p/rowboat/wiki/Main http://code.google.com/p/rowboat/wiki/ConfigureAndBuild The configure and build instructions pretty much just worked. I did need to install uImage package so I could build the kernel in the proper format. FWIW the [...]]]></description>
			<content:encoded><![CDATA[<p>I spent some time this weekend bringing up rowboat Android (Donut) and OpenEmbedded Angstrom beagleboard-demo-image up.  The following are notes/links for this effort.</p>
<h2>Rowboat:</h2>
<p>http://code.google.com/p/rowboat/</p>
<p>http://code.google.com/p/rowboat/wiki/Main</p>
<p>http://code.google.com/p/rowboat/wiki/ConfigureAndBuild</p>
<p>The configure and build instructions pretty much just worked. I did need to install uImage package so I could build the kernel in the proper format. FWIW the build took about 1.5hrs for everything.</p>
<p>Configuring the uboot flash values and booting I used:</p>
<pre>setenv bootcmd 'mmc init; fatload mmc 0 84000000 uImage; bootm 84000000'
setenv bootargs 'mem=256M androidboot.console=ttyS2 console=tty0 console=ttyS2,115200n8 root=/dev/mmcblk0p2 rw init=/init rootwait omapfb.video_mode=640x480MR-16@60'
Beagleboard# saveenv
Beagleboard# reset 
</pre>
<p>The usb requires a hub for the keyboard mouse or event USB2ETH dongle to work.  The system boots and was not too bad.  The power management was anoying so I disabled it by setting the screen off time out to &#8220;never&#8221;.  The Pegasus USB2ETH dongle failed to work.  I think the kernel is misconfigured but as OE failed in a different way WRT network I can&#8217;t say for sure what the deal is.</p>
<p>FWIW I was impressed with the software graphics performance.  This image doesn&#8217;t include the PVR grahpics driver that needs to be downloaded from TI separtaly</p>
<h2>Open Embedded Angstrom beagleboard-demo-image</h2>
<p>holy shit this is a LONG build with a lot of slow downloads.</p>
<p>bitbake beagleboard-demo-image, is a big build too it took up 74,438,612 K of disk, There was some problems with building gimp and some of the extra locals, I had to hack some of the recipes a bit to get around.  When building with all the downloads already cached its a 7.6hr build on a 3Ghz, dual core box with 6MB L2 cache per core system.  (its a pretty fast box).  I even had PARALLEL_MAKE = &#8220;-j 2&#8243; and BB_NUMBER_THREADS = &#8220;2&#8243;.</p>
<pre>diff --git a/recipes/images/beagleboard-demo-image.bb b/recipes/images/beagleboard-demo-image.bb
index d83281c..b6e43df 100644
--- a/recipes/images/beagleboard-demo-image.bb
+++ b/recipes/images/beagleboard-demo-image.bb
@@ -1,6 +1,7 @@
 # Demo image for beagleboard

-IMAGE_LINGUAS = "de-de fr-fr en-gb en-us pt-br es-es kn-in ml-in ta-in"
+#IMAGE_LINGUAS = "de-de fr-fr en-gb en-us pt-br es-es kn-in ml-in ta-in"
+IMAGE_LINGUAS = "en-us"

 XSERVER ?= "xserver-xorg \
 xf86-input-evdev \
diff --git a/recipes/tasks/task-beagleboard-demo.bb b/recipes/tasks/task-beagleboard-demo.bb
index f9867af..27a411a 100644
--- a/recipes/tasks/task-beagleboard-demo.bb
+++ b/recipes/tasks/task-beagleboard-demo.bb
@@ -22,11 +22,10 @@ RDEPENDS_${PN} = "\
 gecko-mediaplayer-firefox-hack \
 hicolor-icon-theme gnome-icon-theme \
 jaaa nmap iperf gnuplot \
-    abiword-meta \
-    gnumeric \
-    gimp \
+#    abiword-meta \
+#    gnumeric \
 powertop oprofile \
-    pidgin \
+#    pidgin \
 #    irssi \
 mplayer \
 gnome-games \
</pre>
<p>Configuring the uboot boot loader to do the right thing:</p>
<pre style="text-align: justify;">setenv bootargs 'console=ttyS2,115200n8 console=tty0 root=/dev/mmcblk0p2 rw rootfstype=ext3 rootwait omapfb.video_mode=1024x768MR-16@60'</pre>
<pre style="text-align: justify;">setenv bootcmd 'mmc init; fatload mmc 0 84000000 uImage-beagleboard.bin; bootm 84000000'</pre>
<pre style="text-align: justify;">saveenv</pre>
<pre style="text-align: justify;">reset</pre>
]]></content:encoded>
			<wfw:commentRss>http://thegnar.org/sync/?feed=rss2&amp;p=89</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Ubuntu 9.10 on the Acer 4810T (Timeline)</title>
		<link>http://thegnar.org/sync/?p=83</link>
		<comments>http://thegnar.org/sync/?p=83#comments</comments>
		<pubDate>Sun, 14 Feb 2010 18:06:46 +0000</pubDate>
		<dc:creator>markgross</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://thegnar.org/sync/?p=83</guid>
		<description><![CDATA[Post ubuntu 9.10 x86_64 install fix-ups What didn&#8217;t work: brightness control audio input mouse pad annoyances mouse pad on/off button works.  But only one time per boot, then no-mouse Fixes brightness control: edit /etc/default/grub.  Add &#8220;nomodeset acpi_backlight=vendor&#8221; to GRUB_CMDLINE_LINUX_DEFAULT.  (then run update-grub to make it stick) audio input: apt-get install linux-backports-modules-alsa-karmic-generic, then reboot This fixes [...]]]></description>
			<content:encoded><![CDATA[<h2>Post ubuntu 9.10 x86_64 install fix-ups</h2>
<h2>What didn&#8217;t work:</h2>
<ul>
<li>brightness control</li>
<li>audio input</li>
<li>mouse pad annoyances</li>
<li>mouse pad on/off button works.  But only one time per boot, then no-mouse <img src='http://thegnar.org/sync/wp-includes/images/smilies/icon_sad.gif' alt=':(' class='wp-smiley' /> </li>
</ul>
<h2>Fixes</h2>
<ul>
<li>brightness control:
<ul>
<li>edit /etc/default/grub.  Add &#8220;nomodeset acpi_backlight=vendor&#8221; to GRUB_CMDLINE_LINUX_DEFAULT.  (then run update-grub to make it stick)</li>
</ul>
</li>
<li>audio input:
<ul>
<li>apt-get install linux-backports-modules-alsa-karmic-generic, then reboot</li>
<li>This fixes the sound recorder application but skype is still busted.</li>
<li>also some fiddling with alsamixer was needed (but I didn&#8217;t take notes on that.)</li>
</ul>
</li>
<li>mouse pad annoyances:
<ul>
<li>to stop the god-damn menu pops from happening I hacked my .bashrc to hit &#8221; synclient clickfinger2=0; synclient clickfinger3=0; synclient maxtaptime=0; synclient maxdoubletoptime=0&#8243;</li>
<li>I&#8217;m sure there is a better way but I don&#8217;t want to waist my time looking for it.</li>
</ul>
</li>
<li>mouse pad on/off button.
<ul>
<li>edit /etc/default/grub.  Add &#8220;i8042.nomux &#8221; to GRUB_CMDLINE_LINUX_DEFAULT.  (then run update-grub to make it stick)</li>
</ul>
</li>
</ul>
<h2>Refrences:</h2>
<p><a href="https://help.ubuntu.com/community/AspireTimeline/Fixes">https://help.ubuntu.com/community/AspireTimeline/Fixes</a></p>
]]></content:encoded>
			<wfw:commentRss>http://thegnar.org/sync/?feed=rss2&amp;p=83</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>How to disable anoying menu pop ups on new laptop</title>
		<link>http://thegnar.org/sync/?p=82</link>
		<comments>http://thegnar.org/sync/?p=82#comments</comments>
		<pubDate>Sat, 13 Feb 2010 15:58:49 +0000</pubDate>
		<dc:creator>markgross</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://thegnar.org/sync/?p=82</guid>
		<description><![CDATA[When typing on my laptop my palm touches the mouse pad and frequently I get some f-ing menu that comes up and pisses me off, or worse cause me to lose data. synclient clickfinger1=0 synclient clickfinger2=0 synclient clickfinger3=0 turns that BS off.]]></description>
			<content:encoded><![CDATA[<p>When typing on my laptop my palm touches the mouse pad and frequently I get some f-ing menu that comes up and pisses me off, or worse cause me to lose data.</p>
<p>synclient clickfinger1=0<br />
synclient clickfinger2=0<br />
synclient clickfinger3=0</p>
<p>turns that BS off.</p>
]]></content:encoded>
			<wfw:commentRss>http://thegnar.org/sync/?feed=rss2&amp;p=82</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>repo hacking and python reverse engineering</title>
		<link>http://thegnar.org/sync/?p=78</link>
		<comments>http://thegnar.org/sync/?p=78#comments</comments>
		<pubDate>Mon, 08 Feb 2010 02:52:13 +0000</pubDate>
		<dc:creator>markgross</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://thegnar.org/sync/?p=78</guid>
		<description><![CDATA[Adding a format-patch feature to the Android repo program repo is the SCM tool for the google android project its basically a git try aggregator written in python.  Its ok, but when porting Android to a new platform you may want to generate patchsets of your changes of a well defined baseline.  The android project [...]]]></description>
			<content:encoded><![CDATA[<h2>Adding a format-patch feature to the Android repo program</h2>
<p>repo is the SCM tool for the google android project its basically a git try aggregator written in python.  Its ok, but when porting Android to a new platform you may want to generate patchsets of your changes of a well defined baseline.  The android project has a way of defininging baselines.  The manifest XML files contain a listing of all the projects, git tree paths, and optionally sha1 git object hashes for the defined version.  For instance there is a file eclair-20091115.xml that defines what the exact code base is for the November 15 2009 posting of the eclare code base.</p>
<p>It is useful to be able to extract the patch-sets from the port and distribute the enabling as a small patch set.  Hence the need for a format-patch feature.</p>
<p>The rest of this port is a combination of reverse engineering tricks and documentation of how the repo program is cobbled together.  Its mostly for me so I can remember what I did, but more importantly how I figured it out enough to make it mostly work.  (and what tripped me up)</p>
<ul>
<li>Find __main__, grep -r __main__</li>
<li>see _Repo class, and its _Run function.</li>
<li>look closely at _Repo.__init__() what&#8217;s that all_commands all about/</li>
<li>oh, all_commands gets imported from subcmds!  Why, thats a directory with a __init__.py file.</li>
<li>looking at subcmds/__init__.py we see an itteration over all the *.py files in that directory, that fills a dictionary &#8220;all&#8221; with classes defined (with the proper naming convention WRT the *.py filename&#8230;)</li>
<li>These subcmd classes need to each be a subclass of Command, and include an Execute function, to be called by _Repo._Run()</li>
</ul>
<p>Now to find out how code was getting called I stooped to sprinkling print commands, pdb, and ipython loading of selected parts of the program.  I&#8217;m sure there must be a better way of doing this sort of thing but this is what I did.</p>
<ul>
<li>first looked at how similar repo commands worked.  (like repo diff)</li>
<li>grep for diff, see project.py has hits.  /me takes a closer look.</li>
<li>Also, recall how subcmds work, take a look at subcmds/diff.py</li>
</ul>
<p>At this point I should point out the ctags -R * works for python programs.  you want the tags when brousing the code.</p>
<ul>
<li>ooh, see PrintWorkTreeDiff() in project.py its a function in the Project class.</li>
<li>At this point I want to know what are the members of the Project class instances.  How do get that data, (ipython is my friend&#8230;)</li>
<li>Two ways to go at this point pdb and print out selected arguments that get passed to constructors we care about.</li>
<li>stick import pdb and pdb.set_trace() in the Execute function in the subcmds/diff.py file</li>
<li>use bt, up, and p to see arguments passed into run command.</li>
<li>also see that the _Repo() class instance is created by passing the path to the .repo directory.</li>
</ul>
<p>Now lets go to ipyton and do some poking around.</p>
<ul>
<li>cd the .repo/repo and start ipython.</li>
<li>import main</li>
<li>repo = main._Repo(&#8216;blaba/.repo&#8217;)</li>
<li>see that repo._run(argv) sets up a cmd from the dictionay all_commands, lets look at one of those guys</li>
<li>diff = repo.commands['diff']</li>
<li>lets look at what&#8217;s in this guy&#8230;</li>
<li>see that GetProjects() basically returns the self.manifest.projects in a list.  Looking around we see that the command.manifest is setup in _Run()</li>
<li>lets look at that, cmd.manifest = XmlManifest(cmd.repodir)</li>
<li>I now know I need one of these for the Baseline.  Lets subclass the XmlManifest do create my baseline manifest so I can get all access to all the goodies in each of the projects in that list.</li>
<li>but first lest look at what&#8217;s in a project.</li>
<li>man = main.XmlManifest(repo.repodir)</li>
<li>print man.projects.  Hmm its a dict.  with keys from the xml file.  lets look at one to the project  ojiects&#8230;</li>
<li>p = man.projects['GAID/platform/packages/apps/Sync']</li>
<li>p. tab and look around at what we have.</li>
<li>lets try p.PrintWorkTreeDiff()</li>
</ul>
<p>Ok, at this point I have a good bead on how this guy works.</p>
<p>To do my feature I need to add a function to Project, to do git format-patch, add a subclass to XmlMainfest for the baseline manifest files, and a subcmd/format-patch.py with a FormatPatch subclass of Command.</p>
<p>So working with python comes down to a combonation of reading code, using pdb, ipython and perhaps some print&#8217;s in the code.</p>
<p>Nothing too magical, but these are what I needed to do.</p>
<p>Gotcha: when using subprocess, be sure to make every argument not have any spaces!  I got wrapped up with subprocess.call(['git','format-patch','--output-directory /home', rev]) only to finally figure out that the the 3rd parrameter should be the 3rd and 4th ones.  one trick is to use strace to see what the list should be:</p>
<p>strace -e trace=execve git format-patch &#8211;output-directory /home/mgross to see what should be passed in.</p>
<p>Handy bdb commands: help, n, up, down, s, l, p</p>
<p>its not too good at introspection.</p>
]]></content:encoded>
			<wfw:commentRss>http://thegnar.org/sync/?feed=rss2&amp;p=78</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Linux From Scratch guest under VBox</title>
		<link>http://thegnar.org/sync/?p=76</link>
		<comments>http://thegnar.org/sync/?p=76#comments</comments>
		<pubDate>Mon, 28 Dec 2009 02:04:13 +0000</pubDate>
		<dc:creator>markgross</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://thegnar.org/sync/?p=76</guid>
		<description><![CDATA[Network setup: ls /sys/class/net to see what devices the system thinks you have. I have eth1 and lo edit /etc/sysconfig/network-devices/ifconfig.eth1/ipv4 to look like: ONBOOT=yes SERVICE=ipv4-static IP=10.0.2.15 GATEWAY=10.0.2.2 PREFIX=24 BROADCAST=10.0.2.255 Then add your names to /etc/sysconfig/network HOSTNAME=lfs and update resolv.conf: domain lfs nameserver 10.0.2.2 nameserver 192.168.140.1 &#60;&#8211;HACK I needed to get it working for my system. [...]]]></description>
			<content:encoded><![CDATA[<h2>Network setup:</h2>
<p>ls /sys/class/net to see what devices the system thinks you have.<br />
I have eth1 and lo</p>
<h3>edit /etc/sysconfig/network-devices/ifconfig.eth1/ipv4 to look like:</h3>
<p>ONBOOT=yes<br />
SERVICE=ipv4-static<br />
IP=10.0.2.15<br />
GATEWAY=10.0.2.2<br />
PREFIX=24<br />
BROADCAST=10.0.2.255</p>
<h3>Then add your names to /etc/sysconfig/network</h3>
<p>HOSTNAME=lfs</p>
<h3>and update resolv.conf:</h3>
<p>domain lfs<br />
nameserver 10.0.2.2<br />
nameserver 192.168.140.1 &lt;&#8211;HACK I needed to get it working for my system.<br />
I&#8217;m pretty sure I&#8217;m doing something wrong to need this, or the NAT from the<br />
VBox doesn&#8217;t do dns routing to the host.  This problem should go away once<br />
I change things to DHCP within the LFS guest.</p>
<h3>then update hosts file</h3>
<p>127.0.0.1 localhost<br />
10.0.2.15 lfs.vbox<br />
10.0.2.2 vbox</p>
<p>after all this running /etc/rc.d/init.d/network restart gave me a working<br />
network with DNS support.</p>
<h3>Random LFS notes:</h3>
<p>you *really* want to have screen installed and use it (Learn it.  Love it).<br />
you also want to boot with the vga=ask option and with a kernel that support<br />
vesa frame buffers to get something better than a 25&#215;80 text window.</p>
]]></content:encoded>
			<wfw:commentRss>http://thegnar.org/sync/?feed=rss2&amp;p=76</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Virtual Box PXE boot with serial console</title>
		<link>http://thegnar.org/sync/?p=68</link>
		<comments>http://thegnar.org/sync/?p=68#comments</comments>
		<pubDate>Mon, 28 Dec 2009 01:47:12 +0000</pubDate>
		<dc:creator>markgross</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://thegnar.org/sync/?p=68</guid>
		<description><![CDATA[Some notes on working with VBox as a PXE test target for booting test linux kernels&#8230;. (BTW linux-next-20091224 fails to boot for me) Step 1: get tftp-hpa installed.  (you don&#8217;t need the daemon.  just the program) Step 2: set up the pxe directory root. mkdir $HOME/.VirtualBox/TFTP mkdir $HOME/.VirtualBox/TFTP/pxelinux.cfg Step 3: Copy pxelinux.0 to $HOME/.VirtualBox/TFTP make [...]]]></description>
			<content:encoded><![CDATA[<h2>Some notes on working with VBox as a PXE test target for booting test linux kernels&#8230;.</h2>
<p>(BTW linux-next-20091224 fails to boot for me)</p>
<h3>Step 1:</h3>
<p>get tftp-hpa installed.  (you don&#8217;t need the daemon.  just the program)</p>
<h3>Step 2:</h3>
<p>set up the pxe directory root.<br />
mkdir $HOME/.VirtualBox/TFTP<br />
mkdir $HOME/.VirtualBox/TFTP/pxelinux.cfg</p>
<h3>Step 3:</h3>
<p>Copy pxelinux.0 to $HOME/.VirtualBox/TFTP<br />
make symbolic link to pxelinux.0 named &lt;guest-vmname&gt;.pxe.<br />
i.e. ln -s pxelinux.0 LFS.pxe</p>
<h3>step 4:</h3>
<p>copy kernel and perhaps initrd to $HOME/.VirtualBox/TFTP<br />
cp /boot/*2.6.32* .</p>
<h3>step 5:</h3>
<p>edit $HOME/.VirtualBox/TFTP/pxelinux.cfg/default<br />
mine looks like:<br />
LABEL linux<br />
KERNEL vmlinuz-2.6.32<br />
#APPEND root=/dev/sda2<br />
APPEND root=/dev/sda2  console=ttyS0,115200n8 vga=343<br />
#APPEND initrd=initrd.img-2.6.32 root=/dev/sda2 console=ttyS0,115200n8</p>
<h2>Notes on getting a serial output from Virtual box guest and host over named pipe:</h2>
<h3>from the VirtualBox GUI for guest settings select Serial Ports:</h3>
<p>enable com1, with port mode Host Pipe.<br />
enable create pipe<br />
set pathname for pipe.<br />
e.g. /home/mgross/vbox_tty</p>
<h3>connecting to this pipe:</h3>
<h4>socat:</h4>
<p>socat unix-listen:vbox_tty,reuseaddr,fork -<br />
socat UNIX-LISTEN:vbox_tty -<br />
see: http://www.reactos.org/wiki/VirtualBox</p>
<p>http://blino.org/blog/mandriva/virtualbox-pipe.html</p>
<h4>minicom:</h4>
<p>for minicom change the serial device to be the pipe using the unix# syntax.<br />
A -    Serial Device      : unix#/home/mgross/vbox_tty<br />
This worked for me.<br />
i.e. run minicom -s and then Serial port setup menu option and put unix#pipe_path</p>
<p>I didn&#8217;t like the behavior of socat and it actually is one of the complicated<br />
programs to use with 2 zillion options.</p>
]]></content:encoded>
			<wfw:commentRss>http://thegnar.org/sync/?feed=rss2&amp;p=68</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
