`
zengxx1989
  • 浏览: 300348 次
  • 性别: Icon_minigender_1
  • 来自: 湖南
社区版块
存档分类
最新评论

在Windows上构建Linux系统——后传二:用光盘部署目标系统

阅读更多
在部署用Windows系统构建的CLFS临时系统时,如果目标机器没有安装任何操作系统,除了使用NFS方式(参考:在Windows上构建Linux系统——后传一:用NFS部署目标系统)外,也可以使用光盘部署,同NFS方式一样,完全实现在Windows系统上构建Linux系统。
有了自力更生型的CLFS部署方式的准备后,我们就可以用CD部署CLFS的临时系统了。本文直接列出完整的命令,详细的分析和说明,请参考自力更生型的CLFS部署方式。

1、制作initramfs
mkdir -p ~/clfs-ins/rootfs
cd ~/clfs-ins
cp -a ~/clfs/{bin,boot,dev,etc,home,lib,media,mnt,opt,proc,root,sbin,srv,sys,tmp,usr,var,tools} rootfs/
cd rootfs
ln -s sbin/init init
确认 etc/fstab文件是否正确,如果有必要,则调整 etc/fstab文件的内容。然后,生成initramfs:
find . | cpio -o -H newc |gzip -9 > ../initramfs.cpio.gz

特别说明:
1)因为CLFS的临时系统命令和库文件等都位于 tools 目录,所以tools目录需要打包到initramfs中。
2)注意 ln -s sbin/init init 命令中init符号连接到 sbin/init,不能是 /sbin/init 。如果连接到 /sbin/init ,则由于cygwin的特点,实际会连接到 /sbin/init.exe,导致initramfs的初始化程序无法运行。

2、制作部署光盘的iso文件
cd ~/clfs-ins
mkdir -p iso/boot/grub
cp ~/clfs/usr/lib/grub/i386-pc/stage2_eltorito iso/boot/grub
vi iso/boot/grub/menu.lst
default 0
timeout 10
color green/black light-green/black
title CLFS install environment
root (cd)
kernel /boot/clfskernel-2.6.17.13
initrd /boot/initramfs.cpio.gz (斜体字为 menu.lst文件的内容)
cp rootfs/boot/clfskernel-2.6.17.13 iso/boot
cp initramfs.cpio.gz iso/boot
因为还需要在目标机器上继续构建CLFS系统,所以还需要把所需的packages和patches拷贝到光盘构建目录:
mkdir iso/sources
cp ~/clfs/sources/*   iso/sources

好了,现在可以生成iso文件了:
mkisofs -R -b boot/grub/stage2_eltorito -no-emul-boot -boot-load-size 4 -boot-info-table -o clfs-ins.iso   iso

可以用windows下的QEMU虚拟机试验一下刚刚生成的iso文件:
qemu.exe -L Bios -m 384 -cpu pentium3 -hda Images\\linux.img -no-kqemu -cdrom
C:\\cygwin\\home\\yyh\\clfs-ins\\clfs-ins.iso -boot d

特别说明:
1)cygwin中的mkisofs命令属于mkisofs软件包,使用前需要安装这个软件包。mkisofs软件是genisoimage软件包的链接,所以安装mkisofs软件包是会自动安装genisoimage软件包。
2)cygwin中的mkisofs命令的 -boot 参数中的启动文件的路径是相对于iso打包目录的,所以上面mkisofs命令指定为boot/grub/stage2_eltorito ,实际是 iso/boot/grub/stage2_eltorito 。但该参数不能指定为 iso/boot/grub/stage2_eltorito ,否则mkisofs提示不能找到启动文件,这点与Linux系统下的mkisofs命令不同,需注意。
3)QEMU的虚拟机内存大小要指定为384M,256M不够。
4)因为系统从光盘启动后,要从光盘中的sources目录中拷贝packages和patches,所以内核必须支持ISO9660文件系统。文件系统的支持,可以编译进内核,也可以编译成内核模块,在拷贝文件前加载到内核中。

3、向目标系统部署CLFS临时系统
略。具体操作参照:在Windows上构建Linux系统——后传一:用NFS部署目标系统。

分享到:
评论

相关推荐

    Linux 系统裁减指南 (LiPS).pdf

    **编写目的**:文档旨在指导用户通过裁减Linux系统来构建一个适用于特定场景的小型化Linux系统。裁减不仅涉及去除不必要的组件以减小系统大小,还包括针对特定硬件进行优化以提高性能。 **背景**:文档基于华中科技...

    3天学会LAMP编程之Linux视频教程.txt

    - **虚拟机安装**:详细讲解了如何在主流操作系统(如Windows或macOS)上安装虚拟化软件(如VirtualBox或VMware),以及如何通过这些工具创建并配置一个Linux虚拟机。 - **Linux安装**:深入浅出地解释了Linux安装...

    裁剪Linux、制作USB安装盘过程

    USB启动盘是一种便捷的安装媒介,通过将必要的安装文件复制到USB闪存盘中,可以实现从USB启动并在目标设备上安装操作系统。 **6.1.1 描述** 制作USB启动盘的过程主要包括格式化USB闪存盘、复制必要的安装文件、创建...

    学习LINUX

    ### Linux系统从入门到提高——全面解析RedHatLinux应用基础 #### 一、课程性质与目标 《RedHatLinux应用基础》课程旨在为计算机相关专业学生提供深入的Linux操作系统学习路径,作为专业基础课程,其定位在教育...

    行业分类-设备装置-信息分配系统和方法、实现这些方法的程序、和涉及程序的信息媒体.zip

    4. **涉及的程序和信息媒体**:信息分配系统可能会使用各种程序来执行特定功能,如数据库管理系统(例如Oracle、MySQL)、中间件(如Apache Kafka)、操作系统(如Windows、Linux)以及用户应用程序。信息媒体则涵盖...

    风河推出面向商用级Linux平台.pdf

    在系统开发过程中,选择这样的专业Linux平台能够提供更为可靠的基础架构,帮助开发者构建和部署关键业务应用。对于那些希望利用Linux优势,同时确保符合行业标准和法规遵从性的企业来说,风河的这一举措无疑提供了...

    制作集成启动盘

    ### 制作集成启动盘——系统集成教程精解 #### 核心知识点解析: ##### 1. **标准混合集成启动盘构建** - **概念**:标准混合集成启动盘是一种集合了多种操作系统(如XP、Win7、PE系统等)与工具的启动介质,...

    Delphi XE7开发入门教程之DataSnap三层架构

    本节将分别介绍在Linux、Windows和MacOSX操作系统上部署MySQL服务器的方法。 ##### 1. MySQL Server on Linux (Redhat or CentOS) - **安装MySQL Server**:大多数Redhat或CentOS发行版的安装光盘中包含了MySQL ...

    jsp网络编程光盘资料第8章

    Java的“一次编写,到处运行”(Write Once, Run Anywhere, WORA)特性使得基于Java的JSP应用能够无缝地部署在各种操作系统上,包括但不限于Windows、Linux、Unix等。在Linux等开源操作系统上运行JSP应用,可以降低...

    DOS启动界面封装软件

    在个人计算机技术发展早期,DOS操作系统是主流,而在现代,虽然Windows、Mac OS和Linux等图形化操作系统占据主导地位,但DOS系统在某些特定场景下仍有着不可替代的作用,比如系统修复、驱动加载等。在这些场合,DOS...

    三汇光盘Readme

    首先,三汇最新驱动程序是为三汇所有的板卡提供支持,无论是Windows还是Linux操作系统,都可以找到对应的驱动。这些驱动程序是使用三汇硬件层平台的关键,确保了语音卡的正常运行和高效性能。配合《硬件安装说明》和...

    基于AM57x的机器学习案例.pdf

    将编译好的`darknet`二进制文件及其依赖项(如`yolo.weights`)部署到AM5728开发板上。这可以通过多种方式完成,例如使用SCP命令或通过USB连接传输文件。 运行`darknet`程序时,需要指定模型配置文件(如`.cfg`文件...

    ceph-10.2.2.tar.gz

    3. 文件存储(Ceph File System - CephFS):CephFS是一个分布式的、高性能的文件系统,它构建在RADOS之上,提供标准的POSIX接口。CephFS适用于大数据分析、共享工作负载和容器化应用。 在10.2.2这个版本中,可能会...

    C#.NET编程培训教程-书附光盘资料

    C#.NET编程是一种基于.NET Framework的编程语言,它在软件开发领域中占据着重要的地位,尤其在企业级应用开发上。本教程旨在提供一个全面的C#.NET编程学习路径,帮助初学者和有一定基础的开发者深入理解并掌握C#.NET...

    dlgcafe-开源

    通常,ISO文件是用来存储光盘映像的,可能是为了在无盘工作站上部署操作系统或特定软件的用途。然而,由于没有更多关于这个文件的上下文信息,这里不做深入探讨。 总的来说,dlgcafe作为一个开源项目,展示了bash...

    android从入门到精通明日科技pdf

    第15章,基于Android的家庭理财通,从系统分析开始,详细介绍了如何进行系统设计、数据库设计、项目创建、功能模块设计、系统运行环境设置等,并最终通过将程序安装到Android手机上,让开发者能体验到从开发到部署的...

Global site tag (gtag.js) - Google Analytics