bash编程之 ~制作Mini Linux系统~】的更多相关文章

说明1:在一个Linux宿主机系统上,通过以上步骤,可以制作一个微小的Linux系统(可以放置在U盘中等),然后在其它的主机(虚拟机或者物理机)上运行,以实现最小化定制系统的目的. 说明2:上图中黑色部分是主要流程,蓝色部分是详细流程,棕色部分是注释说明等 对于上图中几点细节的详解: 阶段 说明 目标磁盘分区格式化挂载 目标磁盘是/dev/sdb,大小为1G,分区sdb1:100M,sdb2:500M即可 安装grub至目标磁盘 无 复制内核和initrd文件 VERSION是内核版本,如2.6…
一.前言 Linux操作系统至1991年10月5日诞生以来,就其开源性和自由性得到了很多技术大牛的青睐,每个Linux爱好者都为其贡献了自己的一份力,不管是在Linux内核还是开源软件等方面,都为我们后来人提供了一个良好的学习和研究环境. 本文主要通过裁剪现有Linux系统,根据自己的需要,打造一个属于自己的Linux小系统,让其能够具备Linux的一些常用小功能. 二.原理 启动流程介绍: 制作Linux小系统之前,我们有必要再了解一下Linux的启动流程: 1.首先Linux要通过POST自…
要想详细了解你的Linux系统,为系统评估和性能调化提供准确的信息,那么,你会经常用到这几组命令. 一. 系统信息     1. 查看内核版本.编译主机.编译器版本和编译时间的信息    cat /proc/version                          2. 查看bootloader启动内核的参数     cat /proc/cmdline     3. 查看内核版本和CPU架构等信息     uname -a     4. 查看当前时间.系统运行时间.用户数量和负载信息  …
前言 昨天终于入手了一块Cubieboard2板子,今年4月入职从事的就是与之相关的工作,因此趁现在有时间就好好熟悉一下. 一.主机环境 1.PC主机WIN 7旗舰版 1.虚拟机VM7.0 2.ubuntu12.04 3.4G的TF卡,读卡器 二.安装交叉编译器 这个比较关键,试过用自己下载的arm-linux-gnueabihf的4.7版本在构建busybox的根文件系统时会出现经典的错误:kernel panic - not syncing: No init found.  Try pass…
Linux 系统编程 学习:09-线程:线程的创建.回收与取消 背景 我们在此之前完成了 有关进程的学习.从这一讲开始我们学习线程. 完全的开发可以参考:<多线程编程指南> 在Linux 系统编程 学习:有关概念中,我们介绍了线程和进程的概念. 概念 基础概念: 线程是cpu或操作系统调度的基本单位.线程大部分的资源是共享的,仅仅申请了自己的栈.空间. 线程是进程内部的一个执行分支,线程量级很小. 在程序中创建线程,可以提高效率,进程内线程越多,争夺到CPU的概率就越大,执行代码的概率就越大(…
2012-09-10        在博文“Linux系统启动过程分析”中我们了解了linux系统的启动流程,今天我们就来手动一步一步从头来构建一个最小的linux系统,然后用模拟器将其加载起来.常见的模拟器有Qemu.Bochs.VMWare.VPC.Virtual Box和Xen等,以及特殊的模拟UML(User-Mode-Linux),这里我们选择用VMWare. 我们制作的Linux系统有shell功能,支持Web Server,telnet等服务,以及ifconfig,vi等常见工具.…
本文转载自:http://www.eeskill.com/article/index/id/1358.html 简介:三部分:bootloader.linux kernel(linux内核).rootfile(根文件系统). 那么这3部分是怎么相互协作来构成这个系统的呢?各自有什么用呢?三者有什么联系?怎么联系?系统的执行流程又是怎么样的呢?搞清楚这个问题你对整个系统的运行就很清楚了,对于下一步制作这个linux系统就打下了另一个重要的根基. 下面是笔者针对网上bootloader.linuxk…
/************************************************************************************* * 定制x86 Linux系统 * 说明: * 制作嵌入式Linux系统是了解的,但是定制x86 Linux系统是很不熟悉,记录这篇文章. * * 2016-12-03 深圳 南山 平山村 曾剑锋 ****************************************************************…
理员权限打开powershell,输入 Enable-WindowsOptionalFeature -Online -FeatureName Microsoft-Windows-Subsystem-Linux 可能需要重启,根据提示来. 然后转到windows store 搜索linux的一个版本,这里选择 Ubuntu 点击 get,只能装在系统盘(通常是C盘) 安装完毕在管理员权限下的命令行输入 bash 在设置->更新和安全->针对开发人员 右侧窗口 选择开发人员模式 再次输入bash…
“闲来无事,逛逛贴吧”已经是本人无事消磨时间的最佳选择了.五花八门的问题,各式各样的回答,总能给自己带来无限的欢乐.当然也有些问题值得自己去思考或者回答.之前就有人在贴吧里问到“Linux好难啊!该怎么学习呢?”针对此问题本人谈谈个人的想法:. 一. 熟悉掌握Linux系统中必须的命令 如果把学习Linux比作是建造一座高楼的话,那Linux命令就是构建这个大楼的必备材料.所谓的命令,是我们在命令行输入的一串字符.shell负责理解并执行这些字符串.shell命令可以分为如下几类 : 1)可执行…
#!bin/bash#作者:liusingbon#功能:修改 Linux 系统的最大打开文件数量#追加两行配置参数到文件/etc/security/limits.conf的末尾,修改最大打开文件数量为 65536cat >> /etc/security/limits.conf <<EOF* soft nofile 65536* hard nofile 65536EOF…
一.编译一个简单的linux步骤如下: # yum groupinstall ""Development Tools" "Server Platform Development" -y //安装开发包组 # tar xf linux-3.10.65.tar.xz //下载内核这里就不介绍了 # cd /usr/src # ln -sv linux-3.10.15 linux # cd linux # make help# make allnoconfig…
一.Linux下多任务机制的介绍 Linux有一特性是多任务,多任务处理是指用户可以在同一时间内运行多个应用程序,每个正在执行的应用程序被称为一个任务. 多任务操作系统使用某种调度(shedule)策略(由内核来执行)支持多个任务并发执行.事实上,(单核)处理器在某一时刻只能执行一个任务.每个任务创建时被分配时间片(几十到上百毫秒),任务执行(占用CPU)时,时间片递减.操作系统会在当前任务的时间片用完时调度执行其他任务.由于任务会频繁地切换执行,因此给用户多个任务运行的感觉.所以可以说,多任务…
了解了基本的Linux文件文件系统的概念后,我们将更深入的了解一下Linux的其他方面的内容,那就是我们所使用的用户接口,也就是大家常听到的 『Shell』 ,『这个shell并不是黑客反弹的shell』,而是一种Linux的命令接口,在 Linux 的世界中,默认使用的是 GNU 开发出来的 shell ,称为 BASH Shell,简单来说,我们之前使用的几个命令都是 bash 管理的,除此之外,bash还具备记录命令.文件或命令的补全功能.环境变量的使用等,下面我们会介绍bash的发展以及…
Mini Linux: 启动流程: 参考:https://blog.csdn.net/gatieme/article/details/50914250 https://linux.cn/article-8807-1.html#4_2073 https://www.linuxidc.com/Linux/2015-04/115817.htm CentOS 6: POST --> BootSequence(BIOS) --> BootLoader --> Kernel (ramdisk) --…
制作一个64M的U盘启动盘(mini linux + winpe +dos toolbox) 自己动手定制winpe+各类dos工具箱U盘启动盘+minilinux 由于一个64M老U盘,没什么用,拿来发挥余热.如果U盘够大,可以使用功能更强大的mini linux和带更多工具的winpe.这次安装了winpe+maxdosv6plux+矮人dos5.3+cdlinux0.4.9+ mclinux2.02+bomberlinux3.7,工具应该算比较多了.思路很多:法1:可以先做成dos启动盘,…
OMAPL138制作SD卡启动盘及重装Linux系统 手里的创龙的OMAPL138平台的系统SSH坏掉了,我重新移植了openssh还是不好使,没有办法了只能重装OMAPL138的系统了,按照创龙给的文档<SD卡启动盘制作>按照步骤进行,当执行一个叫做mksdboot-tl.sh文件时候出现以下报错:(倒数第4行) sfdisk 无效选项 -- D,然后我进入到了这个脚本文件中查看了这一步骤执行了什么命令,发现: sfdisk -D -H ....我查看了sfdisk的手册,并没有发现-D参数…
自己动手定制winpe+各类dos工具箱U盘启动盘+minilinux 由于一个64M老U盘,没什么用,拿来发挥余热.如果U盘够大,可以使用功能更强大的mini linux和带更多工具的winpe.这次安装了winpe+maxdosv6plux+矮人dos5.3+cdlinux0.4.9+ mclinux2.02+bomberlinux3.7,工具应该算比较多了.思路很多:法1:可以先做成dos启动盘,这样直接加载各类dos工具,然后再用grub4dos加载winpe.法2:可以做成ntload…
制作基于软盘的Linux系统(张宏伟.欧阳平平 2001年07月26日 11:22) 嵌入式Linux由一个几百KB的kernel(内核)和一些根据需要进行定制的系统模块组成.由于Linux是开放源代码的操作系统,因此,其在嵌入式领域有其不可替代的成本和高度灵活性等优势. 将Linux系统裁减到就像DOS一样只要一张软盘就能启动,是制作嵌入式Linux的基础.网络上有许多实现方法的介绍,但是在实践过程中都或多或少存在着一些问题或不方便之处.我们结合自己在这方面的实践经验,详细介绍基于软盘的Lin…
1.大端法与小端法 大端法:按照从最高有效字节到最低有效字节的顺序存储,称为大端法 小端法:按照从最低有效字节到最高有效字节的顺序存储,称为小端法 网际协议使用大端字节序来传送TCP分节中的多字节整数(比如16位端口号,32位IPv4地址). 2.time_wait状态 客户端(执行主动关闭的那一端)连接在收到服务器的结束报文段(FIN, ACK),并没有直接进入CLOSED状态,而是转移到TIME_WAIT状态.在这个状态,客户端连接要等待一段长为2MSL(MSL: 报文段最大生存时间)的时间…
在linux系统编程中,当系统调用出现错误时,有一个整型变量会被设置,这个整型变量就是errno,这个变量的定义在/usr/include/errno.h文件中 #ifndef _ERRNO_H /* The includer defined __need_Emath if he wants only the definitions of EDOM and ERANGE, and not everything else. */ #ifndef __need_Emath # define _ERR…
Linux思想即,Linux系统下一切皆文件. 一.对文件操作的几个函数 1.打开文件open函数 int open(const char *path, int oflags); int open(const char *path, int oflags,mode_t mode); – 参数path表示:路径名或者文件名.路径名为绝对路径名. – 参数oflags表示:打开文件所采取的动作. 下面几个为常用参数: O_RDONLY文件只读:O_WRONLY文件只写:O_RDWR文件可读可写:O_…
19:22:01 2014-08-27 引言: 以前对wait waitpid 以及exit这几个函数只是大致上了解,但是看REDIS的AOF和RDB 2种持久化时 均要处理子进程运行完成退出和父进程需要做的什么事情,所以特定看了UNIX环境编程和LINUX系统编程这2本书 重新梳理下整个要点. 内容: 一般而言: 如果程序类似于下面的情况: if((pid=fork())==0) { dochildtthing(); exit(0); } else if(pid>0) { dofathertt…
功能:linux系统编程中,setitimer是一个经常被使用的函数,可用来实现延时和定时的功能. 头文件:sys/time.h 函数原型: int setitimer(int which, const struct itimerval *new_value, struct itimerval *old_value); 参数含义: 1.which参数用来设置定时器类型,可选的值为 (1)ITIMER_REAL : 设置定时器以系统真实所花费的时间来计时,运行指定时间后发送SIGALRM信号. (…
进程间通信概述 需要进程通信的原因: 数据传输 资源共享 通知事件 进程控制 Linux进程间通信(IPC)发展由来 Unix进程间通信 基于System V进程间通信(System V:UNIX系统的一个分支) POSIX进程间通信(POSIX:可移植操作系统接口,为了提高UNIX环境下应用程序的可移植性.很多其他系统也支持POSIX标准(如:DEC OpenVMS和Windows).) 现在Linux使用的进程间通信方式包括: 共享文件 管道(pipe).命名管道(FIFO):只能传输无格式…
简介和主要概念 Linux 系统编程最突出的特点是要求系统程序员对它们工作的的系统的硬件和操作系统有深入和全面的了解,当然它们还有库和系统调用上的区别. 系统编程分为:驱动编程.用户空间编程和网络编程. 系统编程有三大基石:系统调用.C库和C编译器. 文件I/O 文件I/O是Unix系统的核心,第三章会介绍基于C标准库的标准I/O,第四章继续讨论了更高级和专门化的I/O, 第七章以文件盒目录操作为主题结束了整个文件I/O部分的讨论. 文件I/O包括 open, creat, read, writ…
文件操作(Linux系统编程) 创建一个目录时,系统会自动创建两个目录.和.. C语言实现权限控制函数 #include<stdio.h> #include<stdlib.h> #include<sys/types.h> #include<sys/stat.h> int main(int argc , char **argv){ int mode; int mode_u; int mode_g; int mode_o; char *path; ){ prin…
制作嵌入式平台使用的Linux内 核, 方法和制作PC平台 的Linux内 核基本一致, 下面使用 对比的方式介绍如何制作用 于6410开发板的内 核. 1. 清除原有配置与中间文件x86: make distcleanarm: make distclean .config配置文件也需要配置.. 2. 配置内 核 可以在Makefile文件中修改相关的变量ARCH  ,CROSS_COMPILEx86: make menuconfigarm: make menuconfig ARCH=armCR…
在Linux系统中,用户通过终端登录系统后得到一个Shell进程,这个终端成为Shell进程的控制终端.控制终端是保存在PCB中的信息,而我们知道fork会复制PCB中的信息,因此由Shell进程启动的其它进程的控制终端也是这个终端.默认情况下(没有重定向),每个进程的标准输入.标准输出和标准错误输出都指向控制终端,进程从标准输入读也就是读用户的键盘输入,进程往标准输出或标准错误输出写也就是输出到显示器上. 在控制终端输入一些特殊的控制键可以给前台进程发信号,例如Ctrl-C表示SIGINT,C…
1. ls命令 ls命令是列出目录内容(ListDirectory Contents)的意思.运行它就是列出文件夹里的内容,可能是文件也可能是文件夹. "ls -l"命令已详情模式(longlisting fashion)列出文件夹的内容. "ls -a"命令会列出文件夹里的所有内容,包括以"."开头的隐藏文件. 注意:在Linux中,文件以"."开头的就是隐藏文件,并且每个文件,文件夹,设备或者命令都是以文件对待.ls -l…