Linux内核移植(Day15)

一 回忆昨天的内容

TCP/IP网络通信
服务器编程模型
客户端的编程模型
socket bind listen 
while (1)
{accept read write close }

socket connect 
while (1){
write read close 
}

IPV4地址家族 
inet_pton
htonl htons
sizeof 计算的是类型的大小
strlen 计算的有效字符的个数 
char *buf = "hello world!\n";

二 开发板介绍
链接:https://pan.baidu.com/s/
1ogkEGfnstsPimOO0NJayiA 
提取码:8888 

下载压缩包 easthome_porting.zip 

S5P6818 开发板
.. 4412 4418 6818
Cortex A53 做系统软件开发 
BIOS Linux内核

ARM ---》 三星公司
         IP  cpu的物理设计

A3 A5 A7 A9 A11 ...

核心板:        
DRAM  1G
SRAM  Cache

EMMC  8G
SATA  

底板:LCD + TS + SOUND + NET + GPIO + UART +...

soc: system on chip
cpu (cotex-a53) + 
内置内存(DRAM) + 
内置的闪存(flash EMMC) 
+ 内部总线
+ mmc + LCD + TS + 
SOUND + 网卡控制器 + Rtl8211 PHY 
+ GPIO + UART + ...

三 一周时间,将linux系统移植到开发板。

3.1 什么是移植?
根据实际需求,将uboot 或者 linux内核做剪裁,
对代码做少量的修改,并完成实际的业务处理,
放在开发板上运行。

3.2 检查上位机环境
检查配置:
        CPU   4
        内存    4G
        硬盘    100G
        
虚拟机环境 VMworkstation + Ubuntu18.04虚拟机

安装必要的软件包
注意: 如果使用liuyang虚拟机的,不需要安装
使用的是zack,不需要安装
1.sh env.sh  
注意,使用自己的虚拟机,需要执行脚本进行安装
安装软件包的命令:
sudo apt update
sudo apt install xxxx

如何连接网络:
1.网络设置为DHCP方式
2.虚拟机---》 设置 ---》 网络适配器 --》桥接模式
3.编辑 ---》 虚拟网络编辑器 
--》 选择桥接到物理机对应的网卡上
4.验证 ping www.baidu.com 
如果通了,sudo apt install vim 
sudo apt install nfs-kernel-server
sudo apt install tftpd-hpa
5.还是ping不通,重启,再来一遍
6.还是ping不通,
执行sudo /etc/init.d/networking restart

3.3 操作Linux的分辨率
    3.3.1 安装fbset
    sudo apt install fbset
    3.3.2 如何查看Linux当前的分辨率
    sudo fbset
    3.3.3 修改配置文件
    vi /etc/default/grub
    GRUB_CMDLINE_LINUX="vga=0x318"
    3.3.4 更新服务
    sudo update-grub
    3.3.5 重启系统
    reboot
    3.3.6 查看分辨率
    sudo fbset
    
3.4 S5P6818的开发结构

the code linux
Unix     C
汇编 

APP         微信  QQ  ...
GUI         QT(C++) Andorid(Java) GTK(C) GUI..
--------------------------------------------
本地库        libc.so.6  libstdc++
文件系统  可以将硬盘中的数据识别成各种各样的文件
fat16 fat32 NTFS .....
Linux内核 Andorid Windows linus
grub 负责初始化 console 
将所有的修改保存到flash 
作业:eprom eeprom nand-flash nor-flash 
bootloader 启动加载器  runtime
相当于一个非常大的裸板程序
--------------------------------------------

3.5 系统软件的启动流程
bootloader(uboot) ---> 加载inux内核 (uImage)
----> 挂载根文件系统 rootfs


3.6 Uboot烧写实验:
对于Linux来说,硬盘的分区问题
TF的存储空间 【ubootpak.bin uImage | 文件系统】
    3.6.1 获取ubootpak.bin 
    makdir porting
    cd porting
    cp easthome_porting/fastboot/uboorpak.bin ./

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值