{"id":790,"date":"2010-11-15T22:11:59","date_gmt":"2010-11-16T05:11:59","guid":{"rendered":"http:\/\/www.graphics-muse.org\/wp\/?p=790"},"modified":"2010-11-15T22:11:59","modified_gmt":"2010-11-16T05:11:59","slug":"beaglebox-tmpfs-for-writes-for-now-but-new-u-boot-required","status":"publish","type":"post","link":"https:\/\/www.graphics-muse.org\/wp\/?p=790","title":{"rendered":"BeagleBox:  tmpfs for writes, for now, but new u-boot required"},"content":{"rendered":"<p>It&#8217;s a wonder what you can get done once the board actually boots up to a shell prompt.\u00a0 Tonight I completed setup of inittab and boot scripts &#8211; along with customization of the rootfs build &#8211; to force writes normally bound for the rootfs to end up on a tmpfs mount.\u00a0 I used angstrom&#8217;s model of <em>\/var\/volatile<\/em> to set it up though I modified it slightly to fit the organizational structure I typically expect on a distribution.<\/p>\n<p>While testing this I found a weird behaviour in init processing.\u00a0 For some reason when I created some directories using <em>\/etc\/init.d\/rcS<\/em> the mkdir&#8217;s failed.\u00a0 I don&#8217;t know why, but when I moved these mkdir&#8217;s to another init script, run after rcS, they worked.\u00a0 Weird.\u00a0 I though it might be because the sysinit entries in inittab run in parallel and maybe the &#8220;mount -a&#8221; that was also running hadn&#8217;t completed but that just doesn&#8217;t seem right.\u00a0 I think the sysinit&#8217;s run in order and sequentially.\u00a0 So I don&#8217;t know why this happens.<\/p>\n<p>I also fixed the \/etc files so I could get a getty running properly on ttyS2.\u00a0 So now instead of a shell prompt I get a login prompt.\u00a0 Root has no password yet, but I can deal with that later (I know how to generate it but don&#8217;t need it during development).\u00a0 Small steps.<\/p>\n<p>The last thing I noted was a process issue.\u00a0 When dd&#8217;ing the rootfs image to the 2nd SD card partition I noticed that the partition shows up with just the size of the image file.\u00a0 That means the partition is nearly full though there is plenty of room left on the SD card.\u00a0 To get around this the rootfs image can&#8217;t be dd&#8217;d to the partition.\u00a0 Instead, an ext2 image must be created on the SD card and the <em>contents<\/em> of the rootfs image copied to it.\u00a0 That way the extra space on the SD card&#8217;s 2nd partition isn&#8217;t lost.\u00a0 This process takes longer and I don&#8217;t care about the extra space during development so the impact of this is to just make sure the wiki specifies copying the rootfs to the SD card and not using dd.<\/p>\n<p>While rebuilding the rootfs I spent time looking over the <a href=\"https:\/\/www.graphics-muse.org\/bugs\/index.php?do=details&amp;task_id=43\">S-Video not displaying<\/a> problem.\u00a0 I think one thing that may help is to get the proper u-boot release and patch it with the patches from Angstrom.\u00a0 This shouldn&#8217;t be hard.\u00a0 The build system is already set up to handle the switch to a different version of git.\u00a0 Adding the patches requires adding a download of the patches from an archive I&#8217;ll create of the Angstrom patches and store on BeagleBox&#8217;s project site.\u00a0 I do something like this for the kernel already.\u00a0 I wouldn&#8217;t have to do this if git allowed downloading just a subset of a project but as far as I know it doesn&#8217;t.\u00a0 Someone please correct me if I&#8217;m wrong.<\/p>\n<p>At a minimum, switching to the Angstrom u-boot + patches should get me the color bars on the TV screen.\u00a0 At least I hope it will.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>It&#8217;s a wonder what you can get done once the board actually boots up to a shell prompt.\u00a0 Tonight I completed setup of inittab and boot scripts &#8211; along with customization of the rootfs build &#8211; to force writes normally bound for the rootfs to end up on a tmpfs mount.\u00a0 I used angstrom&#8217;s model [&hellip;]<\/p>\n","protected":false},"author":2,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"ngg_post_thumbnail":0,"jetpack_post_was_ever_published":false,"footnotes":"","jetpack_publicize_message":"","jetpack_publicize_feature_enabled":true,"jetpack_social_post_already_shared":false,"jetpack_social_options":{"image_generator_settings":{"template":"highway","enabled":false},"version":2}},"categories":[390,8,5,6],"tags":[447,381,482,483,484,465,439,442,485,367],"class_list":{"0":"post-790","1":"post","2":"type-post","3":"status-publish","4":"format-standard","6":"category-beaglebox-hardware","7":"category-hardware","8":"category-linux","9":"category-software-development","10":"tag-angstrom","11":"tag-beaglebox","12":"tag-boot-scripts","13":"tag-getty","14":"tag-git","15":"tag-inittab","16":"tag-s-video","17":"tag-sd-card","18":"tag-sysinit","19":"tag-tv-screen","20":"czr-hentry"},"jetpack_publicize_connections":[],"aioseo_notices":[],"jetpack_featured_media_url":"","jetpack_shortlink":"https:\/\/wp.me\/pe9t8-cK","jetpack_sharing_enabled":true,"jetpack-related-posts":[],"jetpack_likes_enabled":true,"_links":{"self":[{"href":"https:\/\/www.graphics-muse.org\/wp\/index.php?rest_route=\/wp\/v2\/posts\/790","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.graphics-muse.org\/wp\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.graphics-muse.org\/wp\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.graphics-muse.org\/wp\/index.php?rest_route=\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/www.graphics-muse.org\/wp\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=790"}],"version-history":[{"count":1,"href":"https:\/\/www.graphics-muse.org\/wp\/index.php?rest_route=\/wp\/v2\/posts\/790\/revisions"}],"predecessor-version":[{"id":791,"href":"https:\/\/www.graphics-muse.org\/wp\/index.php?rest_route=\/wp\/v2\/posts\/790\/revisions\/791"}],"wp:attachment":[{"href":"https:\/\/www.graphics-muse.org\/wp\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=790"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.graphics-muse.org\/wp\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=790"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.graphics-muse.org\/wp\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=790"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}