⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 00000070.htm

📁 一份很好的linux入门资料
💻 HTM
📖 第 1 页 / 共 2 页
字号:
<HTML><HEAD>  <TITLE>BBS水木清华站∶精华区</TITLE></HEAD><BODY><CENTER><H1>BBS水木清华站∶精华区</H1></CENTER>寄信人:&nbsp;linuxrat&nbsp;(竹剑居士*农大历史上最差的学生)&nbsp;<BR>标&nbsp;&nbsp;题:&nbsp;一个没有1024问题的引导器nuni[FWD]&nbsp;<BR>发信站:&nbsp;BBS&nbsp;水木清华站&nbsp;(Thu&nbsp;Feb&nbsp;&nbsp;3&nbsp;13:08:22&nbsp;2000)&nbsp;<BR>来&nbsp;&nbsp;源:&nbsp;202.112.168.253&nbsp;&nbsp;<BR>&nbsp;<BR>其实有很多的bootloader的.&nbsp;不过大家使用lilo习惯了也就不怎么关心其他的&nbsp;<BR>bootloader.&nbsp;在sunsite上面多的是啦.&nbsp;<BR>URL:<A HREF="http://www.linuxforum.com/plug/articles/nuni.html">http://www.linuxforum.com/plug/articles/nuni.html</A>&nbsp;<BR>===Begin===&nbsp;<BR>&nbsp;&nbsp;&nbsp;A&nbsp;&quot;New-ni&quot;&nbsp;Bootloader&nbsp;<BR>&nbsp;<BR>&nbsp;&nbsp;&nbsp;Neil&nbsp;Koozer&nbsp;of&nbsp;Roseburg,&nbsp;Oregon&nbsp;has&nbsp;created&nbsp;nuni,&nbsp;a&nbsp;boot&nbsp;loader&nbsp;for&nbsp;a&nbsp;<BR>&nbsp;&nbsp;&nbsp;Linux&nbsp;system&nbsp;that&nbsp;uses&nbsp;the&nbsp;ext2&nbsp;file&nbsp;system&nbsp;and&nbsp;IDE&nbsp;drives.&nbsp;nuni&nbsp;<BR>&nbsp;&nbsp;&nbsp;handles&nbsp;various&nbsp;ext2&nbsp;block&nbsp;sizes,&nbsp;and&nbsp;handles&nbsp;both&nbsp;small&nbsp;and&nbsp;large&nbsp;<BR>&nbsp;&nbsp;&nbsp;kernels.&nbsp;<BR>&nbsp;<BR>&nbsp;&nbsp;&nbsp;The&nbsp;nuni&nbsp;program&nbsp;was&nbsp;inspired&nbsp;by&nbsp;a&nbsp;long-standing&nbsp;need.&nbsp;When&nbsp;he&nbsp;<BR>&nbsp;&nbsp;&nbsp;discovered&nbsp;Linux&nbsp;some&nbsp;5&nbsp;years&nbsp;ago,&nbsp;there&nbsp;were&nbsp;many&nbsp;people&nbsp;having&nbsp;those&nbsp;<BR>&nbsp;&nbsp;&nbsp;bios-related&nbsp;problems&nbsp;in&nbsp;booting&nbsp;Linux.&nbsp;Instead&nbsp;of&nbsp;getting&nbsp;better,&nbsp;the&nbsp;<BR>&nbsp;&nbsp;&nbsp;problem&nbsp;has&nbsp;gotten&nbsp;worse&nbsp;due&nbsp;to&nbsp;the&nbsp;proliferation&nbsp;of&nbsp;larger&nbsp;drives&nbsp;<BR>&nbsp;&nbsp;&nbsp;(with&nbsp;the&nbsp;accessible&nbsp;zone&nbsp;already&nbsp;occupied).&nbsp;Neil&nbsp;felt&nbsp;that&nbsp;this&nbsp;<BR>&nbsp;&nbsp;&nbsp;problem&nbsp;would&nbsp;become&nbsp;a&nbsp;serious&nbsp;blemish&nbsp;on&nbsp;Linux&nbsp;when&nbsp;Linux&nbsp;becomes&nbsp;<BR>&nbsp;&nbsp;&nbsp;more&nbsp;exposed&nbsp;to&nbsp;the&nbsp;public.&nbsp;What&nbsp;if&nbsp;MS&nbsp;Windows&nbsp;would&nbsp;freeze&nbsp;with&nbsp;&quot;WI&quot;&nbsp;<BR>&nbsp;&nbsp;&nbsp;instead&nbsp;of&nbsp;booting?&nbsp;For&nbsp;a&nbsp;long&nbsp;time&nbsp;Neil&nbsp;had&nbsp;the&nbsp;idea&nbsp;that&nbsp;a&nbsp;minimal&nbsp;<BR>&nbsp;&nbsp;&nbsp;IDE&nbsp;driver&nbsp;&amp;&nbsp;loader&nbsp;would&nbsp;fit&nbsp;in&nbsp;one&nbsp;sector,&nbsp;and&nbsp;when&nbsp;he&nbsp;discovered&nbsp;<BR>&nbsp;&nbsp;&nbsp;the&nbsp;nasm&nbsp;assembler,&nbsp;just&nbsp;had&nbsp;to&nbsp;give&nbsp;it&nbsp;a&nbsp;try.&nbsp;This&nbsp;loader&nbsp;is&nbsp;seeded&nbsp;<BR>&nbsp;&nbsp;&nbsp;with&nbsp;hardware&nbsp;addresses&nbsp;at&nbsp;install&nbsp;time&nbsp;just&nbsp;like&nbsp;LILO,&nbsp;but&nbsp;it&nbsp;doesn't&nbsp;<BR>&nbsp;&nbsp;&nbsp;use&nbsp;a&nbsp;map;&nbsp;it&nbsp;uses&nbsp;the&nbsp;inode&nbsp;to&nbsp;find&nbsp;the&nbsp;data&nbsp;blocks&nbsp;at&nbsp;boot&nbsp;time.&nbsp;You&nbsp;<BR>&nbsp;&nbsp;&nbsp;can&nbsp;look&nbsp;at&nbsp;the&nbsp;C&nbsp;code&nbsp;and&nbsp;the&nbsp;assembler&nbsp;code&nbsp;in&nbsp;a&nbsp;funky&nbsp;html&nbsp;format&nbsp;<BR>&nbsp;&nbsp;&nbsp;(the&nbsp;sources&nbsp;are&nbsp;in&nbsp;the&nbsp;downloadable&nbsp;file).&nbsp;<BR>&nbsp;<BR>&nbsp;&nbsp;&nbsp;So,&nbsp;the&nbsp;reason&nbsp;for&nbsp;this&nbsp;particular&nbsp;loader&nbsp;is&nbsp;to&nbsp;avoid&nbsp;bios&nbsp;limitations&nbsp;<BR>&nbsp;&nbsp;&nbsp;by&nbsp;not&nbsp;using&nbsp;the&nbsp;bios.&nbsp;There&nbsp;is&nbsp;no&nbsp;1024&nbsp;cylinder&nbsp;problem&nbsp;because&nbsp;the&nbsp;<BR>&nbsp;&nbsp;&nbsp;concept&nbsp;of&nbsp;cylinders&nbsp;is&nbsp;not&nbsp;used.&nbsp;There&nbsp;is&nbsp;also&nbsp;no&nbsp;problem&nbsp;with&nbsp;a&nbsp;<BR>&nbsp;&nbsp;&nbsp;difference&nbsp;in&nbsp;geometry&nbsp;between&nbsp;the&nbsp;bios&nbsp;and&nbsp;Linux&nbsp;because&nbsp;the&nbsp;concept&nbsp;<BR>&nbsp;&nbsp;&nbsp;of&nbsp;geometry&nbsp;is&nbsp;not&nbsp;used.&nbsp;We&nbsp;can&nbsp;boot&nbsp;from&nbsp;any&nbsp;place&nbsp;on&nbsp;the&nbsp;drive,&nbsp;up&nbsp;<BR>&nbsp;&nbsp;&nbsp;to&nbsp;128GB.&nbsp;This&nbsp;is&nbsp;also&nbsp;handy&nbsp;for&nbsp;older&nbsp;BIOSes&nbsp;that&nbsp;don't&nbsp;support&nbsp;<BR>&nbsp;&nbsp;&nbsp;larger&nbsp;hard&nbsp;drives.&nbsp;<BR>&nbsp;<BR>&nbsp;&nbsp;&nbsp;Neil&nbsp;was&nbsp;so&nbsp;pleased&nbsp;with&nbsp;this&nbsp;program,&nbsp;he&nbsp;wanted&nbsp;to&nbsp;give&nbsp;it&nbsp;a&nbsp;good&nbsp;<BR>&nbsp;&nbsp;&nbsp;name.&nbsp;Needing&nbsp;something&nbsp;pronounceable&nbsp;with&nbsp;two&nbsp;syllables,&nbsp;and&nbsp;not&nbsp;<BR>&nbsp;&nbsp;&nbsp;starting&nbsp;with&nbsp;&quot;G&quot;&nbsp;or&nbsp;&quot;K&quot;&nbsp;(and&nbsp;mercifully&nbsp;not&nbsp;&quot;Win&quot;),&nbsp;he&nbsp;had&nbsp;to&nbsp;get&nbsp;<BR>&nbsp;&nbsp;&nbsp;creative.&nbsp;When&nbsp;he&nbsp;was&nbsp;born,&nbsp;his&nbsp;brother&nbsp;could&nbsp;not&nbsp;pronounce&nbsp;&quot;Neil&quot;,&nbsp;<BR>&nbsp;&nbsp;&nbsp;and&nbsp;what&nbsp;he&nbsp;came&nbsp;up&nbsp;with&nbsp;was&nbsp;&quot;nuni&quot;&nbsp;(or&nbsp;&quot;noonie&quot;),&nbsp;so&nbsp;that&nbsp;was&nbsp;Neil's&nbsp;<BR>&nbsp;&nbsp;&nbsp;name&nbsp;until&nbsp;his&nbsp;brother&nbsp;was&nbsp;5&nbsp;years&nbsp;old.&nbsp;And&nbsp;now&nbsp;it's&nbsp;the&nbsp;name&nbsp;of&nbsp;<BR>&nbsp;&nbsp;&nbsp;Neil's&nbsp;program.&nbsp;<BR>&nbsp;<BR>&nbsp;&nbsp;&nbsp;Any&nbsp;drive&nbsp;from&nbsp;hda&nbsp;to&nbsp;hdh&nbsp;can&nbsp;be&nbsp;used.&nbsp;If&nbsp;you&nbsp;have&nbsp;drives&nbsp;above&nbsp;hdh&nbsp;<BR>&nbsp;&nbsp;&nbsp;with&nbsp;custom&nbsp;major&nbsp;numbers,&nbsp;you&nbsp;can&nbsp;add&nbsp;an&nbsp;additional&nbsp;'case'&nbsp;line&nbsp;to&nbsp;<BR>&nbsp;&nbsp;&nbsp;the&nbsp;'switch&nbsp;(major)'&nbsp;statement.&nbsp;<BR>&nbsp;<BR>&nbsp;&nbsp;&nbsp;If&nbsp;you&nbsp;have&nbsp;an&nbsp;add-on&nbsp;IDE&nbsp;interface,&nbsp;its&nbsp;i/o&nbsp;ports&nbsp;may&nbsp;not&nbsp;be&nbsp;the&nbsp;same&nbsp;<BR>&nbsp;&nbsp;&nbsp;as&nbsp;those&nbsp;assumed&nbsp;in&nbsp;nuni.c.&nbsp;You&nbsp;can&nbsp;edit&nbsp;the&nbsp;port&nbsp;addresses&nbsp;in&nbsp;nuni.c.&nbsp;<BR>&nbsp;&nbsp;&nbsp;For&nbsp;example,&nbsp;if&nbsp;your&nbsp;card&nbsp;is&nbsp;to&nbsp;host&nbsp;hde&nbsp;&amp;&nbsp;hdf,&nbsp;find&nbsp;the&nbsp;statement&nbsp;<BR>&nbsp;&nbsp;&nbsp;that&nbsp;starts&nbsp;with&nbsp;'switch&nbsp;(major)'&nbsp;and&nbsp;put&nbsp;your&nbsp;port&nbsp;addresses&nbsp;in&nbsp;the&nbsp;<BR>&nbsp;&nbsp;&nbsp;line&nbsp;containing&nbsp;the&nbsp;'e'.&nbsp;<BR>&nbsp;<BR>&nbsp;&nbsp;&nbsp;Multi-booting&nbsp;is&nbsp;not&nbsp;yet&nbsp;supported,&nbsp;but&nbsp;you&nbsp;can&nbsp;boot&nbsp;multiple&nbsp;<BR>&nbsp;&nbsp;&nbsp;installation&nbsp;of&nbsp;Linux&nbsp;on&nbsp;the&nbsp;same&nbsp;machine&nbsp;using&nbsp;nuni&nbsp;on&nbsp;a&nbsp;boot&nbsp;floppy.&nbsp;<BR>&nbsp;&nbsp;&nbsp;Since&nbsp;nuni&nbsp;is&nbsp;designed&nbsp;so&nbsp;that&nbsp;it&nbsp;loads&nbsp;the&nbsp;kernel&nbsp;from&nbsp;the&nbsp;hard&nbsp;drive&nbsp;<BR>&nbsp;&nbsp;&nbsp;partition&nbsp;instead&nbsp;of&nbsp;the&nbsp;floppy,&nbsp;it&nbsp;boots&nbsp;much&nbsp;faster.&nbsp;<BR>&nbsp;<BR>&nbsp;&nbsp;&nbsp;Nuni&nbsp;also&nbsp;accepts&nbsp;kernel&nbsp;parameters&nbsp;as&nbsp;described&nbsp;in&nbsp;the&nbsp;BootPrompt&nbsp;<BR>&nbsp;&nbsp;&nbsp;HOWTO.&nbsp;<BR>&nbsp;<BR>&nbsp;&nbsp;&nbsp;The&nbsp;file&nbsp;nuni.asm&nbsp;is&nbsp;the&nbsp;boot&nbsp;loader&nbsp;which&nbsp;resides&nbsp;in&nbsp;the&nbsp;boot&nbsp;sector&nbsp;<BR>&nbsp;&nbsp;&nbsp;of&nbsp;a&nbsp;floppy&nbsp;or&nbsp;a&nbsp;hard&nbsp;drive;&nbsp;nuni.c&nbsp;passes&nbsp;some&nbsp;data&nbsp;to&nbsp;nuni.asm&nbsp;by&nbsp;<BR>&nbsp;&nbsp;&nbsp;means&nbsp;of&nbsp;'equ'&nbsp;statements.&nbsp;Therefore,&nbsp;nuni.asm&nbsp;must&nbsp;be&nbsp;assembled&nbsp;every&nbsp;<BR>&nbsp;&nbsp;&nbsp;time&nbsp;a&nbsp;boot&nbsp;record&nbsp;is&nbsp;created&nbsp;and&nbsp;it&nbsp;is&nbsp;assembled&nbsp;with&nbsp;the&nbsp;nasm&nbsp;<BR>&nbsp;&nbsp;&nbsp;assembler.&nbsp;<BR>&nbsp;<BR>&nbsp;&nbsp;&nbsp;This&nbsp;version&nbsp;is&nbsp;a&nbsp;little&nbsp;too&nbsp;fat&nbsp;to&nbsp;be&nbsp;placed&nbsp;in&nbsp;the&nbsp;MBR,&nbsp;so&nbsp;it&nbsp;is&nbsp;<BR>&nbsp;&nbsp;&nbsp;normally&nbsp;placed&nbsp;on&nbsp;a&nbsp;floppy&nbsp;boot&nbsp;sector&nbsp;or&nbsp;in&nbsp;any&nbsp;non-MBR&nbsp;partition&nbsp;<BR>&nbsp;&nbsp;&nbsp;boot&nbsp;sector&nbsp;where&nbsp;any&nbsp;boot&nbsp;manager&nbsp;can&nbsp;execute&nbsp;it.&nbsp;<BR>&nbsp;<BR>&nbsp;&nbsp;&nbsp;Installation&nbsp;Instructions:&nbsp;<BR>&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;(1)&nbsp;put&nbsp;the&nbsp;nuni-0.04.tar.gz&nbsp;file&nbsp;in&nbsp;a&nbsp;convenient&nbsp;place&nbsp;<BR>&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;(2)&nbsp;tar&nbsp;zxf&nbsp;nuni-0.04.tar.gz&nbsp;<BR>&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;(3)&nbsp;cd&nbsp;nuni-0.04&nbsp;<BR>&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;(4)&nbsp;gcc&nbsp;nuni.c&nbsp;-o&nbsp;nuni.elf&nbsp;<BR>&nbsp;<BR>&nbsp;&nbsp;&nbsp;Configuration&nbsp;and&nbsp;Execution&nbsp;Instructions:&nbsp;<BR>&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;(1)&nbsp;cd&nbsp;/path/nuni-0.04&nbsp;<BR>&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;(2)&nbsp;edit&nbsp;nuni&nbsp;to&nbsp;set&nbsp;the&nbsp;following&nbsp;items:&nbsp;<BR>&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;(a)&nbsp;path&nbsp;to&nbsp;kernel&nbsp;image&nbsp;<BR>&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;(b)&nbsp;target&nbsp;partition&nbsp;for&nbsp;installing&nbsp;the&nbsp;boot&nbsp;loader&nbsp;<BR>&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;(c)&nbsp;command&nbsp;line&nbsp;for&nbsp;kernel&nbsp;<BR>&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;(3)&nbsp;./nuni&nbsp;<BR>&nbsp;<BR>

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -