1、安装虚拟机
目标机 1:VirtualBox+CentOS7_nimimal
目标机 2:VirtualBox+CentOS7_nimimal
宿主机:CentOS7
2、网络部分
- 虚拟机VirtualBox网络配置
VirtualBox使用NAT连接方式,目标机开启dhcp
#编辑Linux网络配置文件
vim /etc/sysconfig/network-scripts/ifcfg-enp1s0
#文件中配置的条目详解
TYPE=Ethernet #网络类型为:Ethernet
DEVICE=enp1s0 #指出设备名称
NM_CONTROLLED=yes #network mamager的参数,实时生效,不需要重启
ONBOOT=yes #设置为yes,开机自动启用网络连接
IPADDR=192.168.21.129 #IP地址
BOOTPROTO=dhcp #设置为none禁止DHCP,设置为static启用静态IP地址,设置为dhcp开启DHCP服务
NETMASK=255.255.255.0 #子网掩码
GATEWAY=192.168.21.2 #设置网关
DNS1=8.8.8.8 #第一个dns服务器
DNS2=8.8.4.4 #第二个dns服务器
IPV6INIT=no #禁止IPV6
USERCTL=no #是否允许非root用户控制该设备,设置为no,只能用root用户更改
HWADDR=00:0C:29:2C:E1:0F #网卡的Mac地址
PREFIX=24
DEFROUTE=yes
IPV4_FAILURE_FATAL=yes
NAME="System eth0" #定义这一系列配置显示的名称
#重启网络
service network restart
#或者
systemctl restart network
#查看网络配置信息
ifconfig
使CentOS7mini联网
参考资料:
注意:设置条目选项时,使用“空格键”表示选中/取消选中
安装阿里的yum源
#/bin/bash
#按照以下步骤进行,或者保存为一个脚本并执行
wget -O /etc/yum.repos.d/CentOS-Ali.repo http://mirrors.aliyun.com/repo/Centos-7.repo
yum clean all
yum makecache
注意:要先安装wget,才能下载。
3、安装必要的包
在纯命令行界面下实现上下翻页:Shift + PageUp 和 Shift + PageDown
通过ssh命令在远程计算机复制命令:
#scp fromWhere toWhere
scp root@125.216.242.147:/home/...... ~/mydir
- 安装gcc,make,ncurses,gdb……
4、下载源码解压
linux内核的官网:
www.kernel.org
下载内核 (本次编译的目标内核版本是2.6.38)
https://www.kernel.org/pub/linux/kernel/v2.6/linux-2.6.38.tar.gz
解压
#-C 参数表示解压的目标地址
tar -zxvf ****.tar.gz -C /usr/src/kernel/
5、配置串口
- 配置VirtualBox串口
- Port Number:
- COM1 对应 /dev/ttyS0
- COM2 对应 /dev/ttyS1
依此类推……
此处我选择了COM1
Port Mode:
选择Host Pipe
设置一个文件路径:/tmp/serial
注意:“Connect to existing pipe/socket”这一项。目标机 1 不打钩,然后打开此虚拟机后会在上面设置的路径下产生一个文件serial。目标机2 打钩,打开虚拟机后会直接连接这个文件。目标机 1 使用minicom工具
- 安装
- 配置 sudo minicom -s
- 设置串口“Serial port setup” –> 核验设备“Serial Device” 为“ttyS0”或者其他–> 保存退出
- 之后自动就进入了串口的监听界面:
- “Ctrl+A”再按下“Z”,进入minicom的帮助界面后,
- 输入”X“或者“Q”,退出
目标机 2 开始发送数据
echo "balabala" > /dev/ttyS0 #此时观察目标机1会接收数据
#或者
cat > /dev/ttyS0
6、开始编译
- 查看系统当前内核版本
uname -a
- 查看系统CPU信息
cat /proc/cpuinfo
- 清除以前的配置,回到默认配置。
注意:如果编译失败,需要重新执行的话,也请执行这句话,避免出现莫名其妙的错误。
make mrproper
- 对编译时的linux内核进行配置的 参考资料:
http://blog.163.com/wenwen10090215@126/blog/static/17332211420144983925757/
#执行命令开始配置
make menuconfig
#使能以下选项
Location:
-> General setup
-> Prompt for development and/or incomplete code/drivers
Location:
-> Kernel hacking
-> KGDB: kernel debugging with remote gdb
-> KGDB: use kgdb over the serial console
#关闭以下选项
Location:
-> Kernel hacking
->Write protect kernel read-only data struct ures
……未完待续
mknod /dev/ttyUSB0 c 188 0