一个最小可运行Linux操作系统需要内核镜像bzImage和rootfs,本文整理了其制作、安装过程,调试命令,以及如何添加共享磁盘。
文章更新: 20170201 初次成文 问题提出: 在之前的文章中: Linux Deploy:在Android上部署Linux 小苏为大家介绍了使用Linux Deploy在Android系统中部署Linux系统的方法,但是文章发布后,有一部分朋友按照文中的方法无法部署成功。于是小苏在这里发布另一种备选方案 - 使用小苏部署好的Linux镜像来部署Linux系统。 这种方法只支持Ubuntu和Kail Linux(因为小苏只部署了这两个镜像,其他的没有尝试)。原理是将小苏手机上部署好的
之前学习了利用KGDB双机调试内核,这种方式需要在两个主机上,通过串口线进行连接,或者是通过VMware开启两个虚拟机进行调试,对机器要求相对高一些。通过qemu创建虚拟机,然后利用gdb进行调试相对更轻量级一点。 我先在centos7下面配置调试环境,但是centos7下没有qemu_system_x86等命令,所以需要重新编译qemu源码再进行安装,再加上各种依赖问题,于是转用ubuntu进行配置,过程简单了许多。
使用libguestfs Linux工具可以在虚拟机无法启动的情况下对虚拟机内部进行检查。
1. 虚拟机镜像挂载及w2k8虚拟机启动自检慢问题解决办法 2. KVM虚拟化与guestfish套件 3. guestfish安装与注意事项 4. 使用guestfish查看虚拟机信息 5. 使用guestfish查看虚拟机分区及文件系统 6. 去掉磁盘空洞--KVM虚拟镜像的稀疏问题 7. 用guestfish操作虚拟机内部文件 8. guestfish修改镜像格式和大小 9. guestfish挂载、修改、运行救援方式
virt-resize --shrink /dev/vda1 w2k8.img w2k8.img.29G
在上一篇文章鸿蒙系统研究之三:迈出平台移植第一步,我们将内核加载并启动,但缺少根文件系统。这篇文章我们来探讨一下根文件系统的制作。
libguestfs 是一组 Linux 下的 C 语言的 API ,用来访问虚拟机的磁盘映像文件。该工具包内包含的工具有virt-cat、virt-df、virt-ls、virt-copy-in、virt-copy-out、virt-edit、guestfs、guestmount、virt-list-filesystems、virt-list-partitions等工具,具体用法也可以参看官网。该工具可以在不启动KVM guest主机的情况下,直接查看guest主机内的文内容,也可以直接向img镜像中写入文件和复制文件到外面的物理机,当然其也可以像mount一样,支持挂载操作。
我运行 Linux 作为我的主要操作系统,我在一个虚拟机中启动 FreeDOS。大多数时候,我使用 QEMU 作为我的 PC 模拟器,但有时我会用 GNOME Boxes(它使用 QEMU 作为后端虚拟机)或用 VirtualBox 运行其他实验。
我曾经通过计算第一个 DOS 分区的偏移量来访问我的虚拟磁盘镜像,然后用正确的选项组合来调用 Linux 的 mount 命令来匹配这个偏移量。这总是很容易出错,而且不是很灵活。幸运的是,有一个更简单的方法可以做到这一点。来自 libguestfs-tools 包的 guestmount 程序可以让你从 Linux 中访问或 挂载 虚拟磁盘镜像。你可以在 Fedora 上用这个命令安装 libguestfs-tools:
在Linux操作系统下有时需要限制一个指定文件夹的大小和文件夹内可存储的文件数量,有可能是出于安全的考量或者定制化的配置,这里我们提供了一种方案:用dd创建一个空的img镜像,进行格式化的配置,然后将其绑定到指定的文件夹上可以限制该文件夹的一些属性。
大家好,又见面了,我是你们的朋友全栈君。 docker基础笔记 📷 docker命令参考文档:https://docs.docker.com/engine/reference/commandline/
之前在玩板子时每次烧录镜像都是先烧录 uboot 到 SD 卡 8k 偏移处,再拷贝 zImage 镜像文件和 sun8i-v3s-licheepi-zero-dock.dtb 设备树文件到 sd 卡的 kernel 分区,再把 rootfs.tar 解压到 SD 卡的 rootfs 分区,总的来说感觉有些麻烦,因此本文将制作一个 img 镜像文件可以在 windows 下直接用 Win32DiskImager 一键烧录,或者在 linux 下直接使用 dd 烧录。
initramfs是编到内核中的一种根文件系统,使用的是cpio格式,处理流程和我们之前介绍的initrd机制的cpio格式的流程几乎一样,
系统安装的时候,按照ks.cfg文件的内容进行安装,我们把ks.cfg文件放到isolinux目录下:
du与df du(estimate file space usage) df(report file system disk space usage) df 查看磁盘容量 df 加上-h参数 更方便的查看 human-readable df -h du 查看目录的容量 # 默认同样以 块 的大小展示 du # 加上`-h`参数,以更易读的方式展示 du -h du -h #同--human-readable 以K,M,G为单位,提高信息的可读性。 du -a #同--all 显示目录中所有文件的大小。 d
前一段时间因为工作需要,我对ARM模拟器进行了一番调研。调研目的是:由于项目参与人员比较多,如果人手一块ARM开发板,资源比较紧张,希望能够用模拟器来代替。
SyterKit 是一个纯裸机框架,用于 TinyVision 或者其他 v851se/v851s/v851s3/v853 等芯片的开发板,SyterKit 使用 CMake 作为构建系统构建,支持多种应用与多种外设驱动。同时 SyterKit 也具有启动引导的功能,可以替代 U-Boot 实现快速启动
描述:GRUB英文全称GRand Unified Bootloader俗称引导程序是硬盘中的软件,它可以启动用户在计算机中的多个操作系统所以也叫多重启动管理器。 目前主流版本是 GRUB2,在windows中也有类似的引导程序ntloader虽然它也可以引导Linux操作系统但是比较麻烦;
如果是在本地的机器上安装kvm和虚拟机,拷贝文件还可以通过外接usb和kvm的redirect usb device来完成。而如果是远程的kvm,该如何拷贝文件到本地是一个问题。
说到PE,可能第一必备一个8GB以上的U盘才能搞 也有人可能会说,我可以把PE写到硬盘上用硬盘启动引导 但是这种方法再电脑已经不能正常启动的情况下是没有用的 可能有人经历过,出门在外,自己的(或者身边人)的电脑启动不了了,而你又没有带上你的装机U盘 这个时候真的是巧妇难为无米之炊 而且现场制作一个又会相当难搞(毕竟制作PE是需要先格式化U盘的)而我们日常生活中的U盘都有其他用途你也不可能现场制作一个(当然土豪直接重买除外)
在Linux的世界里,mkinitrd命令扮演着重要的角色,它帮助我们在系统启动时加载必要的驱动程序和文件系统,确保系统的顺畅运行。本文将带您深入了解mkinitrd命令,包括它的定义、工作原理、参数、实际应用示例,以及使用时的注意事项和最佳实践。
博主一直都很喜欢思考怎样管理装在自己电脑上的桌面系统,这篇算是前作能当主力,能入虚拟机,还能随时打包带走,Linux就是这么强大的后续探索吧。
1.本地新建一个文件,将格式改为.img2.如 pizero.img3.树莓派系统内存卡插上电脑4.打开win32 disk imager,镜像文件选择好刚才新建的镜像,驱动选择插上的内存卡5.点击 read (读取)!!!!,千万不要选错.6.这样算是备份好了,但是有个问题,这样相当于将内存卡复制了一份,大小会和原先内存卡一样大.因此我们需要进行压缩
ramdisk.img是编译Android生成的一个镜像文件,最后和kernel一起打包生成boot.img镜像。ramdisk.img中主要是存放android启动后第一个用户进程init可执行文件和init.*.rc等相关启动脚本以及sbin目录下的adbd工具。
想要在Ubuntu或者其他linux系统上面搭建虚拟机吗,那就看看吧,最近一段时间闲着没事干,在服务器上面挂qemu虚拟机启动Windows,只是单纯的觉得很好玩(.....)
分别是: 1、Makefile:分布在 Linux 内核源代码根目录及各层目录中,定义 Linux 内核的编译规则; 2、配置文件(config.in):给用户提供配置选择的功能; 3、配置工具:包括配置命令解释器(对配置脚本中使用的配置命令进行解释)和配置用户界面(提供基于字符界面、基于 Ncurses 图形界面以及基于 Xwindows 图形界面的用户配置界面,各自对应于 Make config、Make menuconfig 和 make xconfig)。
book@100ask:~$ qemu-riscv64-static -version
在CentOS6系列版本系统在安装完成后会自动生成一个install.log文件,然后在CentOS7系列版本中就变化为anaconda-ks.cfg文件,它可以作为类似于Windows自动化安装的应答文件,只不过此处是用于Linux系统自动化安装的应答文件即无人值守自动化安装配置文件;
Cloud-init是一个Linux虚拟机的初始化工具,被广泛应用在AWS和OpenStack等云平台中,用于在新建的虚拟机中进行时间设置、密码设置、扩展分区、安装软件包等初始化设置。本文主要研究在本地KVM虚拟机,也就是没有云平台的情况下,如何使用cloud-init进行初始化工作。示例虚拟机的操作系统是CentOS 7.1。
例如一个项目中,部署时需要依赖于node.js、Redis、RabbitMQ、MySQL等,这些服务部署时所需要的函数库、依赖项各不相同,甚至会有冲突。给部署带来了极大的困难。
PXE(Pre-boot Execution Environment,预启动执行环境)是由Intel公司开发的网络启动技术,工作于Client/Server的网络模式,支持工作站通过网络从远端服务器下载映像,并由此支持通过网络启动操作系统,在启动过程中,终端要求服务器分配IP地址,再用TFTP(trivialfile transfer protocol)或MTFTP(multicasttrivial file transfer protocol)协议下载一个启动软件包到本机内存中执行,由这个启动软件包完成终端基本软件设置,从而引导预先安装在服务器中的终端操作系统。
打开linux deploy,左上角设置,最重要的就是下面两个要勾上,其他的设置可采用默认的
Kernel-based Virtual Machine的简称,是一个开源的系统虚拟化模块,自Linux 2.6.20之后集成在Linux的各个主要发行版本中。它使用Linux自身的调度器进行管理,所以相对于Xen,其核心源码很少。KVM目前已成为学术界的主流VMM之一。
1:到fedora官网下载fedora的DVD镜像文件。
首先要明确的是, 作为了一个每天在 Linux Server 上 rm -rf 的人来说, 如果想在 Mac 上使用 Docker, 最舒服的也是兼容所有 docker cli 命令行操作即可; 至于图形化的界面完全不需要, 我们并不指望图形化界面能比敲命令快到哪里去, 也不指望图形化界面变为主力; 所以本篇文章的核心目标:
玩客云是一款前些年很火的矿机,曾经在官网售卖¥599,现在已经沦落到¥45包邮的田地了。当时我还靠着玩客云赚钱了好几百呢,高中的时候。
作者:bobyzhang,腾讯 IEG 运营开发工程师 0. 故事的开始 0.1 为什么和做什么 最近家里买了对音响,我需要一个数字播放器。一凡研究后我看上了 volumio(https://volumio.org/) 这是一个基于 Debian 二次开发的 HIFI 播放器系统,可以运行下 x86 和树莓派上。 我打算让 volumio 运行在我 2009 年购买的老爷机笔记本上,也让它发挥一点余温热。正常操作是将 volumio 的系统镜像刷到 U 盘上,连接电脑后使用 U 盘启动系统即可。但是家
以下操作适用于Mac和Linux下。 下载镜像 下载镜像,此处默认为最新桌面版,其他版本可访问Download Raspbian for Raspberry Pi curl -o raspbian-stretch.zip https://downloads.raspberrypi.org/raspbian_latest 解压 unzip raspbian-stretch.zip 请注意,此时解压出的文件名会类似2017-11-29-raspbian-stretch.img 根据不同的版本会有不同的文
客户要将业务从自建的虚拟化数据中心迁移至UCloud,希望能够将多年前的VMware体系换到公有云体系。其中:
1.离线迁移需要借助对象存储(COS)的支持,请先确保您所在地域在 COS 支持范围内,详见如下文档:
折腾服务器或者是专业的服务器运维都会遇到迁移数据或磁盘的情况。Linux下就提供了非常简单且强大的dd命令,它可以拯救即将损坏磁盘的数据、远程备份或者进行完整的分区拷贝。
gitlab 8.5.8版本.参照:https://github.com/sameersbn/docker-gitlab.git.太多年了也没有升级,现在准备备份还原到一个新的服务器然后升级一下。gitlab服务器开始是docker-compose搭建的后面迁移到了kubernetes上(记得当时还是1.14),后面kubernetes 版本持续升级到了1.21。基础环境如下:
大家好,又见面了,我是全栈君,祝每个程序员都可以多学几门语言。 1、概述 Anaconda是RedHat、CentOS、Fedora等Linux的安装管理程序。它能够提供文本、图形等安装管理方式,并支持Kickstart等脚本提供自己主动安装的功能。此外,其还支持很多启动參数,熟悉这些參数可为安装带来非常多方便。该程序的功能是把位于光盘或其它源上的数据包,依据设置安装到主机上。为实现该定制安装,它提供一个定制界面,能够实现交互式界面供用户选择配置(如选择语言,键盘,时区等信息)。Anaconda的大部分模块用Python编写,有少许的加载模块用C编写。 Anaconda支持的管理模式: (1)Kickstart提供的自己主动化安装; (2)对一个RedHat实施upgrade; (3)Rescuse模式对不能启动的系统进行故障排除。 要进入安装步骤,须要先有一个引导程序引导启动一个特殊的Linux安装环境系统;引导有多种方式: (1)基于网络方式的小型引导镜像,须要提供小型的引导镜像; (2)U盘引导,通过可引导存储介质中的小型引导镜像启动安装过程; (3)基于PXE的网络安装方式,要提供PXE的完整安装环境; (4)其它bootloder引导(如GRUB)。 可用的安装方式:本地CDROM、硬盘驱动器、网络方式(NFS、FTP、HTTP)。 通过网络方式安装时,不论通过FTP、HTTP还是NFS方式共享安装,能够将安装光盘先复制到网络server上保存为iso镜像,然后loop挂载到共享文件夹或网页文件夹(当然,拷贝镜像中的全部文件到指定位置或直接挂载到共享文件夹也可),而通过NFS方式时,能够直接将光盘的iso文件放到共享文件夹就可以,安装程序挂载共享文件夹后能够自己主动识别镜像。 注意思复制安装光盘,并保存为一个 iso 映像文件的方法(对于 DVD/CD): # dd if=/dev/cdrom of=/location/of/disk/space/RHEL.iso bs=32k 注意拷贝时bs块大小设置为32k,我实验时设为1M,尽管减小了文件体积,可是安装读镜像时会报错。 对于Kickstart,它是一个利用Anconda工具实现server自己主动化安装的方法。通过生成的kickstart配置文件ks.cfg,server安装能够实现从裸机到全功能服务的的非交互式(无人值守式)安装配置;ks.cfg是一个简单的文本文件,文件包括Anconda在安装系统及安装后配置服务时所须要获取的一些必要配置信息(如键盘设置,语言设置,分区设置等)。Anconda直接从该文件里读取必要的配置,仅仅要该文件信息配置正确无误且满足全部系统需求,就不再须要同用户进行交互获取信息,从而实现安装的自己主动化。可是配置中假设忽略不论什么必需的项目,安装程序会提示用户输入相关的项目的选择,就象用户在典型的安装过程中所遇到的一样。一旦用户进行了选择,安装会以非交互的方式(unattended)继续。使用kickstart能够实现流线化自己主动化的安装、高速大量的裸机部署、强制建立的一致性(软件包,分区,配置,监控,安全性)、以及降低人为的部署失误。 使用Kickstart方法安装的过程包含创建一个kickstart文件、创建有kickstart文件的引导介质或者使这个文件在网络上可用、筹备一个安装树、開始ks安装(anconda自身启动 –>选取ks安装模式–> 从ks文件读取配置 –> 最后安装)。创建kickstart配置文件能够使用不论什么文本编辑器,也能够使用图形化配置工具system-config-kickstat(须要安装system-config-kickstart.noarch包)。注意配置文件生成后,推荐使用ksvalidator命令检查配置文件语法及完整性错误,比如: [root@bogon ~]# ksvalidator ks.cfg not enough arguments for format string Kickstart文件的语法及參数含义可參考 http://docs.redhat.com/docs/en-US/Red_Hat_Enterprise_Linux/6/html/Installation_Guide/s1-kickstart2-options.html。 我们以RHEL 6.0的安装为例来分析Anaconda。为紧跟新版本号,anaconda源代码则使用较新的在Fedora 15中使用的版本号。先从Fedora的下载网
目标虚拟机, 右键 设置 选中 CD/DVD, 浏览 选中本地的 centOS 镜像
领取专属 10元无门槛券
手把手带您无忧上云