Linux启蒙之系统裁剪(一)

Linux启蒙之系统裁剪(一)

近日里,项目压力有所缓解,闲暇之余思索着总结一下自己近几年来在Linux上的一些学习心得,期望能有所提升。计划实现一个小的课题:完成自主操作系统shell访问的常规操作。

这个课题对Linux的融会贯通有所帮助,也提供一套系统快速移植的方法,很适合初学者。做这个课题需要掌握内存管理、进程调度、文件系统的基础知识,大概分为几个步骤:

  • 一.系统裁剪
  • 二.内存管理设计
  • 三.进程调度设计
  • 四.文件系统设计
  • 五.串口驱动实现
  • 六.中断设计
  • 七.常用命令移植和设计
  • 八.系统完善和调优

一.系统裁剪

为了裁剪得更痛快一些,这次课题选在Android智能手机上做。裁剪工作分为:安卓代码裁剪、设备驱动裁剪、平台无用代码裁剪。裁剪后得到代码最小集合,这个代码集合是维持Linux基础功能的核心所在。

手机平台选用某某arm平台,裁剪前的代码框架为:
yuziming@ubuntu:~/Linux_Demo$ ls
abi auto_dts_gen.log bootable build_hi6250.log cts development docs ets frameworks kernel libnativehelper ndk packages platform_testing sdk tools
art bionic build build_kirin.sh dalvik device Document external hardware libcore Makefile out pdk prebuilts system vendor

1.安卓代码裁剪

这部分裁剪工作就是无脑删删删,剖去Android的框架,获取底层Linux的精华。

删除目录为:

目录说明
/packages安卓应用宝
/abi应用二进制接口
/art安卓5.0以后的虚拟机
/dalvik安卓标准Java虚拟机
/platform_testing平台测试
/cts安卓兼容性测试套件
/etsFramework分模块测试
/ndk应用嵌套c/c++支撑
/pdk本地开发套件
/sdk软件开发包
/docs参考文档目录
/tools工具文件
/Document参考文档

保留目录为:

目录说明
kernelLinux内核代码
libnativehelper动态库,实现JNI库的基础
frameworks架构层
external安卓使用的一些开源模组文件
hardware部分厂家开源的硬件适配HAL代码
system底层文件系统库、应用及组件
libcorejava核心库
build存放系统编译规则及generic等基础开发包配置
bionic系统C库文件
bootloader启动引导相关代码
prebuilts预编译的一些资源
device设备相关代码
vendor厂商定制代码

以上代码虽然保留,但并非全部有用,大部分是build系统建立了依赖,删除后会报编译错误,所以暂时保留。
.

2.设备驱动裁剪

(未完待续)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值