国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 開發設計 > 正文

setup.bin的誕生記

2019-11-06 09:23:34
字體:
來源:轉載
供稿:網友

bzImage由setup.bin和vmlinux.bin兩個文件粘合而成。這次我們來看看setup.bin的誕生記。

尋找目標

老套路,第一步就是找一下setup.bin這個目標的規則。還記得之前我們走到哪里了么?對,arch/x86/boot/Makefile。

$(obj)/setup.bin: $(obj)/setup.elf FORCE $(call if_changed,objcopy)

下一步呢? 對了,找cmd_objcopy。這次定義的地方稍有不同,不在scripts/Makefile.build,而是在scripts/Makefile.lib。

# Objcopy# -------------------------------------quiet_cmd_objcopy = OBJCOPY $@cmd_objcopy = $(OBJCOPY) $(OBJCOPYFLAGS) $(OBJCOPYFLAGS_$(@F)) $< $@

原來setup.bin是由setup.elf經過objcopy而來。那看來想要弄清楚就要看看setup.elf的來歷。走,既然已經到這里了,那咱就再入一層~

深入虎穴

$(obj)/setup.elf: $(src)/setup.ld $(SETUP_OBJS) FORCE $(call if_changed,ld)

怎么樣,現在是不是駕輕就熟了。看到這個也基本能夠猜出個八九不離十。setup.elf是由$(SETUP_OBJS)鏈接而成的。嗯,沒想到這么簡單,白白浪費了我這么氣勢磅礴的一個標題了。

為了彌補點什么,咱把SETUP_OBJS的內容也給大家展開了。

SETUP_OBJS = $(addPRefix $(obj)/,$(setup-y))

原來還套了那么一層:

setup-y += a20.o bioscall.o cmdline.o copy.o cpu.o cpuflags.o cpucheck.osetup-y += early_serial_console.o edd.o header.o main.o memory.osetup-y += pm.o pmjump.o printf.o regs.o string.o tty.o video.osetup-y += video-mode.o version.osetup-$(CONFIG_X86_APM_BOOT) += apm.o# The link order of the video-*.o modules can matter. In particular,# video-vga.o *must* be listed first, followed by video-vesa.o.# Hardware-specific drivers should follow in the order they should be# probed, and video-bios.o should typically be last.setup-y += video-vga.osetup-y += video-vesa.osetup-y += video-bios.o

嗯,夠多,終于能勉強配得上咱這個霸氣的標題了~

圖文并茂

setup.bin的編譯過程確實簡單,來一張圖略微總結那么一下子。

a20.o bioscall.o cmdline.o copy.o cpu.o cpuflags.o cpucheck.o edd.o header.o main.o memory.o tty.o pmjump.o printf.o regs.o pm.o string.o video.o video-mode.o version.o early_serial_console.o video-vga.o video-vesa.o video-bios.o || // setup.elf || // setup.bin

這么一看,東西還挺多的啊。 好了,這個我們也看完啦,是不是感覺也就那個樣子了~


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 秦安县| 白水县| 株洲市| 大港区| 大渡口区| 剑河县| 大悟县| 凤阳县| 米脂县| 建平县| 晴隆县| 尖扎县| 融水| 来安县| 通山县| 全南县| 大洼县| 上杭县| 乌兰察布市| 敦化市| 绍兴市| 都江堰市| 罗甸县| 聂拉木县| 莱阳市| 海南省| 本溪市| 上林县| 麟游县| 电白县| 竹溪县| 浦北县| 灵璧县| 班玛县| 平湖市| 青神县| 密云县| 黄浦区| 宁陵县| 赤水市| 枣阳市|