Linux编译内核总结

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
#/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、下载源码解压

#-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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值