定制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. ...
随机推荐
- unity3d c# http 请求json数据解析
using System.Collections; using System.Collections.Generic; using UnityEngine; using UnityEngine.Net ...
- Failed to export using the options you specified. Please check your options and try again
参考这篇<从ASP.NET传递参数给水晶报表> http://www.cnblogs.com/insus/p/3281114.html 是可以传递参了.但是点击报表的菜单条上的打印图标没 ...
- Data Base 常用数据库参数的前缀表示符合
可能参数化SQL语句不同,例如在Access中参数化SQL语句是在参数直接以“?”作为参数名,在SQL Server中是参数有“@”前缀,在MySQL中是参数有“?”前缀,在Oracle中参数以“:” ...
- oracle 集群jndi部署方式
一般部署oracle jndi的方式: ...jdbc.url=jdbc:oracle:thin:@10.196.20.xx:1521:SID ... 集群部署方式 : ... jdbc.url= ...
- iOS 11导航栏设置BarButtonItem变形问题和错位问题
升级到 iOS 11,你可能会发现你的 App 的工具栏的行为出了点异常.比如奇点,我在使用过程中,发现工具栏时灵时不灵,感觉很难点到.这是怎么回事?通过 Xcode 的 Debug View Hie ...
- JavaScript权威指南--闭包讲解摘记
不积跬步无以至千里,不积小流无以成江河. 关于闭包的解释,在<JavaScript权威指南>中讲的很透彻了.今天看了书中的一个段讲解,更加深了对闭包的理解,特此记下,以备查阅. 在同一个作 ...
- 读经典——《CLR via C#》(Jeffrey Richter著) 笔记_命名空间和程序集的关系
命名空间和程序集不一定相关 1. 同一个命名空间中的各个类型可能是在不同的程序集中实现的.(System.IO.FileStream在MSCorLib.dll程序集中,而System.IO.FileS ...
- LINUX下用PHPIZE安装PHP GD扩展
环境:LNMP in centOS 6.4. linux下PHP的扩展可以用phpize的方法,比较简单地进行启用. 以下以PHP-GD2 库安装为例子. sudo yum install php-g ...
- Android RecyView 滑动置指定位置
1,直接回到顶部 recyview.getLinearLayoutManager().scrollToPositionWithOffset(0, 0); 2,慢慢的回到顶部 private void ...
- linux 数据库管理
1.安装数据库: yum install mariadb.serversystemctl staus mariadbsystemctl start mariadbsystemctl enable ma ...