硬件支持openwrt系统第一步

来源:互联网 发布:2020年庚子大难知乎 编辑:程序博客网 时间:2024/05/20 15:10

来自:https://wiki.openwrt.org/doc/devel/hw.hacking.first.steps

你买了一个新的路由器,这很好。你可以连接一个硬盘,然后它共享它的内容通过samba。甚至可以做洪流 哇。但是,然后您偶然发现OpenWrt,它可以像这样安装2000个软件包。不要介意可以编译的所有其他FOSS软件。你开始哭了并决定:你在路由器上打开 OpenWrt。如果你的路由器已经被支持,那么好的,玩爆它会有趣的。但如果您的路由器尚未支持?那么这样做:

获得访问

  • 您可以在启动后通过以太网/ / 登录到某些unix shell 。示例:hacking.dockstar(dockstar)telnetssh
  • 您可以在启动时通过以太网或串行端口登录到引导加载程序控制台
  • 您可以通过JTAG软件的JTAG端口(如HairyDairyMaid)访问硬件,无需任何软件,无任何软件存在

收集有关硬件的信息

  • 根据正在使用的引导程序,您可以利用不同的方式commands来收集硬件信息。请参阅该特定引导程序的手册以完成此操作。一旦你有了这些信息,你可以保留自己或在线发布。根据您的速度,您可能会看到有关这方面的信息,或者您是第一个。这个简单的步骤是必要的,因为制造商通常不会准确地记录什么硬件已经安装。现在有了这些信息,您将使用google或您选择的搜索引擎来查看可用的GNU / Linux驱动程序,以及在其内置的内核版本中。例如:
  • http://en.wikipedia.org/wiki/Comparison_of_open_source_wireless_drivers#Linux您可以看到,由于哪个或直到哪个内核版本驱动程序无线无线电电路已被集成。
  • 但是当然还有一个系统,在这种情况下,以SoC的形式,然后是无线驱动程序。任何需要司机。例如,VLYNQ需要由内核支持。你完成了。如果你真的想继续下去,你可以在这里找到帮助:
  • http://www.tldp.org/LDP/tlk/tlk.html Linux内核
  • http://www.tldp.org/LDP/lkmpg/index.html Linux内核模块编程指南
  • http://lwn.net/Articles/driver-porting/你也可以检查这个线程
  • http://linux.junsun.net/porting-howto/porting-howto.html Jun Sun的Linux MIPS移植指南
  • http://www.win.tue.nl/~aeb/linux/lk/lk.html有关历史和技术见解的概述

哦,你也应该学习一种编程语言,比如C.

收集有关软件的信息

  • bootloader这可能是你要注意的第一个软件。但系统的其余部分也可能是有意义的:
  • 很可能它是一种过时的GNU / Linux内核与FOSS驱动程序或二进制驱动程序或两者兼而有之。那么你很幸运,因为Linux内核的源代码是根据GPLv2授权的,这就限制了卖家做出修改后的源代码,如果他真的打扰了修改任何东西,他可能做到了必须向公众开放)免费。

现在也许这些组件的驱动程序已经被集成到主线内核中,这意味着更新的内核应该在这个设备上开箱即用。如果没有,您可以继续使用制造商。所以将这个内核与其他FOSS软件相结合,你想运行它;-)

  • 如果制造商没有使用Linux内核,而是使用某种* BSD,那么由于* BSD源的许可证不是GPL,所以您是他妈的。这尤其意味着,篡夺者不必使源代码可用。他可以,但他不必。哦,你可以和* BSD有很多“乐趣”。:-P

收集有关Flash布局的信息

整体Flash布局

整个Flash布局看起来像例子。简单的概述了不同的MTD分区。他们的意思是什么

  • 一个更好的例子是flash.layout。
  • 其他你在这里找到的:http : //wiki.ip-phone-forum.de/software : ds- mod: development : flash#flash_partitionierung

精确的Flash布局

这更棘手,在这里你想知道闪存上写的内容: flash.layout

数据可以压缩或压缩,甚至被加密。此外,数据块之间将会有一些数字,如CRC或其他数据。

软件开发

现在你想在你的设备上运行你自己的软件。也许硬件已经在一些项目 或主线内核中得到支持。如果没有,那么考虑添加一个新的设备或一个完整的新平台来开发软件。请不要打扰开发人员或潜在开发人员为此编写代码。提供您收集的信息,如果有趣的话,有人会做;-)现在写代码,开发人员只需要一些面包和水,一个简单的文本编辑器,但是要测试这个代码,他将需要硬件本身。你可以捐赠或者只是借给硬件。

添加设备

add.new.device

添加平台

add.new.platform

软件开发

主页不需要cookie,没有javascript,没有任何启用。它只是工作。;-)它可以在Creative Commons BY-SA许可证下获得:

  • http://free-electrons.com/docs/block-drivers/
  • http://free-electrons.com/docs/buildroot/
  • http://free-electrons.com/docs/toolchains/
  • http://free-electrons.com/docs/network-drivers/

原创粉丝点击