{"id":38,"date":"2006-09-21T13:59:44","date_gmt":"2006-09-21T20:59:44","guid":{"rendered":"http:\/\/intr.overt.org\/blog\/?p=38"},"modified":"2006-09-21T13:59:44","modified_gmt":"2006-09-21T20:59:44","slug":"putting-the-cart-before-the-horse","status":"publish","type":"post","link":"https:\/\/blog.intr.overt.org\/?p=38","title":{"rendered":"Putting the cart before the horse"},"content":{"rendered":"<p>So, one of my friends at work was complaining bitterly after I tricked him into installing 64bit Ubuntu on his shiny new xw9300. He knew flash wasn&#8217;t going to work, but wasn&#8217;t so enthused when he found he&#8217;s lost the ability to use copy-and-paste with VNC. He uses the vnc server extension &#8211; but that somehow managed to use long when it should have used CARD32 or something like that &#8211; so the vncconfig utility can&#8217;t talk to it. The real killer is that gdb is very broken with respect to 32bit programs and often can&#8217;t inspect variables on the stack. I believe he&#8217;s had other problems too and is imminently going to start again with the 32bit version. <\/p>\n<p>I run 64bit Ubuntu on my work machine and it&#8217;s been pretty much problem free (although I am also led to hate gdb from time to time) but at home I would not be so foolish. Consequently, I&#8217;ve done things a little bit differently.<\/p>\n<p>When I got my shiny new athlon x2 machine at the beginning of August, I knew I wasn&#8217;t going to just install a 64bit distro on it &#8211; there&#8217;s no official 64bit Slackware and I didn&#8217;t want to see flash and realplayer disappear, so I figured I start off with a 64bit kernel and then consider my options. After building a 64bit kernel in a VM (yay!), I was suitably unimpressed to see that the compatibility ioctl layer had enough holes in it that I couldn&#8217;t use the system properly (iptables refused to apply multi-port rules and hidd for bluetooth input devices just didn&#8217;t work). So I abandoned the idea for a while. Then a couple of weeks ago, I decided that I&#8217;d have a go at building a 64bit chroot to run the programs that had to be 64bit &#8211; and this has turned out to be a pretty effective way of dealing with the problem.<\/p>\n<p>I took slamd64, the unofficial 64bit slackware, and installed its base into a directory and then used bind mounts to make \/dev, \/sys, \/proc, etc available and then wrote a simple script to run stuff out of the chroot (not as fancy as the one recommended for Ubuntu\/Debian), and then pointed the calls to the offending utilities at the chroot, and, somwhat amazingly, everything worked. I was particularly impressed to see my 64bit hidd working alongside the 32bit hcid and sdpd. I&#8217;ve also successfully run 64bit Unreal Tournament 2004 out of the chroot &#8211; which was rather nice.<\/p>\n<p>I don&#8217;t think there&#8217;s anything particularly profound about any of this, but I find it interesting that the &#8220;page-in&#8221; approach to 64bit isn&#8217;t one that&#8217;s been used very much, if at all.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>So, one of my friends at work was complaining bitterly after I tricked him into installing 64bit Ubuntu on his shiny new xw9300&#8230;<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[3],"tags":[],"class_list":["post-38","post","type-post","status-publish","format-standard","hentry","category-rambling"],"_links":{"self":[{"href":"https:\/\/blog.intr.overt.org\/index.php?rest_route=\/wp\/v2\/posts\/38"}],"collection":[{"href":"https:\/\/blog.intr.overt.org\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/blog.intr.overt.org\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/blog.intr.overt.org\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/blog.intr.overt.org\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=38"}],"version-history":[{"count":0,"href":"https:\/\/blog.intr.overt.org\/index.php?rest_route=\/wp\/v2\/posts\/38\/revisions"}],"wp:attachment":[{"href":"https:\/\/blog.intr.overt.org\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=38"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/blog.intr.overt.org\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=38"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/blog.intr.overt.org\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=38"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}