{"id":66,"date":"2003-11-11T16:30:24","date_gmt":"2003-11-11T06:30:24","guid":{"rendered":"http:\/\/www.erisian.com.au\/wordpress\/?p=66"},"modified":"2003-11-11T16:30:24","modified_gmt":"2003-11-11T06:30:24","slug":"cross-strapping","status":"publish","type":"post","link":"https:\/\/www.erisian.com.au\/wordpress\/2003\/11\/11\/cross-strapping","title":{"rendered":"Cross-strapping!"},"content":{"rendered":"<p>So, I&#8217;ve actually done something vaguely productive with arch now; namely put <a href=\"http:\/\/packages.debian.org\/debootstrap\">debootstrap<\/a> into it, and hacked on cross-strapping support. Cross-strapping is basically inspired by the needs of the Hurd project, and more particularly the crosshurd package. Basically, in order to install a Debian GNU\/Hurd system you have to boot up Linux, do partitioning and a partial install, then reboot into that partial install and finish it off. You can&#8217;t do the partitioning in Hurd, and you can&#8217;t get a functional Hurd system from Linux, so you have to do it in two stages.<\/p>\n<p>So naturally, that&#8217;s how debootstrap works now. The first stage can thus be executed on any Unixy platform, and just needs basic things like a POSIX sh, sed, wget and access to a Debian archive; and while the second stage does have to be run on the target host, it doesn&#8217;t require anything other than what the first stage has already setup. In fact, the procedure for completing the second stage install is just:<\/p>\n<blockquote>\n<pre>\n<code>chroot $TARGET debootstrap\/debootstrap\n<\/code>\n<\/pre>\n<\/blockquote>\n<p>In theory this should be useful for a bunch of things other than the Hurd; such as setting up Linux chroots on BSD systems, installing Debian onto embedded systems, and possibly doing cool emulation stuff with things like qemu.<\/p>\n<p>The only real problem with it at the moment, is that it isn&#8217;t able to create the correct devices for the target system (it creates the devices for the host system instead). Hopefully that can be fixed once Bdale finishes <a href=\"http:\/\/www.gag.com\/cgi-bin\/blosxom\/2003\/08\/23\">porting the Red Hat makedev to Debian<\/a>.<\/p>\n<p>A snapshot tarball is available <a href=\"http:\/\/azure.humbug.org.au\/~aj\/debootstrap-0.3.1pre1.tgz\">here<\/a>. If you want to play, you can do a first stage only install with:<\/p>\n<blockquote>\n<pre>\n<code>debootstrap --arch ${TARGET_ARCH} --foreign sarge ${TARGET_DIR} ${MIRROR}\n<\/code>\n<\/pre>\n<\/blockquote>\n<p>The <code>--arch<\/code> flag is required for everything interesting, the <code>--foreign<\/code> flag tells debootstrap to do the first stage only.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>So, I&#8217;ve actually done something vaguely productive with arch now; namely put debootstrap into it, and hacked on cross-strapping support. Cross-strapping is basically inspired by the needs of the Hurd project, and more particularly the crosshurd package. Basically, in order to install a Debian GNU\/Hurd system you have to boot up Linux, do partitioning and [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":[],"categories":[4],"tags":[],"_links":{"self":[{"href":"https:\/\/www.erisian.com.au\/wordpress\/wp-json\/wp\/v2\/posts\/66"}],"collection":[{"href":"https:\/\/www.erisian.com.au\/wordpress\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.erisian.com.au\/wordpress\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.erisian.com.au\/wordpress\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.erisian.com.au\/wordpress\/wp-json\/wp\/v2\/comments?post=66"}],"version-history":[{"count":0,"href":"https:\/\/www.erisian.com.au\/wordpress\/wp-json\/wp\/v2\/posts\/66\/revisions"}],"wp:attachment":[{"href":"https:\/\/www.erisian.com.au\/wordpress\/wp-json\/wp\/v2\/media?parent=66"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.erisian.com.au\/wordpress\/wp-json\/wp\/v2\/categories?post=66"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.erisian.com.au\/wordpress\/wp-json\/wp\/v2\/tags?post=66"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}