Linux开发环境的搭建与U盘启动的制作
来源:互联网 发布:pes贝克汉姆捏脸数据 编辑:程序博客网 时间:2024/05/21 06:36
linux发开环境、linux系统U盘启动的制作
背景材料(必看预习和参考材料):
①.如何在VmWare虚拟机下安装Ubuntu12.04:
http://wenku.baidu.com/link?url=Ib84k8TdzGPAvcl4JaPBalWR7a51avi9_Qgl442scKp0P0kBG9FpikOYtr-mPUKCisYVi_6nOMgm0y7FntUFI6DvoGJ1HL6ihW7QW0HhY4K
②.如何给Ubuntu安装Vmware Tools:
http://jingyan.baidu.com/article/3065b3b6e8dedabecff8a435.html
③.常用的linux命令及命令大全:
http://www.oschina.net/translate/useful-linux-commands-for-newbies
http://blog.chinaunix.net/uid-16728139-id-3154272.html
附件中还有解压缩命令tar,以及查找命令find的整理,可以看看
④.嵌入式系统简介:
请看附件一,附件二的内容
任务、步骤:
任务一:开发环境的安装
步骤:
①.下载VmWare虚拟机(这里采用VmWare 11版本)
下载Ubuntu(这里采用Ubuntu12.04版本)
②.安装VmWare虚拟机(直接默认安装)
③.在虚拟机中安装Ubuntu12.04
打开VmWare虚拟机
反馈:
明日日程:
点击创建新的虚拟机进入新建虚拟机向导:
选择自定义点击下一步:
默认点击下一步:
选择稍后安装操作系统,下一步:
选择linux,下一步:
选择你得虚拟机名称,以及安装位置,然后下一步:
默认下一步:
根据自己配置设置,我的电脑4G的内存,我分配给虚拟机1个G,下一步:
这里我们选择桥接网络,下一步:
默认推荐,下一步:
默认推荐,下一步:
创建新的虚拟磁盘,下一步:
这个根据自己具体需要设置,这里我设置为60G,下一步:
默认下一步:
完成。
选择你刚才新建的虚拟机,点击编辑虚拟机设置:
选择CD/DVD(STA):
然后选择使用ISO映像文件,然后选择你之前下载的Ubuntu12.04的镜像文件,点击确定就好。然后点击开启此虚拟机进入安装步骤
这里我们选择英文版。然后点击installUbuntu。
默认点击Continue:
选择其他选项(Somethingelse),点击Continue:
点击新建分区表(NewPartition Table...),并双击空闲分区:
挂载点/ 根目录下的容量根据你之前划分的虚拟磁盘划分容量选择ok
同理:依次添加其他分区:
然后点击installnow,根据提示选择时间区,
选择语言:
然后填写个人信息:
点击继续,然后等待就好了。
④.安装VmwareTools。
选择虚拟机菜单栏--安装VMware tools
然后在Ubuntu系统中弹出的VMware tools窗口中
找到VMwaretools-9.6.0-1294478.tar.gz
然后右击--复制到--桌面
复制完之后 这时候左边的文件夹图标--右击退出先
然后在桌面上的VMwaretools-9.6.0-1294478.tar.gz
右击提取到此处
这时候桌面就多了一个vmware-tools-distrib的文件夹
然后再重新打开左边的文件夹图标,打开之后在右上角有一个搜索
弹出的搜索地址栏输入 gnome-terminal , 输完之后点一下那个放大镜图标进行搜索
然后在搜索出来的结果里面选择文件系统
然后再--重新装入
然后在搜索的结果里面拉到最下面找到终端图标并且打开它
然后在弹出的终端窗里输入sudo su
sudo su命令在ubuntu中可以这样解释
sudo su命令,也被称为“替代用户”、“超级用户”或“切换用户”,
然后输入登陆管理员密码
然后输入完密码之后
使用cd命令进入Ubuntu桌面
然后再用CD进入在Ubuntu桌面里面的vmware-tools-distrib文件夹
然后进入vmware-tools-distrib文件夹之后
使用sudo ./安装命令对vmware-tools-distrib文件夹里面vmware-install.pl文件夹进行安装sudo ./vmware-install.pl
出现[/USR/bin]之后一直开始按回车键 直接按到/dev/sr0 ...停止为止
到/dev/sr0 ...
之后输入reboot重启系统的意思
这时候屏幕变成全屏了这样表示安装TOOLS成了这时候可以往里面拉文件了,如果你可以从windows往虚拟机里面直接拖拉东西,说明你安装成功了。
二:熟悉linux命令并完成linux系统U盘启动的制作
步骤:
①.实验前准备:(在做实验前先确保虚拟机是否可以上网)
1.完成任务一中的安装过程
2.软件工具:
sudo apt‐get install vim 先装下 vim 编辑器,也可以用 gedit代替
sudo apt‐get install syslinux extlinux -y 安装extlinux,用于引导启动U盘linux系统
sudo apt‐get install libncurses5-dev 安装 ncurses5 库,用以 make menuconfig使用
如果在此步遇到问题,执行sudo apt-get update
②.内核的配置
首先在www.kernel.org上下载内核源代码,这里我用的3.6.2的内核源码。
具体路径:https://www.kernel.org/pub/linux/kernel/v3.x/linux-3.6.2.tar.gz
下载好后,把源码解压到用户目录,打开Terminal(快捷键ctrl+alt+t)
cd ~ //进入用户根目录
tar -xvf linux-3.6.2.tar.gz //解压到当前目录
cd linux-3.6.2 //进入内核源码目录
make menuconfig //进行内核配置,如下图
这里介绍下内核配置选项,进行内核的裁剪(有提到的编译成 Y,没有提到的就全部取消掉(即使默认为 Y 或者 M)。若要编译成模块后面会附上说明,如果找不到可以按/进行查找。如果不明白,可以具体通过 help 查看说明)(对于没有提到的一定要全部设置成N,不能修改的除外,遇到名称最后带有“>”的项,例如“SCSI low-level --->”要进入该目录中,将里面的项目取消,如果是像“[*] legacy/proc/scsi/ support-->”这种情况,就不需要进入该目录,直接设置成N)
一下选项非常多,如果闲麻烦可以尝试以下方法
1 先把配置文件保存成temp.config
然后把其中的=y全部替换成=n (可以使用脚本加正则表达式或者直接替换 随意)
然后载入temp.config 勾选上需要的东西
1. General setup ->
[*]System V IPC
是组系统调用及函数库,它能让程序彼此间同步进行交换信息。某些程序以及DOS模 拟环境都需要它。为进程提供通信机制,这将使系统中各进程间有交换信息与保持同步 的能力。有些程序只有在选Y的情况下才能运行,所以不用考虑,这里一定要选。
[*]Initial RAMfilesystem and RAM disk (initramfs/initrd) support
//使用的文件系统为Initial ramdisk,因此需要此支持
2.Processor type and features ->
Processor family->
(X) 586/K5/5x86/6x86/6x86MX(有些电脑可以不一样就默认)
//它会对每种CPU做最佳化,让它跑的好又快,一般来说,你是什么型号的就选什么型号的就好。
3.Bus options (PCI etc.) ->
[*] PCI support
PCI access mode(any) ->(如果找不到该项,就忽略)
(X)Any
4. Executable file formats / Emulations ->
[*] Kernelsupport for ELF binaries
5.Device Drivers ->
5.1 SCSI device support --->
-*- SCSI device support
[*] legacy /proc/scsi/ support
<*> SCSI disk support
[*] SCSI low-level drivers --->
5.2 HID support --->
[*]HID bus support
[*]/dev/hidraw raw HID device support
[*]Generic HID driver
5.3 USB support --->
<*> Support forHost-side USB
<*> EHCI HCD (USB 2.0)support
<*> OHCI HCD support
<*> UHCI HCD (mostIntel and VIA) support
<*> USB Mass Storagesupport
[*] USB Mass Storageverbose debug
6.file systems ->
<*>Second extended fs support
Native Language Support --->
Codepage 437
Simplified Chinese charset
NLS ISO 8859-1
配置基本上涉及以上内容,保存退出(以上6个内容中有提到的全部选择Y,其他未提到的全部选择N,否则编译可能出错则内核裁剪完毕)
在该目录下终端下键入make
make //进行内核编译
如果想方便一点的可以尝试
sudo apt-get install nautilus-open-terminal
然后 sudo reboot (注意,保存好当前的文档)
然后可以利用右键在当前目录打开终端
③. bootload引导启动
Bootloader是嵌入式系统的引导加载程序,它是系统上电后运行的第一段程序,其作用类似于 PC 机上的BIOS.
3.3.1格式化U盘
1.插入U盘,点击虚拟机的右下角的虚拟设备图标,点击connect连接虚拟机与U盘。
2.在命令终端输入sudo fdisk -l可以查看U盘的设备名。这里U盘的盘符为sdb(每台机子不一样,记住这个盘符,后面要用到)(一般会跳出多个设备,输入命令行上方的是U盘,下面圈出来的)
3.由于默认自动挂载的原因,首先第一步要卸载挂载:(这里sdb1即更改的盘符)
4.新建分区:sudo fdisk /dev/sdb
若当前U盘已经格式化过,则可以通过d删除分区(U盘数据提前备份!)
n为新建分区
在新跳出的窗口中直接按回车,创建一个主分区
主分区号选择默认(即直接回车)
开始扇区号默认
终止扇区号:填入204800,约100MB(100足够内核+文件系统存放,当然也可以根据自己的需要适当增加或减小)
4.保存分区表:
5.将sdb1格式化为FAT32文件系统
将sdb1分区格式化为FAT32:
修改sdb1的标签为USB_WSCEC
3.3.2安装extlinux到u盘
extlinux之前是syslinux的一个分支,用于ext文件系统,从syslinux 4起, extlinux和syslinux已经统一,同syslinux一样,只能读取所在盘上的文件(内核、映像、配置等),其配置文件是简单的文本文件;syslinux有很多变种适用于各种媒质,如syslinux用于从微软的文件系统fat 16/32引导,isolinux用于从光盘引导,pexlinux用于从网络引导,extlinux用于从ext2/3/4或btrfs文件系统引导
1.在mnt目录下,创建usbdisk作为U盘的挂载点,并将其挂载上
2.安装extlinux到该U盘上
进入U盘挂载点:
安装extlinux到当前目录:(上面一行为命令,下面一行为结果)
安装完成后,可以看到该目录下多了一个ldlinux.sys文件
3.创建分区表的主引导记录(MBR)命令为:
sudo dd bs=440conv=notrunc count=1 if=/usr/lib/syslinux/mbr.bin of=/dev/sdb(这里sdb即更改的盘符)
4.设置sdb1为boot分区
Cd~(一定注意看命令是在哪个当前路径完成的)
5.创建配置文件
cd /mnt/usbdisk/(要在这个路径下做下面的步骤)(这几步路径一直在变要注意)
gedit extlinux.conf
配置文件内容:输入以下内容(这里是在编辑器中,也可以使用VI)
以下是填入参数内容的说明:
DEFAULT linux //默认情况下进入标签linux
LABEL linux //为标签linux
KERNEL bzImage //指定存放内核镜像的地址
APPEND roroot=/dev/sda1 initrd=initrd.gz //表示只可读、不可写 initrd=initrd.gz指定文件系统(root=/dev/sda1这里的sda1不是上面用到的U盘盘符,不要改成sdb1)
3.4制作文件系统
3.4.1 编译busybox
BusyBox 是实现标准 Linux 工具的一个独立可执行方案。不但包含有简单的工具,如 cat 和 echo,还集成压缩了 Linux 更大、更复杂的工具和命令,例如grep、find、mount 以及 telnet。利用它,我们可以建立我们需要的系统命令。
1.
下载地址:http://busybox.net/downloads
下载这个版本:busybox-1.23.2.tar.bz2
2.
解压busybox
tar –xvf busybox-1.23.2.tar.bz2
3.
进入busybox源码目录
cd busybox-1.23.2
4.对 busybox 进行配置:
make menuconfig
这一步骤和内核剪裁时的要求不同,只要更改Busybox Setting和Networking Utilities 中的内容,其它目录中的内容不用更改。
1.Busybox Setting ->
General Configuration --->
<*>Show verbose applet usagemessages
<*>Runtime SUID/SGIDconfiguration via /etc/busybox.conf
Build Options --->
<*>BuildBusyBox as a static binary (no shared libs) //静态编译
Installation Options --->
<*>Don't use /usr //避免覆盖主机系统/usr下原有的命令
Busybox installation prefix //设置生成命令的路径 如:_install
这里设置安装目录为/home/wscec(填入自己的Ubuntu的用户名)/_install
针对不同的即为/home/用户名/_install
2.Networking Utilities --->(该目录中没提到的保持不变!)
[] inetd (默认该选项为[*],将其设为n,其余选项保持不变)
Exit->Save Changes-> Yes //保存修改的配置
在用户目录下创建安装目录_install:
配置完成,这时候进行编译:
编译完成,出现如下提示:
会生成sbin 和bin 两个文件夹可以清楚看到BusyBox种究竟支持了哪些命令和工具。如果需要的命令没有出现在这个目录,就要重新配置编译,让其支持。
3.4.2创建文件系统
1.在_install目录下创建proc sys etc dev文件夹,制作基本的文件系统
console:控制台字符设备文件
null :0设备文件
2.创建fstab:
fstab内容:
3.创建init.d:
内容:
4.增加可执行属性:
5.创建初始化文件:
内容:
6.建立软连接,初始化进程:
7.创建initial ramdisk文件系统:
3.4.3完成linux系统启动U盘
接下去要拷贝内核镜像和文件系统到U盘中,等下实验一下PC启动U盘中的系统。
1.先挂载U盘:
2.拷贝内核镜像:
3.拷贝文件系统:
至此,U盘启动盘完成,打开PC机进去BIOS修改启动项优先级,观察实验结果是否正常
- Linux开发环境的搭建与U盘启动的制作
- 制作Linux的U盘启动介质
- 简易的制作Linux启动U盘
- 制作U盘Linux 与WinPE启动
- linux下制作linux安装启动u盘的过程
- ARM2410与linux开发环境的搭建
- Cubieboard开发环境、Uboot的SD启动卡制作、U-boot初步分析
- 制作Linux启动U盘
- 制作Linux U盘启动
- 制作DOS的U盘启动
- 制作Mac的U盘启动系统
- 制作Ubuntu的U盘启动
- BT5的 U盘启动 制作
- 制作UEFI启动模式的U盘
- Linux下制作ubuntu系统的u盘启动版LiveCD和直接硬盘启动LiveCD
- Linux开发环境搭建与使用——ubuntu物理机安装方法-U盘安装
- Linux开发环境搭建与使用——ubuntu物理机安装方法:U盘安装
- Linux开发环境搭建与使用——ubuntu物理机安装方法:U盘安装
- 【SSH网上商城项目实战27】域名空间的申请和项目的部署及发布
- 二叉树--遍历
- Java - 蓝桥杯 - 历届试题 买不到的数目
- Linux虚拟机访问Windows7系统中的文件共享
- java编程方向
- Linux开发环境的搭建与U盘启动的制作
- Problem D
- 第12周阅读程序(3)
- validation验证
- exe open with param(palying)
- JAVA学习笔记三之(2)语句①
- 2016.5.21【初中部 NOIP提高组 】模拟赛A 总结
- 数据结构实验之查找二:平衡二叉树
- 第十三周项目55-动物这样叫