zoukankan      html  css  js  c++  java
  • 操作系统开发系列—12.a.从Loader到内核 ●

    Loader要做两项工作,我们先来做第一项,把内核加载到内存:

    1.加载内核到内存。

    2.跳入保护模式。

     首先编译无内核时:

    nasm boot.asm -o boot.bin

    nasm loader.asm -o loader.bin

    dd if=boot.bin of=a.img bs=512 count=1 conv=notrunc

    sudo mount -o loop a.img /mnt/hgfs/

    sudo cp loader.bin /mnt/hgfs/ -v

    sudo umount /mnt/hgfs/

    运行结果如下:

    接下来编译内核并将其写入软盘映像:

    nasm -f elf -o kernel.o kernel.asm

    ld -m elf_i386 -s -o kernel.bin kernel.o

    sudo mount -o loop a.img /mnt/hgfs/

    sudo cp kernel.bin /mnt/hgfs/ -v

    sudo umount /mnt/hgfs/

    运行结果如下:

    不再是“No KERNEL”了,我们看到,Loading后面出现一个圆点,说明Loader读了一个扇区。不过,由于目前我们除了把内核加载到内存之外没有做其他任何工作,所以除了能看到“Ready.”之外,并没有其他现象出现。

    一个码农的日常 

    源码

  • 相关阅读:
    [转载]我的WafBypass之道(Misc篇)
    7.3 使用while 循环来处理列表和字典
    7-4__7-7练习
    7.2 while 循环
    第 7 章 用户输入和while 循环
    6.字典练习
    6.4 嵌套
    6.3 遍历字典
    6.2练习
    第 6 章 字典
  • 原文地址:https://www.cnblogs.com/joey-hua/p/5399712.html
Copyright © 2011-2022 走看看