1. tar -xzvf linux-major-minor-VERSION.tar.gz -C /usr/src
  2. cd /usr/src
  3. ln -sv linux-major-minor-VERSION linux
  4. make allnoconfig
  5. 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的更多相关文章

  1. 自己定制Linux发行版(资料)

    /******************************************************************** * 自己定制Linux发行版(资料) * 声明: * 随着L ...

  2. 通过yocto给p1010rdb定制linux,并启动linux

    一.通过yocto定制linux 1.安装yocto yocto只能在非root用户下编译,所以先新建一个用户. useradd chen  passwd -d chen 重启电脑进入chen用户. ...

  3. 初涉定制linux系统之——自动化安装Centos系统镜像制作

    最近碰到个需求:要在内网环境安装centos6.5系统并搭建服务,但由于自动部署脚本里安装依赖包使用的是yum安装,而服务器无法连接外网,实施人员也不会本地yum源搭建O__O "….. 本 ...

  4. 如何定制Linux外围文件系统?

    本文由云+社区发表 作者:我是乖宝宝哦 一般来说,我们所说的Linux系统指的是各种基于Linux Kernel和GNU Project的操作系统发行版.为了掌握Linux操作系统的使用,了解 Lin ...

  5. 定制linux镜像并自动化安装

    最近碰到个需求:要在内网环境安装centos6.5系统并搭建服务,但由于自动部署脚本里安装依赖包使用的是yum安装,而服务器无法连接外网,实施人员也不会本地yum源搭建….. 本来想法是打算把需要的依 ...

  6. 初涉定制linux系统之——rpm相关安装包的准备

    在上一篇博客http://www.cnblogs.com/dengtr/p/5543820.html#3634582 中介绍了如何定制Centos系统镜像,但其中有个问题,就是服务所依赖的安装包不在原 ...

  7. 使用 linux kernel +busybox 定制linux系统

    目的: 了解linux的启动过程 主要内容: 1.grub 是启动程序的bootloader 2.linux-kernel 是linux的开源内核 3.busybox 是linux的工具集合 启动顺序 ...

  8. 定制linux中的Gtk theme<一>如何设置窗口按钮的多态效果

    GTK主题之个人理解: GTK 主题引擎(包含代码所需的图形元素) +  主题配置文件(gtkrc文件)+ 数据资源文件(如图片等)    三者所呈现给用户的视觉风格效果 GTK拥有一套大量的widg ...

  9. 基于busybox和LFS的linux系统定制

    自从在大学知道了Linux这玩意是可以定制的之后,一直想做出一版属于自己的Linux系统.最近工作比较闲,终于塌下心来好好学习了一下.   目前来说,我接触的定制Linux的方法主要有两种:   1. ...

随机推荐

  1. 扒一扒spring,dom4j实现模拟实现读取xml

    今天leadr提出需求,原来公司项目中读取解析xml文件的代码效率太低,考虑切换一种xml为数据封装格式与读取方式以提高效率.我这灵机一动spring对bean的依赖注入就是读取xml文件,可以尝试扒 ...

  2. 【3】循序渐进学 Zabbix:配置 Zabbix Web

    上一篇 [2]循序渐进学 Zabbix:安装配置 Zabbix Server 服务端 配置 Zabbix Web 访问 上一篇完成了 Zabbix Server 的安装,但是那对于我们而言只是一个服务 ...

  3. go语言实战教程之 后台管理页面统计功能开发(2)

    上节内容介绍了后台管理页面统计功能开发(1),从功能介绍,到接口请求分析和归类,最后是代码设计.经过上节内容的介绍,已经将业务逻辑和开发逻辑解释清楚,本节内容侧重于编程代码实现具体的功能. 当日增长数 ...

  4. Java之批处理的实现

    批处理(batch) 一.批处理介绍 1. 批处理指的是一次操作中执行多条SQL语句 2. 批处理相比于一次一次执行效率会提高很多 3. 批处理主要是分两步: 1.将要执行的SQL语句保存 2.执行S ...

  5. js判断字符串是否有下划线

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  6. 类关系/self/特殊成员

    1.依赖关系 在方法中引入另一个类的对象 2.关联关系.聚合关系.组合关系 #废话少说 直接上代码===>选课系统 # coding:utf-8 class Student(object): d ...

  7. CMD 有关知识点

    java的Runtime.getRuntime().exec(commandStr)可以调用执行cmd指令. cmd /c dir 是执行完dir命令后关闭命令窗口. cmd /k dir 是执行完d ...

  8. vscode 注册表

    Windows Registry Editor Version 5.00 ; Open files [HKEY_CLASSES_ROOT\*\shell\Open with VS Code] @=&q ...

  9. git学习--远程分支删除

    查看远程分支 git branch -r  使用下面两条命令来删除远程分支 git branch -r -d origin/branch-name git push origin :branch-na ...

  10. Oracle SQL优化规则详解

    1. 选用适合的Oracle优化器 Oracle的优化器共有3种: a. RULE (基于规则) b. COST (基于成本) c. CHOOSE (选择性) 设置缺省的优化器,可以通过对init.o ...