已备份的只读页面,所有修改将不会被保存!!!

2015年操作系统课课程设计:Intel Edison上的ucore+移植


本页面只有参与课程设计的同学和老师可以修改,任何人可读。请大家注意信息使用范围。

实验目标描述:移植ucore+到Intel Edison上。可能的工作内容如下。

  1. 移植ucore+到Intel Edison上,补充测试用例,确认已有功能的正确性;形成修改和测试报告;
  2. 支持edison的双核;
  3. 在edison板子上,验证uclibc、可加载内核模块可工作;
  4. 支持edison的wifi和蓝牙模块;

实验参与者信息

田博

2012011346

dxmtb@163.com

日志

最终成果

20150517-几个与无线网卡驱动相关的参考工作

20150429 讨论纪要

2015/04/28 陈渝老师电邮交流

各位好: 今天上午与岳士超交流,考虑到e1000 driver比较大,现在一开始分析和设计DDE跨度会比较大。 所以,对于岳士超,于佳,田博,辛云星,可以考虑从Linux Device Driver中讲述的虚拟driver入手分析比较容易和坡度小一些。

为此我在 ssh -X driver@166.111.132.191 -p 10220 做了如下尝试,能够编译运行多种linux device driver (基本上是虚的)

希望三位在我做实验的基础上,进行各自的分析和设计工作:编译运行linux device driver, 用header-gen分析相关driver所需的内核服务,请进一步关注 haidu/src/libs/compat下的两个freebsd network和free_wlan目录,这是haidu的设备驱动环境。为下一步在haiku上运行这些相对简单的设备驱动打下基础。

岳士超:字符设备(scull)的内核服务分析(粒度细到函数级,以及对应的关键数据结构),形成分析文档,参考haiku,写出如果支持scull,需要用到哪些haiku的kernel service函数 于佳 :块设备(sbull)的内核服务分析(粒度细到函数级,以及对应的关键数据结构),形成分析文档,参考haiku,写出如果支持sbull,需要用到哪些haiku的kernel service函数 田博 :网络设备(snull)的内核服务分析(粒度细到函数级,以及对应的关键数据结构),形成分析文档,参考haiku,写出如果支持snull,需要用到哪些haiku的kernel service函数 辛云星: TTY设备(tty)和USB设备(usb)的内核服务分析(粒度细到函数级,以及对应的关键数据结构),形成分析文档,参考haiku,写出如果支持tty,usb设备,需要用到哪些haiku的kernel service函数

形成的文档请参考我上一个有文档例子的附件,在它基础上完成各位的分析撰写。鼓励大家交流,希望大家搭建自己的实验环境(因为kernel module的运行可能很容易导致整个系统崩溃)。 ssh -X driver@166.111.132.191 -p 10220 主要用于测试和demo,以及运行header-gen。 如果有header-gen的使用问题,请及时联系王欢,请他帮忙解决。如果王欢解决不了,请茅俊杰帮忙解决。

给大家一周时间,希望大家能够完成对linux kernel service 和haiku kernel service的分析。

有问题,请及时反馈。

下面是我的部分实验情况。 -------------- 下载相应的ldd source code

在ubuntu 14.10 (kernel 3.16)上安装linux kernel source和相应的编译工具

driver@ubuntu-tb:~/chenyu/ldd3-examples-3.x/misc-modules$ make make -C /lib/modules/3.16.0-30-generic/build M=/home/driver/chenyu/ldd3-examples-3.x/misc-modules modules make[1]: Entering directory `/usr/src/linux-headers-3.16.0-30-generic'

....

make[1]: Leaving directory `/usr/src/linux-headers-3.16.0-30-generic'

[488146.011990] systemd-udevd[27694]: starting version 204 [488991.433086] hello: module verification failed: signature and/or required key missing - tainting kernel [488991.437264] Hello, world

$ sudo rmmod hello $ dmesg ... [489028.022139] Goodbye, cruel world 可以看到hello.ko已经被卸载了

20150423 讨论纪要

20150420 讨论纪要

新的进展

问题

计划

阻碍

第七周

讨论后得到周一交流前的工作:

20150417 OS资源信息

20150416 讨论纪要

目前的进度

一些阻碍的问题

  1. 串口驱动目前并不完全,缺乏初始化、状态控制等部分,可以从Poky Linux的HSU、MFD等部分参考移植
  2. 如何寻找硬件使用的驱动?可以在诸如/sys/class/tty/ttyMFD2的地方查看相关信息
  3. 目前访问edison的闪存需要mmcblk的驱动和对GPT的读取。ucore-plus代码中有mmcblk的部分,但是对于多分区的支持为0(MBR也没有支持),所以目前先实现基于ramdisk的文件系统再尝试对真实文件系统的访问。

20150416 headergen资源信息

20150416 相关edison资源信息

edison资源汇总:

20150201-Intel赠送2块Edison的板子

Intel送了两块Edison的板子,向勇和陈渝各一块。Intel希望能看到一些基于Edison的项目结果。于是,向勇形成下面的文档,目标是用4个月的时间,把ucore+移植到edison上。

ucore4edison (last edited 2018-05-04 22:50:19 by xyong)

MoinMoin Appliance - Powered by TurnKey Linux