zoukankan      html  css  js  c++  java
  • 带grub的软盘镜像制作

    以下在ubuntu16.04(一定要root模式下(sudo -s)下测试通过

    dd if=/dev/zero bs=512 count=2880 of=floppy.img

    为了方便我们需要在镜像文件中建立文件系统,有了文件系统才比较方便放置、修改我们自己的内核和应用程序。

    首先将软盘镜像与某个 Loop 设备关联。

    losetup /dev/loop7 floppy.img

    然后格式化:

    mkfs.msdos /dev/loop7

    这里推荐采用fat12 格式创建文件系统

    这是文件系统就建立好了。下面是在镜像文件中安装 GRUB。

    首先将镜像文件中的文件系统挂在到我们主系统的目录树上。

    mount -o loop /dev/loop7 /mnt/

    然后建立 GRUB 需要的目录结构。

    mkdir -p /mnt/boot/grub

    再然后拷贝需要的文件(可能用虚拟机的同学boot/grub没有stage1和stage2和stage1.5,需要下载GRUB Legacy的最后一个版本0.97的编译好的文件ftp://alpha.gnu.org/gnu/grub/grub-0.97-i386-pc.tar.gz,然后stage改到相应的目录即可

    cp /boot/grub/stage1 /mnt/boot/grub

    cp /boot/grub/stage2 /mnt/boot/grub

    cp /boot/grub/fat_stage1_5 /mnt/boot/grub

    创建 grub 配置文件:

    vi /mnt/boot/grub/grub.conf

    内容如下(这里假设我们的内核文件放在软盘镜像的/boot/目录,命名为kernel):

     title test os 0.0.1(自己操作系统名)
        root (fd0)
        kernel /boot/kernel(内核文件相对于/mnt(根目录)中位置)

    卸载镜像文件

    umount /mnt/

    在镜像文件中安装 GRUB

    grub --device-map=/dev/null
    grub> device (fd0) /dev/loop7
    grub> root (fd0)
    grub> setup (fd0)
    grub> quit

    有必要可以修改memu.lst文件(mount floppy.img /mnt  然后修改)

    将软盘镜像与 loop 设备的关联解除。

    losetup -d /dev/loop7

    这时软盘镜像已经可以使用了。
    可以用 file 命令查看一下:

    file floppy.img

    floppy.img: DOS/MBR boot sector, code offset 0x48+2, OEM-ID "mkfs.fat", root entries 224, sectors 2880 (volumes <=32 MB) , sectors/FAT 9, sectors/track 18, serial number 0xd621015, unlabeled, FAT (12 bit), followed by FAT

    如果要修改软盘镜像中的文件也很简单,将其挂载到某个目录就可以了。

    mount floppy.img /mnt/

    然后就是正常的文件操作了。

    附上自己做得软盘:

    链接: https://pan.baidu.com/s/1i4DJx9j 密码: vdrf

    可以sudo mount floppy.img /mnt  然后修改

    Done!!!

     

    引用:

    http://blog.csdn.net/liyuanbhu/article/details/7559953

  • 相关阅读:
    邮件发送的存储过程写法
    FormsAuthentication.GetRedirectUrl 方法
    视图性能优化——索引视图
    删除多字段的重复行保留最大最小行
    c#知识点
    sql存储过程exec执行字符串select 的区别
    UVALive5198 UVA512 Spreadsheet Tracking
    UVA129 HDU1627 Krypton Factor
    UVA129 HDU1627 Krypton Factor
    UVA10603 Fill
  • 原文地址:https://www.cnblogs.com/chaunceyctx/p/7358827.html
Copyright © 2011-2022 走看看