Booting Linux: the History and the Future Werner Almesberger Werner

Booting Linux: the History and the Future Werner Almesberger Werner

¢¡£¡¥¤§¦©¨ ¦©¨£ ¦¤¡! #"%$&¨ '%¤# ()¤§ § *+-,/.#+-,103254+7698:+-,/;<+-, =>©?A@B>/?/C DFEHGI>/JLKM>/?LN7>©?OP>©QSRC TVU WYX#.#+[Z<\^]_ZM`<`<` ´ µ7¶d·S¸B¹º»¼Y·B½¹:¶ abdcfehg7ijSe ªyUB>¥KYlnlfoFQB?AlST>/JAJTl7@uJLpHJoAJlh^ow~mlIGrqs¾wlh?QuUuqhJL>/J/®Fw¿À EHl7qh{Bpt@BNoLUu>Ipt@nS[±h>©?A@B>/EpH@-oLl GI>©GIlh?Av¯qf@M{¨Quq7JLJLpH@BN Tl7@-oL?AlhE§oAl¯p¬o9 _qf@u{§ÂÁh&pt@BptoLp|qfEHpHépH@BN)oLUu>1@Bl7?LGrqfE:lhQY>©?L} qsoAptl7@>/@n-pH?Alh@BGI>©@-o9CÄnlhGI> lf oLUB>)QYl7JAJLptKBEH>)~yqÀvnJoAl kmlnlfoLpH@BNrqf@3lhQY>©?VqsoApt@uNIJLvSJwoA>©GxGI>9qf@uJyoAlIGz>9{Sp|qsoL>¥KY>} QY>©?Llh?AGIJmoAUB>/JL>¥JwoA>©QuJqf?A>{B>©QBp|T¦oA>/{3pt@3©uN7B?A>¿7C ow~m>©>©@q[uJMqfEHEtv7>©?AvKuqhJLp|Tf dqh@u{?L>97u>©@-oLEHvB@B?A>©EHpt} qfKuEt>£JLvSJwoA>©G>/@n-pH?Alh@BGI>©@-o1>hC NuC£oAUB>1ykmLB oLUu> B@uToLpHlh@uqhEtptowv?A>/-BpH?A>/{KnvoAUB>)lhQY>©?VqsoApt@uNJLvSJwoA>©Gpto} JL>©Etw Yqh@u{3oLUB>Jl7Gz>©oLpHGI>/JF?VqsoAUB>©?PJl7QBUBp|JwoApHT/qsoL>9{ J>©oLBQuJ uJL>©?VJy~pHJLUoLl£T?A>/qfoL>7C Hardware startup B?AlhGoAUB>UnBGKBEt>PKM>/NhpH@B@BpH@BN7JdlfoAUB>PRulhQBQnvIKYl-lhomJL>/T} Firmware (BIOS) oLl7?/ foLUB>pH@nS!KYlnlfo§QB?AlnT©>/JAJUuqhJNh?Als~@&?ApHTVUB@uToLpHlh@S} qfEHptowvh h~ptoLUI7>©?VJLqfoLpHEt>yKYl-lho_Etl-qh{S>/?AJy5w 7D w¡& ¢£y¤ k §>oVTfC¥¦ yJ>/h>/?AqhEdKYlnlfo£pHGIqhNh>lh?AGrqsoAJ/ :qh@u{qh@ Boot selector pH@uT?A>/q7JpH@BNsqf?Apt>©owvlh&lhQY>©?VqsoLpHlh@MJIoLUuqfo3T/qf@§KY>¨{Slh@u> Boot loader NMCEHl7qh{S} >©7>©@KM>©lh?A>1oAUB>)JvSJoL>©Gp|JBEHEtvKYlnlfoA>/{ _>7C Legacy OS pH@BN£lf_{S?ApHh>©?GzlS{SuEt>9JKY>l7?L>&GIl7B@-oLpH@BNroLUu>&?LlnlhoF©uEH> JLvnJoL>/G C Linux−capable Linux loader boot loader ªyUB>KYl-lho)QB?LlST©>/JAJp|J)qfE|JLlKY>/Tl7GIpt@BNGIlh?A>{Sp¬«£T©BE¬o ~ptoLU­oLpHGI>h®¯@B>/~°QY>©?ApHQBUB>©?VqfE|JI~ptoLUpt@-oA>©?A>/JoLpH@BNB@uT¦} Linux kernel oLpHlh@MqfEHp¬owv&qh@u{JLlhGI>©oLpHGz>9J>©h>/@!GIlh?A>mpt@-oL>/?L>9JwoApt@uNPQB?AlhKB} EH>©GrJ_N7>o:~p|{S>©EHvI{S>©QBEHlsvh>9{Iqf@u{I@B>/>/{IoAl&KY>JuQBQMl7?oA>/{ Mount initrd uJL>©?VJ_T?A>/qfoL>@B>/~§qf@u{rT©lhGIQBEHpHT/qsoL>9{IJvSJoL>©GTl7@S©uN7B?Aqf} oLpHlh@MJmqh@u{3JwoAptEHE<@B>©>9{£oAlzKY>qfKBEH> oLlzKMlnlfo9 Bqf@u{1EHq7JwoyKBSo @BlhoEH>/q7Jwo9 @B>/~B@MT¦oLpHlh@MqfEHp¬owv¯p|J&T©lh@uJoAqh@7oAEtv¯q7{B{S>9{¯oAl /linuxrc oLUu>±h>©?A@B>/E5 hqh@u{IJl7GI>mlhMpto/ ->hC NuC^@B>©~©uEH>FJvSJoL>©GrJ/ hT©qh@ qfE|JLlIqf²Y>9T¦oyoLUu>¥KMlnlfoFQu?LlST>9JLJ/C Linux kernel Mount root file system DFEHE-oLUB>yTl7GIQBEtp|T©qfoLpHlh@uJoLUu>dKYlnlfo^Qu?LlST>9JLJ^Uuq7JoAlUuqh@u{SEH> qf?A>z>©h>/@[~mlh?VJL>{SB?ApH@BN)JvSJoL>©Gpt@uJoAqhEtE|qsoAptl7@ KY>/T©qhuJL> /sbin/init q¯E|qf?ANh>r@nBGKM>/?lhFQMl-JLJLpHKBEt>Tlh@B©uNhB?VqsoAptl7@uJ&GuJoKY> Tl7@uJLpH{S>/?L>9{ hKuSoyJoLl7?AqhNh>FJLQuqhT©>Fp|J:EHptGIptoL>9{C§B?A>/-B>©@-oAEtv System runs qzJpH@BNhEH> RulhQuQ-v£{BpHJL±£Uuq7J:oAlrJS«£T©>Pl7?moLUB> ©u?VJwoFJoL>/QuJ©C ^pHNhu?L>I¿h®§kmlnlfoFQB?AlST>9JLJmlsh>/?LnpH>©~¥C ªyUBp|JmQuqfQY>©?{S>9JLT©?LpHKM>9J_oAUB>KMlnlhomQB?AlST>9JLJdB@u{S>/?pH@-B< oLUu>TVUuqhEtEH>©@BN7>/JyptoPUuq7JoAlrqhT©>h Mqh@u{ UBls~³pto>©7lhEHh>/{oAl GI>©>©ooLUu>©G C km>9Jp|{S>/JoLUupHJPUBp|JwoAlh?ApHT/qfEls7>©?Anpt>/~¥ u~UBp|TVU =§UBpHEt>zoAUBpHJ QuqhQM>/?lST©uJ>9J GIqhpt@uEtv)l7@¯oLUu>p|ÅhÆ7Ç1qf?VTVUBpt} qfE|JLl1pHEtEHuJoL?VqsoL>9JN7>©@B>/?AqhE{B>/JLptN7@¨Tl7@uT>/QSoAJ/ Jl7GI>!GIlh?A> oL>9T¦oAB?L>7 hGrqf@nv!T©lh@uT©>©QSoVJ§qfE|Jl¥qhQBQBEHv&oLllhoLUB>/?_qf?VTVUBp¬oA>/T} ?A>/T>/@-oq7{B{SptoLpHlh@uJqh?L>¥{Sp|JATuJAJ>9{1pH@){S>oVqfpHE5C oLu?L>9JJBQuQMl7?oA>/{3Knv1pH@nSC i¢§©¨ e Yg ¢¡£ ¤¦¥ ªyUBp|J QB?AlhKBEH>©G p|J)JLlhEHh>/{ÄKnv§oLUB>pH@BptoL?V{ Gz>9TVUuqf@upHJLG £ ~UBp|TVU¯qfEHEtls~FJoLUB>uJ>!lf_q D¦,{SpHJL±3KM>©lh?A>&GIlhB@-o} £ pH@BN oLUB>qhT¦oAuqfE:?Llnlfo¥©MEt>£JLvSJwoA>©G CªyUBp|J D-, {Sp|J±[pHJ ªyUB>©u?AJo:QBUMqhJL>FpHJ:oLUu>P{Sl7GIqhpt@rlhKMlnlhodEHl7qh{B>©?VJ©CªyUB>©v EHl7qh{B>/{­KnvoAUB>¯KYl-lho1EHl7qh{B>©?9CÄpH@Bp¬oA?A{p|J1{B>/JAT?AptKY>/{pH@ UuqÀ7>¥oLl?L>©oL?Apt>/h>¥oAUB>!±7>©?A@B>©E>S>/T©SoAqhKBEH>!qf@u{¯QMl-JLJLptKuEtv JL>/T¦oAptl7@3ÅuC qh{u{Sp¬oAptl7@uqfE{BqfoAq?AlhG JLlhGI>¨JoLl7?AqhNh>¯GI>/{BpHqu F>hC NuCq {Sp|J±< ^lh??AlhGqh@>©noL>©?A@uqhE_Jl7B?AT©>h >7C NMCI?Ll7G q3KMlnlho =§UBpHEt>mpH@Bp¬oA?A{Uuq7JQB?Alsh>/@¥oLlPKM>y7>©?AvPuJL>uE5 soAUB>{S>/JLpHNh@ JL>©?Ah>©?dlh@roAUB> @B>ow~mlh?A±< hEHl7qh{roLUB>/Gxqso:oAUB> ?LpHNhU-odGI>/G} lfuoLUB>yGI>/TVUuqh@Bp|JG³uJL>/{&oLl Gzl7B@-o^oAUB>y?Llnlho©uEH>mJLvSJwoA>©G lh?Av)EHlnT/qsoAptl7@ GrqÀv-KY>rTVUuqf@uNh>&oAUB>r>S>9TSoAptl7@¨GIlS{S>Ilf qs oA>©?FpH@BptoL?V{ UuqhJT©lhGIQBEH>oA>/{ ptoAJ~mlh?A±£~yqhJy@B>/h>©?P7up¬oA> oLUu>¥QB?LlST©>/JAJl7?/ nqf@u{ JoAqh?oyoLUu>¥±h>©?A@B>/E5C JAqsoLp|JqhT¦oAlh?AvhCDFE|JlM 7lhoLUB>/?:TVUuqf@uNh>/J_pt@IoAUB>F±h>/?L@u>©EBGrqh{B> pto pH@uT?A>/q7JpH@BN7Etv){Spt«£TBEtooLl3uJ>!oLUuqfo¥Gz>9TVUuqf@upHJLG pt@q kmlnlfo Etl-qh{S>/?AJÄowvnQBp|T©qfEHEHv QM>/?l7?LG Jl7Gz> q7{B{SptoLpHlh@uqhE ) T©Et>9qf@.*y~yqÀvhCn>/ToLpHlh@0/F{Sp|JLT©uJAJ>9J<oLUBl-J>:pHJAJu>/JpH@¥GIlh?A> oAq7J±SJ/ /EHpH±h>§QB?AlsnpH{SpH@BNmoLUu>_±h>/?L@B>/Ef~ptoLU¥Quqh?AqhGz>©oL>/?AJ<JLuTVU {S>©oAqfpHEÂC qhJzpH@Slh?AGrqsoAptl7@?A>oL?ApH>©h>9{?AlhG oAUB>3©u?LG~mqh?L>lh?zoLUu> KYl-lhodTl7GIGIqh@u{zEtpH@B>7C§SlhGI>FKYl-lho:EHl7qh{B>©?VJ§T©qf@£qhEHJLl¥qhTo qhJ§q KYlnlfo:JL>©EH>/T¦oAlh?_qh@u{zEtl-qh{lfoLUu>©?§lhQY>©?VqsoApt@uNJLvSJwoA>©GrJ/C 546_e:g ¢¡21 3 ªyUB>3{SSoLpH>/JzlhFKMlnlfoIEHl7qh{B>©?VJ!qf@M{Jl7GI>1Tl7GzGIl7@{S>} JLptN7@uJPqh?L>z{Sp|JLT©uJLJL>/{¨pt@[GIlh?A>{S>©oAqfpHE#pt@J>9T¦oAptl7@ÁSC&D@ pH@7oA?LlS{SMT¦oLpHlh@oLl KYl-lho_Tlh@MT>©QBoAJ#lh@pHÅ7ÆhÇPpt@zNh>/@B>©?VqfEnT©qh@ ªyUB?A>©>@B>/~ TVUuqhEtEH>©@uNh>/JyqÀ~yqfptodoAUB>¥KYl-lhoFQB?AlnT©>/JAJmpt@3oLUu> KY>lhB@u{3pH@¬¿ C SoAB?L>7®m¿9§oLUB>©M?LG~mqh?L>qf@M{rqf@nv!Uuqh?A{B~mqh?L>moLUu>FKMlnlho EHl7qh{B>©?VJyUuqÀh>oAl£pt@-oA>©?LqhT>!~p¬oAU)~ptEHEN7?Lls~ GIlh?A>B@uT¦} oLpHlh@MqfEHp¬owv87 qh@u{ Spt^oAUB>QuqhJopHJqh@nv£pt@M{SpHT/qsoAptl7@lhoLUu> i §g© ©¨ ¢¡ SoAB?L>7 -q?Ap|TVUB>©?_JL>o:lhKBBN7J§oLlnluCy5Á7©uEH>JvSJoL>/GIJ:Tlh@B} oAqhpt@upt@BN±h>/?L@B>/EPpHGrqfN7>/J~ptEHEKM>9TlhGI>GIlh?A>¨Tl7GzQuEt>©< £ >hC NuC¾wl7B?L@MqfEHpt@BN£©uEt>JvSJoL>©GrJlh? Dw! <qf@M{¯Tl7?L?A>/ToLEHv P@uT©>oAUB>)±h>/?L@u>©EypHJI?AB@B@upt@BNM :pto£pt@up¬oApHqhEtpHé>9JIp¬oVJrpt@-oA>©?L} pH@7oA>©?AQB?A>oLpH@BN¨oLUB>/pt?ITl7@7oA>©@-o~pHEHEmKY>3h>©?Av{Sp¬«£T©BE¬oIl7? @uqhEy{uqsoAqJoL?AuT¦oAB?L>9J© d{S>oA>/T¦oVJIUuqf?V{S~yqf?A>T©lhGIQMl7@B>©@-oVJ KYl-lho!EHl7qh{B>©?VJ©CÅ-QY>©lhQuEt>£~pHEHEd~yqf@-o&oAl¯Etl-qh{±h>/?L@u>©E|J qf@M{q7T¦oAptsqsoA>/J oAUB>£Tl7?L?A>/JLQMl7@u{SpH@BN {S?LpHh>/?AJ/ >oVTfCH ^u@7oAptE ?AlhGlfoAUB>©?I>©nlhoLp|TJLlhu?AT©>/J/ §>hC NuC?AlhGoAUB>3@B>ow~mlh?A±< pto >/h>©@-oAuqfEHEtv KY>/T©lhGI>/JP?L>9qh{Sv3oAl?AB@¯uJL>©?L} JQuq7T>&Qu?Llh} uJLpt@uNIqIJL>/T©B?L>¥T©lh@B@B>9T¦oAptl7@C Nh?VqfGrJ/C1km>l7?L>IptoT©qh@JoAqh?o¥oAUB>£uJL>©?L} JQuq7T>I>©@nnpH?Ll7@S} GI>©@-o/ Spto@B>©>9{BJmoLlzQB?AlsnpH{S> ptoy~ptoLU q!©uEt>¥JLvSJwoA>©G BJlzpto Uuq7JmoLlrGIlhB@-oyoLUu>¥?Llnlfoy©uEH>&JLvnJoL>/G ©u?VJwo9C New hard− and firmware @l7?A{S>/?¥oLl¨Gzl7B@-o!oAUB>1?Alnlfo¥©uEH>JLvSJwoA>©G oLUB>±h>©?A@B>/E @B>/>/{BJzow~ml¨oAUBpH@BN7J/®ptor@B>©>9{BJzoLl±n@Bls~ oAUB> GI>/{Sp|q¨l7@ ~UBp|TVUoLUB>£?Alnlfo¥©uEH>1JLvSJwoA>©Gp|J¥EHlST©qsoA>/{ #qf@M{[pto!@B>/>/{BJ @¯oLUB>zGIl7JoT©lhGIGIlh@ {S?Apt7>©?VJoAlqhT/T>9JLJoLUuqfoPGI>/{BpHquC Boot Tl7@S©uN7B?AqfoLpHlh@ §~Uu>©@oLUB> ?Al-lho©MEt>)JLvnJoL>/GpHJrJLpHGzQuEtv process qf@I>©-o¦Á Quqf?LoLptoLpHlh@Il7@Iqh@Iw¦!{Sp|JL±Y hoLUBp|J_p|J_JLptGIQBEH>h®^oLUu> @nBG!KY>©?^lfSoAUB>:?Alnlfo{S>/-p|T>dpHJQuqhJAJL>/{ oLlFoLUB>d±h>©?A@B>/E7qhJq ¦!{B?LpHh>/?§pHJ#owvnQBp|T©qhEtEHvT©lhGIQBpHEt>9{ Quqh?AqhGz>©oL>/?/ hqh@u{oLUB>w Linux system More complex architecture configurations pH@7oAlzoLUB>¥±7>©?A@B>©EÂC advances ¨ÂjBie¨ :c ¢¡#" $%¥'&( ¥ ptN7B?A> ÁS®#ªyUB> KMlnlhodQB?AlST>/JAJdpHJ:qhT©pt@BN@B>©~ TVUMqfEHEt>/@BNh>9J ?AlhG oAUB?L>/>&{SpH?L>9T¦oLpHlh@MJ©C ªyUBpH@BN7JIN7>orGIlh?A>3T©lhGIQBEHpHT/qsoA>/{p¬PoLUB>)±7>©?A@B>©EyUuq7J@ul {S?Apt7>©?yl7?oLUB>{S>©np|T>hCmªyUBp|JpHJ7up¬oA>!Tl7GzGIl7@l7?oLUu> =§UBpHEt>¯oLUB>/?L>)p|JrEHp¬oLoLEH>¨TVUBlhp|T> KBBo£oLloA>/qhTVUoLUu>¯KMlnlho ) N7>©@B>/?Lp|T+*±h>©?A@B>/EHJ£oLUuqfo qh?L>[uJ>9{§~UB>/@ÄpH@uJwoVqfEHEtpH@BN­q EHl7qh{B>©?VJoAl){S>/qhE§~p¬oAU¨oAUB>©pH?¥ptGIGI>/{BpHqfoL>I©u?AG!~yqf?A>qh@u{ @B>/~pH@nS[JLvSJwoA>©G KM>9T©qhuJ>rq±h>/?L@B>/E#~p¬oAUqhEtE§qÀsqfpHEt} Uuqh?A{S~yqf?A> >©@nnpt?Alh@BGI>/@7o9 nEtl-qh{SpH@BNzoLUB>¥±7>©?A@B>©E<?AlhG°{Sp¬ } qfKuEt>!{B?LpHh>/?AJ~mlhuEH{ JLptGIQBEHv KM>¥qh?FoAl-l1KBptNM Yqh@u{)JLlhGI> ©MT©BE¬o!oLl¨q7T©T>9JLJ&Gz>9{Sp|q¯T©qh@KY>£N7?L>9qsoLEHv[JLpHGzQuEtpt©u>/{Knv {S?Apt7>©?VJGrqÀv qhEHJLlFBQMJ>©o^lfoAUB>©?^Uuqf?V{S~yqf?A>§~UB>©@!QB?Ll7KBpH@BN EH>/qÀnpt@uN!GIl7JomlhoLUu>P~mlh?A±zoLlIqpt@nS£±7>©?A@B>©EÂC#S>/T¦oAptl7@ lh?yoAUB>©pH?{S>/npHT©>/J/C >©E|qfKYlh?VqsoA>/JdB?LoLUB>/?Flh@oLUBp|JyoAlhQBp|TfC 9 ¡¹m¹_·£¢w¹¥¤§º§¦¸©¨ qh{u{Sp¬oAptl7@uqfE{BqfoAqBCªyUBp|J£?A>©>9J£oAUB>©G ?AlhG UuqÀnpH@BNoAl ±n@Bls~ oLUB>!JoL?AuToLB?A>&lf#oAUB>&B@u{B>©?AEtvnpH@BNI©uEH>!JvSJoL>/G°l7? qf@nv[QB?Ll7QM>/?oApt>9J¥lfyoAUB>q7T¦oLMqfE:JoLl7?L>£{S>/npHT©>/J/C)P@B>1lf D³KYl-lhoFEtl-qh{S>/?yQM>/?l7?LGrJmoLUu>lhEHEtls~pH@BNoAqhJL±SJ©® oLUu>©pH?I{BpHJAqh{Ssqh@7oVqfN7>/J&p|JoLUuqfooAUB>©vUMqÀh>roAl¨oVqf±h>3JQY>} Tp|qfEmQB?A>/T/qfSoAptl7@uJ!~Uu>©@EHl7q7{SpH@BN¯oAUB>±7>©?A@B>©E §pH@lh?V{S>/? oLlI±7>©>©Q1oLUB>UBl-Jwol7QM>/?AqfoLpH@BNzJLvSJwoA>©G l7QM>/?AqfoLpHlh@uqhEYu@7oAptE {S>9Tp|{S>m~UuqsooLl Etl-qh{ s>7C NMC^KnvQB?AlhGIQSoApt@BNPoLUu>mMJ>/? oLUu>©vqf?A>£?A>/qh{Bv¨oAl¨?AB@oLUu>3pt@nS±h>/?L@u>©E >7C NMC¯oAUB>©v G!MJwoz@Blfozlsh>©?A~?Ap¬oA>rGz>/GIlh?Av[EHlST©qsoAptl7@uJ&lST/TBQBpH>/{Knv EHl7q7{oAUB>¨±7>©?A@B>©EPqf@u{QYl7JAJpHKBEHv­q7{B{SptoLpHlh@uqhEP{BqfoAqu oLUu>UBl-Jwo:l7QM>/?AqfoLpH@BN&JLvnJoL>/G CD@BlfoAUB>©?y{Sp|JLq7{Ssqf@-oAqhNh>ypHJ JLuTVU qhJqf@ pH@BptoL?V{1l7?Quqf?VqfGI>oA>©?VJdlh?yoLUu>¥±h>©?A@B>/E oLUMqsooLUu>&>©@-oLpH?A> KYlnlfoQu?LlST>9JLJmoVqf±7>/JyEHlh@BN7>©?moLUuqh@)~p¬oAU

View Full Text

Details

  • File Type
    pdf
  • Upload Time
    -
  • Content Languages
    English
  • Upload User
    Anonymous/Not logged-in
  • File Pages
    16 Page
  • File Size
    -

Download

Channel Download Status
Express Download Enable

Copyright

We respect the copyrights and intellectual property rights of all users. All uploaded documents are either original works of the uploader or authorized works of the rightful owners.

  • Not to be reproduced or distributed without explicit permission.
  • Not used for commercial purposes outside of approved use cases.
  • Not used to infringe on the rights of the original creators.
  • If you believe any content infringes your copyright, please contact us immediately.

Support

For help with questions, suggestions, or problems, please contact us