首页 > 其他分享 >在虚拟机中直接使用liveCD:lfslivecd-x86-6.3-r2160.iso

在虚拟机中直接使用liveCD:lfslivecd-x86-6.3-r2160.iso

时间:2022-12-18 20:03:29浏览次数:64  
标签:bin liveCD x86 tools 虚拟机 lfs 选择 LFS root



1.环境

虚拟机:vmware-6.5

liveCD: lfslivecd-x86-6.3-r2160.iso

2.安装

参考:http://blogold.chinaunix.net/u/13265/showart.php?id=477122


  选择File->New->Virtual Machine...启动向导

  选择Custom,并选择New-Workstation 5然后在选择Guest operating system里选择Linux,在

Version里选择Other Linux 2.6.x kernel

  存放目录、处理器数量和内存大小根据实际情况,建议内存不得小于128M,最好256M以上


  LFS-6.3采用了GCC4.1.2,如果使用128M编译GCC4.x.x话就需要使用swap了,但如果配置了256M

就可以在没有swap的情况下完成编译,所以条件允许的情况下使用256M。

  Network connection里选择Use network address translation(NAT)

  SCSI Adpters选择默认的LSI Logic就可以了

注意点:

  这里选择的磁盘类型对于最后编译内核使用选项是有影响的,我在本文的第一版中使用BusLogic

来建立系统,因此这里选择使用LSI Logic来用,如果使用BusLogic的话可以参考本文第一版中的内核

编译选项来代替后面的内核选项部分。

  选择Create a new virtual disk

  在Virtual Disk Type这步比较重要,你可以选择IDE也可以选择SCSI,但这里的选择直接影响到

最后编译内核时的选项。这里以选择IDE为例子。

相关知识点:

  如果选择了IDE,则内核的默认设置就可以支持,但如果选择了SCSI,就必须在内核中加入对SCSI

 Adpters的支持,因为前面选择了LSI Logic,所以内核中就必须加入对LSI Logic的支持,否则将无

 法启动。

  不过这里我建议选择使用IDE,一方面方便驱动,另外LFS-6.3所使用的内核对于VMWare中模拟的

LSI SCSI设备驱动有问题,无法正确识别出LSI的SCSI磁盘,用该LiveCD启动后可能无法识别出硬盘来。

  对于磁盘大小,使用4G足够编译LFS了,但如果你打算编译更多的BLFS,这里可以考虑适当的增加

一些大小,如果磁盘空间比较富裕就用默认的8G好了。

  完成向导后在虚拟机的界面里选择Edit virtual machine settings,将CD-ROM改为Use ISO image,

然后选择LiveCD的ISO文件,如果你已经刻录好了光盘,将光盘放入光驱就行了。

  点Start this virtual machine开是虚拟机

  由于虚拟盘上没有任何信息,因此将自动从LiveCD中启动,在启动过程中会出现选择时区等信息,

你可以按照实际情况选择,也可以按照默认选择,简单点就是等待一会系统会自动进行选择。这里我选

择时区为Asia/Shanghai,选择本地语言为Chinese (Simplified, UTF-8),其它的都按默认选择了。



3.格式化

安装时,我选择IDE,并分了3个主分区hda1(1000M, 给swap), hda2(6000M, 制作LFS), hda3(1500M, 备用)。

# mkswap /dev/hda1

# mkfs.ext3 /dev/hda2

# mkfs.ext3 /dev/hda3



4.putty连接,方便复制、粘贴

配置网络

# net-setup 选择eth0, DHCP方式

启动sshd服务

# /etc/rc.d/init.d/sshd restart

查看IP

# ifconfig

设置秘密, 以便从远程登陆

# passwd

从宿主机上启动putty, 连接。


5.可以启用交换分区

# swapon /dev/hda1


// 暂停命令是:swapoff /dev/hda1

6.初始环境的设置

LFS环境变量

root [ ~ ]# export LFS=/mnt/lfs

创建目录

root [ ~ ]# mkdir -pv $LFS

mkdir: 已创建目录 “/mnt/lfs”

挂载hda2分区

root [ ~ ]# mount /dev/hda2 $LFS

创建源码目录,用于编译

root [ ~ ]# mkdir -v $LFS/sources

mkdir: 已创建目录 “/mnt/lfs/sources”

改变目录权限

root [ ~ ]# chmod -v a+wt $LFS/sources

“/mnt/lfs/sources” 的权限模式已更改为 1777 (rwxrwxrwt)

创建工具链目录

root [ ~ ]# mkdir -v $LFS/tools

mkdir: 已创建目录 “/mnt/lfs/tools”

创建符号连接

root [ ~ ]# ln -sv $LFS/tools /

“/tools” -> “/mnt/lfs/tools”

上面这两句就建立了神奇的工具链目录(是工具链目录不是工具链),这样的创建方式是为了

在创建工具链和使用工具链创建目标系统的时候对于工具链的位置都是/tools,这样可保证工具链

的正常使用。



添加 lfs 用户

root [ ~ ]# groupadd lfs

root [ ~ ]# useradd -s /bin/bash -g lfs -m -k /dev/null lfs


修改lfs用户密码,设置为空就行了,也就是输入密码的时候直接回车就成。

# passwd lfs

注意:直接在虚拟机界面中设置,不要在putty中设置

将tools和sources目录的用户改为lfs,以便后面使用lfs来操作这两个目录

root [ ~ ]# chown -v lfs $LFS/tools

“/mnt/lfs/tools” 的所有者已更改为 lfs

root [ ~ ]# chown -v lfs $LFS/sources

“/mnt/lfs/sources” 的所有者已更改为 lfs


登陆到 lfs 用户

root [ ~ ]# su - lfs

lfs [ ~ ]$ r // 这时候你会发现命令行提示符已经由#改为了$

相关知识点:

其实如果不使用lfs用root也是能完成工具链的,不过需要对root的环境变量进行修改,还要

防止因为输入错误而导致覆盖主系统下的文件,所以LFS手册中制作工具链部分就是为了解决这种

意外的发生而用lfs用户来建立工具链


7.建立 lfs 用户的环境

建立 .bash_profile 文件

lfs [ ~ ]$ cat > ~/.bash_profile << "EOF"

> exec env -i HOME=$HOME TERM=$TERM PS1='\u:\w\$ ' /bin/bash

> EOF

建立 .bashrc 文件

lfs [ ~ ]$ cat > ~/.bashrc << "EOF"

> set +h

> umask 022

> LFS=/mnt/lfs

> LC_ALL=POSIX

> PATH=/tools/bin:/bin:/usr/bin

> export LFS LC_ALL PATH

> EOF


查看

lfs [ ~ ]$ ls -a

.  ..  .bash_profile  .bashrc



启用

lfs [ ~ ]$ source .bash_profile

lfs:~$ // 可以看到,提示符发生变化了。


这里利用了bash的环境变量的设置文件将lfs的环境设置为符合编译工具链要求的最少的环境参数

这里面最重要的就是PATH这个参数,目的是为了能够利用工具链里面的工具制作工具链:首先查找

/tools/bin下是否有需要的命令,如果没有再到/bin和/usr/bin下找,然后用/bin或/usr/bin下面的

命令来帮助生成需要的命令并放在/tools/bin下,这样此消彼涨,最终可完成一个自给自足的工具链。


8.中间重启虚拟机时,如何恢复到最后关机时的状态

到此为止就可以开始工具链的制作了,不过制作LFS是一个漫长而浩大的工程,所以要一直开机直

到完成有时候比较困难,特别是在机器速度比较慢的情况下,能够重新启动到最后工作的状态是很重要

的。在不同的阶段重新启动并恢复状态的步骤不完全相同,所以本文会在不同的阶段讨论重新启动恢复

到工作状态的方法和步骤。

从第一章--第五章结束,恢复到最后状态需要执行如下步骤:

1.重新启动计算机,并从LiveCD启动

相关知识点:在VMWare中因为磁盘已经有了信息了,所以会从磁盘启动,需要在启动虚拟机中

的机器时按F2进入虚拟机的虚拟BIOS,然后在BOOT中设置第一启动为CD-ROM,保存退出即可。

2.LiveCD启动过程同第一次启动选择一样。

3.加载分区

   swapon /dev/hda1

   ln -sv $LFS/tools /

   cd $LFS/sources


标签:bin,liveCD,x86,tools,虚拟机,lfs,选择,LFS,root
From: https://blog.51cto.com/u_15082498/5951078

相关文章

  • 容器与虚拟机对比
    大致对比一下容器与虚拟机的特点。对比1.隔离注:这里的隔离与否主要看使用效果,而不关注实现细节。容器虚拟机硬件隔离隔离进程隔离隔离文件系统......
  • 【操作系统-总论】发展历程、体系结构、虚拟机
    目录1操作系统的发展历程1.1手工操作阶段1.2批处理阶段1.2.1单道批处理系统(单道程序系统)1.2.2多道批处理系统(多道程序系统)1.3分时操作系统1.4实时操作系统2操作系......
  • 前言 --- 安装虚拟机及CentOS 7
      前言 ---  安装虚拟机及CentOS7一、CentOS7版本安装(解压安装)镜像链接:​​https://pan.baidu.com/s/1E-L-O74flvloYVwI9Oi7Vg​​提取码:eyn3 注释:镜像文件​​.......
  • Java虚拟机定义
    虚拟机是一种抽象化的​​计算机​​​,通过在实际的计算机上仿真模拟各种计算机功能来实现的。Java虚拟机有自己完善的​​​硬体​​​架构,如​​​处理器​​......
  • 虚拟机系统故障docker无法正常启动
    故障现象CentOS系统启动时出现Failedtomount/sysroot错误,导致系统无法正常启动。正常进入系统后,docker无法正常使用,出现Failedtoconnecttocontainerd:failedto......
  • VMware 虚拟机下载
    VMware破解版下载地址:https://www.aliyundrive.com/s/CUr4eaMgxGa提取码:e0c8激活码:ZF3R0-FHED2-M80TY-8QYGC-NPKYFYF390-0HF8P-M81RQ-2DXQE-M2UT6ZF71R-DMX85-08DQY......
  • vivo 在虚拟机linux下插入USB报错 no permission (user in plugdev group)
    https://www.cnblogs.com/lili414/p/16892573.html网上找的解决方法:1. sudovim/etc/udev/rules.d/51-android.rules 创建一个规则文件2.文件中输入如下内容SUBS......
  • 第二章 虚拟机安装相关
    2.网关配置vi/etc/sysconfug/network-scripts/ifcfg-ens-33启动网关:systemctlrestartnetwork.service2.1防火墙查看状态:systemctlstatusfirewalld......
  • 不用虚拟机也能在Windows下使用Linux
    想学习热门的Linux系统,可是一开始就需要安装虚拟机软件,这样很容易消耗Linux初学者的热情。比如常用的VMWare虚拟机,虽然步骤并不复杂,但是一开始的搭建和配置过程,容易劝退一......
  • VMware虚拟机NAT模式端口转发
    作用虚拟机网络选择NAT方式,启用端口转发,可以实现宿主机器和虚拟机的端口映射 如果我们把映射虚拟机的端口设为22,就可以通过宿主机器ip加端口直接远程虚拟机了 操......