console驱动_Linux驱动03 | 启动分析之Linux内核

上一篇:《Linux驱动02  |  启动分析之uboot》

这篇来简述分析Linux内核

bb8265e088d89c48b9dafa19bf779901.png

一、内核的作用

1)进程的管理和进程的通信:进程的创建和删除、进程之间优先级抢占、进程的时间片轮转调度、进程间的通信。

2)内存管理:内存分配算法,每个进程的内存空间由Linux进行分配。

3)支持的文件系统,可以通过cat /proc/filesystems

4)设备的管理,聚焦到linux驱动:字符设备、块设备、网络设备、中断、内核时钟。

5)网络协议:TCP/IP。

linux内核的官网:https://www.kernel.org/

0e0e050cea32da87165fed67657a9d66.png

二、输出信息

1)uboot加载内核

## Booting kernel from Legacy Image at 48000000 ...
   Image Name:   Linux-3.4.39-gec //内核版本,3.4.39,该镜像由gec定制
   Image Type:   ARM Linux Kernel Image (uncompressed)
   Data Size:    5540912 Bytes = 5.3 MiB//内核镜像的大小5.3MB
   Load Address: 40008000     //内核是存储在内存地址空间0x40008000
   Entry Point:  40008000     //内核执行的入口地址0x40008000
   Verifying Checksum ... OK //校验镜像的内容是否完整
   Loading Kernel Image ... OK//若校验成功,则启动内核
Starting kernel ...

2)linux内核启动

[    0.000000] Booting Linux on physical CPU 0 //它只是用CPU0进行linux启动

3)告诉当前linux内核的版本、使用到的编译器、编译生成时间

[    0.000000] Linux version 3.4.39-gec (zr@boLe) (gcc version 4.8 (GCC) ) #9 SMP PREEMPT Sun Nov 19 10:01:10 CST 2020

4)uboot传递给内核的信息,使用lcd、触摸屏是什么型号、串口的配置等信息

[    0.000000] Kernel command line: console=ttySAC0,115200n8 androidboot.hardware=6818 androidboot.console=ttySAC0 androidboot.serialno=0123456789abcdef initrd=0x49000000,0x1000000 lcd=at070tn92 tp=gslx680-linux root=/dev/mmcblk0p2 rw rootfstype=ext4

5)内存管理

[    0.000000] Memory: 1024MB = 1024MB total
[    0.000000] Memory: 810792k/810792k available, 237784k reserved, 272384K highmem
[    0.000000] Virtual kernel memory layout:
[    0.000000]     vector  : 0xffff0000 - 0xffff1000   (   4 kB)
[    0.000000]     fixmap  : 0xfff00000 - 0xfffe0000   ( 896 kB)
[    0.000000]     vmalloc : 0xef800000 - 0xfee00000   ( 246 MB)
[    0.000000]     lowmem  : 0xc0000000 - 0xef600000   ( 758 MB)
[    0.000000]     pkmap   : 0xbfe00000 - 0xc0000000   (   2 MB)
[    0.000000]     modules : 0xbf000000 - 0xbfe00000   (  14 MB)
[    0.000000]       .text : 0xc0008000 - 0xc0a561c8   (10553 kB)
[    0.000000]       .init : 0xc0a57000 - 0xc0a94100   ( 245 kB)
[    0.000000]       .data : 0xc0a96000 - 0xc0b307b0   ( 618 kB)
[    0.000000]        .bss : 0xc0b307d4 - 0xc0d10508   (1920 kB)
[    0.000000]        .bss : 0xc0b307d4 - 0xc0d10508   (1920 kB)
[    0.000000] SLUB: Genslabs=11, HWalign=64, Order=0-3, MinObjects=0, CPUs=8, Nodes=1

6)设备管理,初始化各种硬件(gpio、串口、i2c、网络硬件、usb....),加载各个硬件的驱动

[    0.000000] GIC   @f0009000: start   0 (gic 31)
[    0.000000] GPIO  @f001a000: start 106, mask 0xffffffff (gpio 85)
[    0.000000] GPIO  @f001b000: start 138, mask 0xffffffff (gpio 86)
[    0.000000] GPIO  @f001c000: start 170, mask 0xffffffff (gpio 87)
[    0.000000] GPIO  @f001d000: start 202, mask 0xffffffff (gpio 88)
[    0.000000] GPIO  @f001e000: start 234, mask 0xffffffff (gpio 89)
[    0.000000] ALIVE @f0010800: start 266, mask 0x000000ff (alive 36, num 6)
 
[    0.209000] i2c-gpio i2c-gpio.0: using pins 99 (SDA) and 98 (SCL)
[    0.209000] i2c-gpio i2c-gpio.1: using pins 101 (SDA) and 100 (SCL)
[    0.209000] i2c-gpio i2c-gpio.3: using pins 80 (SDA) and 79 (SCL)
[    0.211000] s3c-i2c s3c2440-i2c.2: i2c-2: S3C I2C adapter
[    0.211000] s3c-i2c s3c2440-i2c.2: slave address 0x10
[    0.211000] s3c-i2c s3c2440-i2c.2: bus frequency set to 195 KHz
 
[    0.211000] Linux media interface: v0.10
[    0.212000] Linux video capture interface: v2.00
 
[    0.218000] axp_mfd 3-0034: AXP (CHIP ID: 0x06) detected
 
[    0.309000] Advanced Linux Sound Architecture Driver Version 1.0.25.
[    0.309000] Bluetooth: Core ver 2.16
[    0.310000] NET: Registered protocol family 31
[    0.310000] Bluetooth: HCI device and connection manager initialized
[    0.310000] Bluetooth: HCI socket layer initialized
......

7)挂载根文件系统

[    3.967000] EXT4-fs (mmcblk0p2): mounted filesystem with ordered data mode. Opts: (null)
[    3.969000] VFS: Mounted root (ext4 filesystem) on device 179:2.
[    3.976000] devtmpfs: mounted

8)执行脚本文件

/etc/profile /etc/init.d/rcS

9)进入命令行

[root@GEC6818 /]#

5aec905daa26d2638c897eaad9153e72.png

接下来会分析跟文件系统.......

记录 点点滴滴的笔记 欢迎关注,共同学习

小浩笔记

ff4513aa936152fa276b5cb5ab16c017.png b3ee5d19d7cf91d2487e1afc25982381.gif
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值