Booting Linux: the History and the Future Werner Almesberger Werner

Total Page:16

File Type:pdf, Size:1020Kb

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
Recommended publications
  • Boot Mode Considerations: BIOS Vs UEFI
    Boot Mode Considerations: BIOS vs. UEFI An overview of differences between UEFI Boot Mode and traditional BIOS Boot Mode Dell Engineering June 2018 Revisions Date Description October 2017 Initial release June 2018 Added DHCP Server PXE configuration details. The information in this publication is provided “as is.” Dell Inc. makes no representations or warranties of any kind with respect to the information in this publication, and specifically disclaims implied warranties of merchantability or fitness for a particular purpose. Use, copying, and distribution of any software described in this publication requires an applicable software license. Copyright © 2017 Dell Inc. or its subsidiaries. All Rights Reserved. Dell, EMC, and other trademarks are trademarks of Dell Inc. or its subsidiaries. Other trademarks may be the property of their respective owners. Published in the USA [1/15/2020] [Deployment and Configuration Guide] [Document ID] Dell believes the information in this document is accurate as of its publication date. The information is subject to change without notice. 2 : BIOS vs. UEFI | Doc ID 20444677 | June 2018 Table of contents Revisions............................................................................................................................................................................. 2 Executive Summary ............................................................................................................................................................ 4 1 Introduction ..................................................................................................................................................................
    [Show full text]
  • Chapter 3. Booting Operating Systems
    Chapter 3. Booting Operating Systems Abstract: Chapter 3 provides a complete coverage on operating systems booting. It explains the booting principle and the booting sequence of various kinds of bootable devices. These include booting from floppy disk, hard disk, CDROM and USB drives. Instead of writing a customized booter to boot up only MTX, it shows how to develop booter programs to boot up real operating systems, such as Linux, from a variety of bootable devices. In particular, it shows how to boot up generic Linux bzImage kernels with initial ramdisk support. It is shown that the hard disk and CDROM booters developed in this book are comparable to GRUB and isolinux in performance. In addition, it demonstrates the booter programs by sample systems. 3.1. Booting Booting, which is short for bootstrap, refers to the process of loading an operating system image into computer memory and starting up the operating system. As such, it is the first step to run an operating system. Despite its importance and widespread interests among computer users, the subject of booting is rarely discussed in operating system books. Information on booting are usually scattered and, in most cases, incomplete. A systematic treatment of the booting process has been lacking. The purpose of this chapter is to try to fill this void. In this chapter, we shall discuss the booting principle and show how to write booter programs to boot up real operating systems. As one might expect, the booting process is highly machine dependent. To be more specific, we shall only consider the booting process of Intel x86 based PCs.
    [Show full text]
  • Linux Boot Loaders Compared
    Linux Boot Loaders Compared L.C. Benschop May 29, 2003 Copyright c 2002, 2003, L.C. Benschop, Eindhoven, The Netherlands. Per- mission is granted to make verbatim copies of this document. This is version 1.1 which has some minor corrections. Contents 1 introduction 2 2 How Boot Loaders Work 3 2.1 What BIOS does for us . 3 2.2 Parts of a boot loader . 6 2.2.1 boot sector program . 6 2.2.2 second stage of boot loader . 7 2.2.3 Boot loader installer . 8 2.3 Loading the operating system . 8 2.3.1 Loading the Linux kernel . 8 2.3.2 Chain loading . 10 2.4 Configuring the boot loader . 10 3 Example Installations 11 3.1 Example root file system and kernel . 11 3.2 Linux Boot Sector . 11 3.3 LILO . 14 3.4 GNU GRUB . 15 3.5 SYSLINUX . 18 3.6 LOADLIN . 19 3.7 Where Can Boot Loaders Live . 21 1 4 RAM Disks 22 4.1 Living without a RAM disk . 22 4.2 RAM disk devices . 23 4.3 Loading a RAM disk at boot time . 24 4.4 The initial RAM disk . 24 5 Making Diskette Images without Diskettes 25 6 Hard Disk Installation 26 7 CD-ROM Installation 29 8 Conclusions 31 1 introduction If you use Linux on a production system, you will only see it a few times a year. If you are a hobbyist who compiles many kernels or who uses many operating systems, you may see it several times per day.
    [Show full text]
  • DOS Technical Reference
    -------- - ---- Personal Computer - ---- - --- ------ - . - Programming Family DOS Technical Reference 6138536 Preliminary First Edition (February 1985) The following paragraph does not apply to the United Kingdom or any country where such provisions are inconsistent ~ith local law: INTERNATIONAL BUSINESS MACHINES CORPORATION PROVIDES TIllS PUBLICATION "AS IS" wrrnom WARRANTY OF ANY KIND, EmlER EXPRESS OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, 1HE IMPLIED WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. Some states do not allow disclaimer of express or implied warranties in certain transactions, therefore, this statement may not apply to you. lbis publication could include technical inaccuracies or typographical errors. Changes are periodically made to the information herein; these changes will be incorporated in new editions of the publication. IBM may make improvements and!or changes in the product(s) and/or the program(s) described in this pUblication at any time. It is possible that this publication may contain reference to, or information about, IBM products (machines and programs), programming, or services that are not announced in your country. Such references or information must not be construed to mean that IBM intends to announce such IBM products, programming, or services in your country. Products are not stocked at the address below. Requests for copies of this publication and for technical information about IBM Personal Computer products should be made to your authorized IBM Personal Computer dealer, IBM Product Center, or your IBM Marketing Representative. The following paragraph applies only to the United States and Puerto Rico: A Reader's Comment Form is provided at the back of this publication. If the form has been removed.
    [Show full text]
  • Unit V Algorithm for Booting the UNIX System
    Unit V Algorithm for booting the UNIX system : As we’ve noted, the boot process begins when the instructions stored in the computer’s permanent, nonvolatile memory (referred to colloquially as the BIOS, ROM,NVRAM, and so on) are executed. This storage location for the initial boot instructions is generically referred to as firmware (in contrast to “software,” but reflecting the fact that the instructions constitute a program[2]). These instructions are executed automatically when the power is turned on or the system is reset, although the exact sequence of events may vary according to the values of stored parameters.[3] The firmware instructions may also begin executing in response to a command entered on the system console (as we’ll see in a bit). However they are initiated, these instructions are used to locate and start up the system’s boot program , which in turn starts the Unix operating system. The boot program is stored in a standard location on a bootable device. For a normal boot from disk, for example, the boot program might be located in block 0 of the root disk or, less commonly, in a special partition on the root disk. In the same way, the boot program may be the second file on a bootable tape or in a designated location on a remote file server in the case of a network boot of a diskless workstation. There is usually more than one bootable device on a system. The firmware program may include logic for selecting the device to boot from, often in the form of a list of potential devices to examine.
    [Show full text]
  • The Linux Startup Process
    The Linux startup process Jerry Feldman <[email protected]> The Linux Expertise Center Hewlett-Packard Company Document produced via OpenOffice.org Overview ● The Linux boot process – GRUB. This is the default for X86/Linux – LILO – Other boot loaders ● The Linux Operating modes – Single-user mode – Multi-user mode. ● Run Levels – What are run levels – What are the Linux standard run levels – How Linux manages run levels 2 The Linux Boot process ● The PC boot process is a 3-stage boot process that begins with the BIOS executing a short program that is stored in the Master Boot Record (MBR) of the first physical drive. Since this stage 1 boot loader needs to fit in the MBR, it is limited to 512 bytes and is normally written in assembly language. There are a number of boot loaders that can load Linux. ● GRUB and LILO are the most commonly used ones on X86 hardware. ® ® ● EFI is used on the Intel Itanium family. 3 The GRand Unified Bootloader The GRand Unified Bootloader (GRUB) is default boot loader on most distributions today. It has the capability to load a number of different operating systems. 1.The stage 1 boot resides in the MBR and contains the sector number of the stage 2 boot that is usually located in the /boot/grub directory on Linux. 2.The stage 2 boot loader presents a boot menu to the user based on /boot/grub/grub.conf or menu.lst. This contains a boot script. It is the stage2 loader actually loads the Linux kernel or 4 other OS.
    [Show full text]
  • Bootloader and Startup Feature Overview and Configuratoin Guide
    TechnicalTTechnicalechnical GuideGuidGuidee Bootloader and Startup Feature Overview and Configuration Guide The AlliedWare Plus™ Bootloader Every switch has a startup process. The end result of the startup is that the unit is running a specific version of the operating system software, with the features configured according to a specific startup configuration file. The startup process goes through two main phases: First, the switch boots up off a dedicated bootloader software image, which initializes core functionality of the unit. Then, the bootloader launches the main operating software image, and passes control over to this operating system. The bootloader is the executable code responsible for setting up the system and loading the operating system software. The bootloader is the software that runs the unit when it first powers up, performing basic initialization and executing the product software release. As part of the startup process of the switch, the bootloader allows you various options before running the product operating system software. C613-22004-00 x REV A alliedtelesis.com Products and software version that apply to this guide This guide applies to all AlliedWare Plus products, running version 5.4.4 or later. However, not all features in this guide are supported on all products. To see whether a product supports a particular feature or command, see the following documents: The product’s Datasheet The AlliedWare Plus Datasheet The product’s Command Reference These documents are available from the above links on our website at alliedtelesis.com. Feature support may change in later versions. For the latest information, see the above documents. Content The AlliedWare Plus™ Bootloader ....................................................................................
    [Show full text]
  • Using the OMAP-L132/L138 Bootloader
    Application Report SPRAB41F–January 2014–Revised January 2019 Using the OMAP-L132/L138 Bootloader Joseph Coombs ABSTRACT This application report describes various boot mechanisms supported by the OMAP-L132/L138 bootloader read-only memory (ROM) image. Topics covered include the Application Image Script (AIS) boot process, an AISgen tool used to generate boot scripts, protocol for booting the device from an external master device, a UART Boot Host GUI for booting the device from a host PC, and any limitations, default settings, and assumptions made by the bootloader. Project collateral discussed in this application report can be downloaded from the following URL: http://www.ti.com/lit/zip/sprab41. Contents 1 Introduction ................................................................................................................... 3 2 Boot Modes................................................................................................................... 3 3 Non-AIS Boot Modes........................................................................................................ 3 4 Application Image Script (AIS) Boot....................................................................................... 6 5 AISgen: Tool to Generate Boot Script (AIS Image).................................................................... 11 6 Master Boot – Booting From a Slave Memory Device ................................................................ 19 7 Slave Boot – Booting From an External Master Host ................................................................
    [Show full text]
  • Installation Guide
    ATA Hard Drive Installation Guide Copyright © 2002 Maxtor Corporation. All rights reserved. Changes are periodically made to the information herein which will be incorporated in revised editions of this publication. Maxtor may make changes or improvements to the product(s) described in this publication at any time and without notice. MaxBlast is a trademark and Maxtor is a registered trademark of Maxtor Corporation. All other brands or products are trademarks or registered trademarks of their respective holders. FCC Declaration of Conformance This device complies with part 15 of the FCC Rules. Operation is subject to the following two conditions: (1) this device may not cause harmful interference, and (2) this device must accept any interference received including interference that may cause undesired operation. Maxtor Corporation Part Number 500 McCarthy Blvd., Milpitas, California 95035 USA 20186800/A P/N: 20186800/A Contents 1 Getting Started . 1 Handling the Hard Drive. 1 Operating System Requirements . 1 Back Up Your Data . 2 Important Capacity Notice . 2 2 Installing the Hard Drive. 3 Removing the System Cover. 3 Setting the Jumpers . 4 Mounting the Hard Drive . 7 Attaching the Cables . 9 Configuring the System BIOS . 12 3 Formatting the Hard Drive . 15 Installing Hard Drive as a Boot Drive. 16 Installing Hard Drive to Replace Existing Hard Drive. 20 Installing Hard Drive as an Additional Hard Drive . 21 4 Getting Help . 23 Installation Troubleshooting . 23 Frequently Asked Questions . 25 5 Glossary . 27 Maxtor Product Warranty. 30 Getting Started 1 Thank you for selecting a Maxtor hard drive storage product. This installation guide will lead you through the installation of your hard drive.
    [Show full text]
  • Using the OMAP-L1x7 Bootloader Urmil Parikh and Joseph Coombs
    Application Report SPRAB04G– June 2012 Using the OMAP-L1x7 Bootloader Urmil Parikh and Joseph Coombs ABSTRACT This application report describes various boot mechanisms supported by the OMAP-L1x7 bootloader read- only memory (ROM) image. Topics covered include the Application Image Script (AIS) boot process, an AISgen tool used to generate boot scripts, protocol for booting the device from an external master device, a UART Boot Host GUI for booting the device from a host PC, and any limitations, default settings, and assumptions made by the bootloader. Project collateral discussed in this application report can be downloaded from the following URL: http://www.ti.com/lit/zip/SPRAB04. Contents 1 Introduction .......................................................................................................................................................... 2 2 Boot Modes .......................................................................................................................................................... 3 3 Non-AIS Boot Modes ........................................................................................................................................... 3 4 Application Image Script (AIS) Boot ..................................................................................................................... 5 5 AISgen: Tool to Generate Boot Script (AIS image) ........................................................................................... 11 6 Master Boot – Booting From a Slave Memory Device
    [Show full text]
  • How to Boot Linux in One Second …Why Userland Is a Waste of Time ;)
    How to boot Linux in one second …why userland is a waste of time ;) Jan Altenberg Linutronix GmbH Jan Altenberg Linutronix GmbH 1 from zero… Jan Altenberg Linutronix GmbH 2 to hero… Jan Altenberg Linutronix GmbH 3 Overview 1. Basics Motivation Some technical basics 2. Optimizations Bootloader Kernel Filesystem Application 3. Example Optimizing an ARMv5 based device Optimizing the test system Jan Altenberg Linutronix GmbH 4 Motivation 1. Basics Motivation Some technical basics 2. Optimizations Bootloader Kernel Filesystem Application 3. Example Optimizing an ARMv5 based device Optimizing the test system Jan Altenberg Linutronix GmbH 5 • solution: power-off instead of suspending • BUT: Users are not used to wait Motivation Motivation ''marketing'' automotive applications energy saving Jan Altenberg Linutronix GmbH 6 • BUT: Users are not used to wait Motivation Motivation ''marketing'' automotive applications energy saving • solution: power-off instead of suspending Jan Altenberg Linutronix GmbH 6 Motivation Motivation ''marketing'' automotive applications energy saving • solution: power-off instead of suspending • BUT: Users are not used to wait Jan Altenberg Linutronix GmbH 6 Some technical basics 1. Basics Motivation Some technical basics 2. Optimizations Bootloader Kernel Filesystem Application 3. Example Optimizing an ARMv5 based device Optimizing the test system Jan Altenberg Linutronix GmbH 7 Some technical basics First step: Define your requirements!!!! What's the limit for the boot time? Which functionality should be available? Speed
    [Show full text]
  • Linux Booting Procedure How Linux Boot?
    Linux Booting Procedure How Linux boot? 2 What is “boot”? • boot (n.) [1] http://en.wikipedia.org/wiki/Boot 4 Brief etymology[2] • Phrase “pull oneself up by one’s bootstraps” • Misattributed (at latest in 1901!) to “The Surprising Adventures of Baron Munchausen” (1781, Rudolf Erich Raspe) : The baron pulls himself out of a swamp by his hair (pigtail). • The use of this phrase is found in 1834 in the U.S. • “[S]omeone is attempting or has claimed some ludicrously far-fetched or impossible task” • In the 20th century, the “possible bootstrap[3] task” meaning has appeared • “To begin an enterprise or recover from a setback without any outside help; to succeed only on one's own effort or abilities” 5 [2] http://en.wiktionary.org/wiki/pull_oneself_up_by_one%27s_bootstraps [3] http://en.wikipedia.org/wiki/Bootstrapping Bootstrapping (in Computer) • The process of loading the basic software (typically, operating systems) into the main memory from persistent memory (HDD, flash ROM, etc.) • “Boot” is an abbreviation for “bootstrap(ping)” Boostrapping Code 6 System startup Booting sequence 1. Tern on 2. CPU jump to address of BIOS (0xFFFF0) 3. BIOS runs POST (Power-On Self Test) 4. Find bootale devices 5. Loads and execute boot sector form MBR 6. Load OS 5 BIOS (Basic Input/Output System) BIOS refers to the software code run by a computer when first powered on The primary function of BIOS is code program embedded on a chip that recognises and controls various devices that make up the computer. BIOS on board BIOS on screen 6 How computer startup? Booting is a bootstrapping process that starts operating systems when the user turns on a computer system A boot sequence is the set of operations the computer performs when it is switched on that load an operating system 4 Boot loader MBR (Master Boot Record) OS is booted from a hard disk, where the Master Boot Record (MBR) contains the primary boot loader The MBR is a 512-byte sector, located in the first sector on the disk (sector 1 of cylinder 0, head 0) After the MBR is loaded into RAM, the BIOS yields control to it.
    [Show full text]