定制Linux
- tar -xzvf linux-major-minor-VERSION.tar.gz -C /usr/src
- cd /usr/src
- ln -sv linux-major-minor-VERSION linux
- make allnoconfig
- make menuconfig
在此处配置的信息:
1. 64-bit kernel
2. Enable loadable module support --> Module unloading
3. Processor type and features --> 默认即可
4. Bus options --> PCI support
5. Executable file formats --> Kernel support for ELF binaries, Write ELF core dumps with partial segments, Kernel support for scripts starting with #!, Kernel support for MISC binaries
6. Network support --> Network options --> TCP/IP networking
7. Device drivers --> Generic Driver Options --> Maintain a devtmpfs filesystem to mount at /dev, Automount devtmpfs at /dev, after the kernel mounted the rootfs
8. SCSI device support --> SCSI device support, SCSI disk support, SCSI low-level drivers --> BusLogic SCSI support
9. Device Drivers --> Fusion MPT device support --> Fusion MPT ScsiHost \*
10. Network device support --> Ethernet driver support
11. Input device support --> Keyboards
12. File systems --> 含有Ext2/3/4的都选上
``
6. make -j 4 bzImage ;; 使用bzImage表示只编译内核, 如果直接使用make表示编译内核和模块
7. 注意这里不适用make moudel_install或者make install, 因为不是要将该内核装在本机上, 而是状态别的硬盘上
8. mkdir /mnt/sysroot
9. 使用fdisk /dev/sdb对目标硬盘进行分区
10. 使用mke2fs -t ext4 /dev/sdb1, mke2fs -t ext4 /dev/sdb2格式化分区
11. mount /dev/sdb2 /mnt/sysroot
12. mkdir /mnt/sysroot/boot
13. grun-install --root-directory=/mnt/sysroot /dev/sdb
14. vim /mnt/sysroot/boot/grub/grub.conf --> 进行配置
default=0
timeout=5
title MyLinux
root (hd0,0)
kernel /bzImage or root=/dev/sda2 init=/bin/bash
15. mkdir -pv /mnt/sysroot/{bin,sbin,lib64,lib,usr/{local/{lib,lib64,bin,sbin}},bin,sbin,lib,lib64} etc tmp var
16. 拷贝一些命令和对应的so文件到对应的目录中
17. cp arsh/x86/boot/bzImage /mnt/sysroot/boot
OK
#### 使用Busybox来提供lib文件
1. tar -xf busybox-major-minor-VERSION.tar.gz -C /usr/src
2. ls -sv busybox-major-minor-VERSION busybox
3. cd busybox
4. make menuconfig
5. 选择通用项, 修改为static安装
5. yum install -y glibc-statis glibs-devel
6. make && make install
7. cp -rv ./_install/* /mnt/sysroot/ --> 替换掉第一个环节的一些目录
8. cd /mnt/sysroot
9. mkdir -pv etc/rc.d
10. vim inittab
格式
id:runlevels:action:process(run command)
::sysinit:/etc/rc.d/rc.sysinit
::respawn:getty 9600 tty1 --> 其中的9600为固定的
::respawn:getty 9600 tty2
::respawn:getty 9600 tty2
::ctrlaltdel:/sbin/reboot
::shutdown:/bin/umount -a -r
11. vim etc/rc.d/rc.sysinit
mount -t proc proc /proc
mount -t sysfs sysfs /sys
mount -t ext4 /dev/sda1 /boot
mount -t ext4 -o remount,rw /dev/sda2 /
12. 也可以填写fstab
13. OK
### 编译安装dropbear
1. ./configrue
2. make scp && make install --> 使用make scp是为了以后通过ssh连接, 可用scp命令远程复制传输文件
3. mkdir /etc/dropbear
4. cd /etc/dropbear
5. dropbearkey -t rsa -f dropbear_rsa_host_key
6. dropbearkey -t dss -f dropbear_dss_host_key
7. 启动服务, dropbear -E -F -p 6666
定制Linux的更多相关文章
- 自己定制Linux发行版(资料)
/******************************************************************** * 自己定制Linux发行版(资料) * 声明: * 随着L ...
- 通过yocto给p1010rdb定制linux,并启动linux
一.通过yocto定制linux 1.安装yocto yocto只能在非root用户下编译,所以先新建一个用户. useradd chen passwd -d chen 重启电脑进入chen用户. ...
- 初涉定制linux系统之——自动化安装Centos系统镜像制作
最近碰到个需求:要在内网环境安装centos6.5系统并搭建服务,但由于自动部署脚本里安装依赖包使用的是yum安装,而服务器无法连接外网,实施人员也不会本地yum源搭建O__O "….. 本 ...
- 如何定制Linux外围文件系统?
本文由云+社区发表 作者:我是乖宝宝哦 一般来说,我们所说的Linux系统指的是各种基于Linux Kernel和GNU Project的操作系统发行版.为了掌握Linux操作系统的使用,了解 Lin ...
- 定制linux镜像并自动化安装
最近碰到个需求:要在内网环境安装centos6.5系统并搭建服务,但由于自动部署脚本里安装依赖包使用的是yum安装,而服务器无法连接外网,实施人员也不会本地yum源搭建….. 本来想法是打算把需要的依 ...
- 初涉定制linux系统之——rpm相关安装包的准备
在上一篇博客http://www.cnblogs.com/dengtr/p/5543820.html#3634582 中介绍了如何定制Centos系统镜像,但其中有个问题,就是服务所依赖的安装包不在原 ...
- 使用 linux kernel +busybox 定制linux系统
目的: 了解linux的启动过程 主要内容: 1.grub 是启动程序的bootloader 2.linux-kernel 是linux的开源内核 3.busybox 是linux的工具集合 启动顺序 ...
- 定制linux中的Gtk theme<一>如何设置窗口按钮的多态效果
GTK主题之个人理解: GTK 主题引擎(包含代码所需的图形元素) + 主题配置文件(gtkrc文件)+ 数据资源文件(如图片等) 三者所呈现给用户的视觉风格效果 GTK拥有一套大量的widg ...
- 基于busybox和LFS的linux系统定制
自从在大学知道了Linux这玩意是可以定制的之后,一直想做出一版属于自己的Linux系统.最近工作比较闲,终于塌下心来好好学习了一下. 目前来说,我接触的定制Linux的方法主要有两种: 1. ...
随机推荐
- WebAPI 请求跨域问题
本人采用的是利用CORS解决跨越问题. 首先利用Nuget 安装“microsoft.aspnet.webapi.cors”,如下图所示: 紧接着,在WebApiConfig文件中加入 config. ...
- (转)深入研究 蒋金楠(Artech)老师的 MiniMvc(迷你 MVC),看看 MVC 内部到底是如何运行的
前言 跟我一起顺藤摸瓜剖析 Artech 老师的 MiniMVC 是如何运行的,了解它,我们就大体了解 ASP.NET MVC 是如何运行的了.既然是“顺藤摸瓜”,那我们就按照 ASP.NET 的执行 ...
- UINavigationController + UIScrollView组合,视图尺寸的设置探秘(一)
UINavigationController和UIScrollView是iOS下几种主要的交互元素,但当我搭配二者在一起时,UIScrollView的滚动区域出现了很诡异的现象.我希望UIScroll ...
- Git入门操作
仅学习Git的一些入门操作比较容易,平时更多地使用GitHub,不过今天我想自个搭个服务练练手.当看完一些材料合作了一些验证之后,才发现其实所谓的服务和之前的svn完全不一样了.过程记录如下: Lin ...
- Linux系统磁盘
所有有系统都一样,都是一种软件被安装于某个硬件之上,这个硬件无外非是一种存储设备,通常操作系统都是安装在磁盘中,所以Linux系统也是一样,都是安装在磁盘中,但是它与Windows系统不一样,因为Li ...
- Reincarnation HDU - 4622
\(\color{#0066ff}{ 题目描述 }\) 给定一个字符串,多次询问某一字串的f值 f(s)代表s的不同字串数量 \(\color{#0066ff}{输入格式}\) 第一行T,代表数据组数 ...
- 【模板】缩点 tarjan+dp
题目背景 缩点+DP 题目描述 给定一个n个点m条边有向图,每个点有一个权值,求一条路径,使路径经过的点权值之和最大.你只需要求出这个权值和. 允许多次经过一条边或者一个点,但是,重复经过的点,权值只 ...
- C++变量作用域、生存期、存储类别
写C.C++代码的小伙伴一定在头疼变量的作用域.生存期.存储类别问题.什么静态.外部.寄存器.局部.全局搞得一头雾水.今天咱们就来梳理一下他们的变态关系(什么不得了的事情???) 1.变量的作用域 说 ...
- Android自动化----adb shell,appium,uiautomator2
1.区别 1,adb shell脚本的方式 不但可以在有电脑的情况下使用,通过数据线连接电脑然后adb shell命令,而且还可以打包成app,在手机的终端使用adb shell命令. 2,appiu ...
- Android layout布局属性、标签属性总结大全
RelativeLayout 第一类:属性值为true可false android:layout_centerHrizontal 水平居中 android:layout_centerVe ...