硬件支持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)
telnet
ssh
- 您可以在启动时通过以太网或串行端口登录到引导加载程序控制台
- 您可以通过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有很多“乐趣”。
收集有关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/
- 硬件支持openwrt系统第一步
- OpenWRT 第一步
- 使openwrt系统支持netlink套接字
- 如何知道自己的硬件是否支持64位系统?
- Linux下查看系统是否支持硬件辅助虚拟化
- openwrt 编译支持sqlite3
- openwrt上nodejs支持
- OpenWrt支持usb tethering
- openwrt 支持bcm57780
- openwrt 支持fbterm
- OpenWRT中英文支持
- 研究系统的第一步
- linux系统分区第一步
- 硬件系统
- 让openwrt支持usb声卡
- Openwrt 16M Flash支持
- Openwrt中添加ndpi支持
- 基于OpenWrt添加ubus支持
- 写规约程序过程中的思考
- Redis集群方案及实现
- Temporary Post Used For Theme Detection (0ecb8fae-2539-45f9-a310-9e6b31cb889d
- ubuntu 修改root密码
- java文件写入
- 硬件支持openwrt系统第一步
- N皇后问题(DFS)
- SpringMVC错误之No mapping found for HTTP request with [url]
- 【绘图算法】Bresenham算法(草稿)
- Swift3.0基本语法02
- HTML阴影旋转移动
- echarts绘制地图随录
- get 与 post的区别?application json 与form表单的区别?
- 内网和外网的区别 连接不同设备上网