Sean Hincheeinitial push75d07b48 years agoHistory
895 lines · 6.5 KB · HTML
RawDownload
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd"><html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en"><head>	<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />	<meta name="keywords" content="9p, 9p2000, research, Plan 9, Inferno, Unix, Open Source, Bell Labs" />	<meta name="description" content="Open source distributed operating system Plan 9 from Bell Labs." />	<link rel="stylesheet" href="/wiki-style.css" media="all" type="text/css" />	<title>Replacing 9load (Diff)</title></head><body><h1><a name="top"></a>Replacing 9load <i>-Diff-</i></h1> <div class='body'> <!-- ***************************** --> <hr /><div class='diff_head'><a href="index.html">Tue Dec 20 05:52:41 EST 2005</a>, uriel (82.182.149.46)</div><hr /><pre>Date: Mon, 5 Dec 2005 15:47:14 -0500From: Russ Cox &lt;rsc@swtch.com&gt;To: 9fans &lt;9fans@cse.psu.edu&gt;Subject: [9fans] replacing 9load</pre> <p class='para'>Forquiteafewyears,variousofushavetalkedaboutreplacing9load.WhenJimandIreplacedb.comwiththecombinationofld.comand9load,weconsideredusingastockPlan9kernelinstead.SeanQuinlantookafewstepstowardmakingthispossible:headdedtheconfigurationenvironment#ec,theDev.shutdownroutines,and/dev/reboot.Withthese,onecanusethekernelasanimpromptubootloaderalready.IbelieveRonMinnichdoesjustthatinsomeofhismachines.</p> <p class='para'>Thereareafewthings9loaddoesthatthekerneldependson.Themainoneisloadingplan9.inifromsomewhereandleavingitinmemory.AsecondaryoneissettinguptheAPMBIOSinterface,andintheoriginalVESAcodewrittenforInferno,9loadwasresponsibleforsettinguptheVGA.Withthenewrealmodecode(orbetter,ifsomeonewouldwriteit,VM86code)inthekernel,theAPMandVESAcanbedonebythekernelproper.Thatleavesplan9.ini.</p> <p class='para'>Plan9.iniservestworelatedbutdifferentpurposes.Thefirstistogivethekernelhintsabouthardwarerecognition.Thesecondistospecifyafewaspectsofthesoftwareconfiguration.Ideally,itwouldbeniceifplan9.inicouldbecomeoptional.</p> <p class='para'>HardwarerecognitionwasamuchbiggerproblemintheoldISAdays.Plan9.iniwas,atthetime,anexcellentalternativetorecompilingthekerneltohard-wirealltheconstantsaboutyourmachine.NowthatwehavePCIanditsdeviceids,youdon'tneedtotellthekernelwhathardwareyouhaveanymore.Itknows,usuallybetterthanyou.</p> <p class='para'>Thatleavesthesoftwareconfiguration:mouse,vga,serialconsole,kernellocation,rootfilesystemlocation,bootmenu,etc.Themouseandvgacouldpossiblybeauto-detected,andthenewvgaresizecode(ifitworks)makesitpossibletocorrectabadguessabouttheuser'sdesiredscreensize.</p> <p class='para'>Theotheroptionsinplan9.ini--theserialconsole,thekernelandrootfilesystem,thebootmenu--can'tjustbeguessed.Jimhasbeenplayingwithloadingplan9.iniviaPXE/TFTP,whichisgreatforarealsingle-file-serverPlan9setup,thoughitwon'tsatisfythesingle-machineusers.Idon'texpectthispartofplan9.initogoaway,thoughonecouldmake9loaddowithoutitinthegeneralcase(scanthelocal9fatsforfilesnamed9pc*,forexample).</p> <p class='para'>WhenIputthenewmmucodeintothekernels,Ididn'tfeellikeputtingitinto9loadtoo.InsteadIwroteasmallbinarythatturnsagzippedkernelintoa9loadbinarythatthePBSbootstrapcouldloadintomemory.Yourun</p> <pre>cat load 9pcload.gz &gt;9load</pre> <p class='para'>toproducea9loadfromakernel.Ihaveputthisin

Lines 1–500 of 895.