分类目录归档:编译固件

openwrt lede v17.01编译miniupnp时遇到的问题

禁用了ipv6,在编译miniupnp时遇到如下报错: Collected er … 继续阅读

发表在 编译固件 | 标签为 , | 留下评论

给openwrt18.06增加石像鬼QOS支持

不知道大家用过石像鬼(Gargoyle)固件没有,Qos那真是牛,因为在迅雷满速 … 继续阅读

发表在 编译固件 | 标签为 , , , | 留下评论

编译lede某个版本报错的问题

Collecting package info: done Collecting … 继续阅读

发表在 编译固件 | 留下评论

WARNING: ‘aclocal-1.14’ is missing on your system

在某个编译任务中,程序突然报错退出:WARNING: ‘acloca … 继续阅读

发表在 编译固件 | 标签为 | 留下评论

MT7621 CPU运行vsftpd报错500 OOPS: munmap的解决办法

在Newifi D1上面编译vsftpd成功,运行的时候报错:500 OOPS: … 继续阅读

发表在 编译固件 | 标签为 , , , | 一条评论

lede编辑报错的解决error: recursive dependency detected!

lede编译报错的问题。 Collecting package info: do … 继续阅读

发表在 编译固件 | 标签为 , | 留下评论

openwrt x86 加入x86的多核心以及大内存支持

make kernel_menuconfig

开启x86的多核心以及大内存支持,我的机器是INTEL D525

Processor type and features  —>
    [*] Symmetric multi-processing support
    Processor family (Core 2/newer Xeon)  —>#自行选择处理器平台
    [*] Supported processor vendors  —>#自行选择处理器平台
    (2) Maximum number of CPUs #自行编辑
    [*] SMT (Hyperthreading) scheduler support#超线程支持
    [*] Multi-core scheduler support 

    High Memory Support (4GB)  —>

#############################################

           [*] Symmetric multi-processing support                                 
          -*- Processor feature human-readable names                             
          [ ] Support for big SMP systems with more than 8 CPUs                  
          [ ] Support for extended (non-PC) x86 platforms                        
          < > Intel SoC IOSF Sideband support for SoC platforms                  
          < > Eurobraille/Iris poweroff module                                   
          [*] Single-depth WCHAN output                                          
          [ ] Linux guest support  —-                                          
          [ ] Memtest                                                            
              Processor family (Intel Atom)  —>                                
          [*] Generic x86 support                                                
          [*] Supported processor vendors  —>                                  
          [*] HPET Timer Support                                                 
          [ ] Enable DMI scanning                                                
          (4) Maximum number of CPUs                                             
          [*] SMT (Hyperthreading) scheduler support                             
          [*] Multi-core scheduler support                                       
              Preemption Model (No Forced Preemption (Server))  —>             
          [*] Reroute for broken boot IRQs                                       
          [*] Machine Check / overheating reporting                              
          [*]   Intel MCE features                                               
          [*]   AMD MCE features                                                 
          [ ]   Support for old Pentium 5 / WinChip machine checks               
          < > Machine check injector support                                     
          [*] Enable VM86 support                                                
          [ ] Enable support for 16-bit segments                                 
          < > Toshiba Laptop support                                             
          < > Dell laptop support                                                
          [ ] Enable X86 board specific fixups for reboot                        
          < > CPU microcode loading support                                      
          <*> /dev/cpu/*/msr – Model-specific register support                   
          <*> /dev/cpu/*/cpuid – CPU information support                         
              High Memory Support (4GB)  —>                                    
              Memory split (3G/1G user/kernel split)  —>                       
              Memory model (Flat Memory)  —>                                   
          [ ] Allow for memory compaction                                        
          [*] Enable bounce buffers                                              
          [ ] Enable KSM for page merging                                        
          (4096) Low address space to protect from user allocation               
          [ ] Enable recovery from hardware memory errors                        
          [ ] Transparent Hugepage Support                                       
          [ ] Enable cleancache driver to cache clean pages if tmem is present   
          [ ] Enable frontswap to cache swap pages if tmem is present            
          [ ] Contiguous Memory Allocator                                        
          < > Common API for compressed memory storage                           
          < > Low density storage for compressed pages                           
          < > Memory allocator for compressed pages                              
          [ ] Allocate 3rd-level pagetables from highmem                         
          [ ] Check for low memory corruption  

继续阅读

发表在 编译固件 | 留下评论

git用法for bitbucket

修改了源码后,首先git add . 

然后 git commit -m ‘v0.3’ 

这样就把修改后的文件设置好版本并加入待上传

git push -u origin master  上传即可

继续阅读

发表在 编译固件 | 留下评论

关于CFE Uboot对内存的自动识别理解

自动识别的bootloader很简单,先初始化总线,然后尝试往一个内存地址写1个字节的数据,再读回来比较是否写成功。一般而言,内存大小总是用2的指数来标称,例如写4M地址成功,则加倍,写8M地址,如果再成功,就写16M地址….以此类推,1G的内存也不需要很多次,得到实际的内存大小之后再初始化内存相关的内容,这些代码在新版本的u-boot里面就有,熟悉C语言的话可以去看看,cfe需要输入命令才能确定内存的大小,那是很古老的代码的做法,也可能是为了保护某些东西不让人改变,防止山寨,但不符合开源精神….

焊了64M的内存往往要加一个电阻,实际上是增加一条地址线,原来电炉设计的时候是32M的内存,兼容64M,但是厂商为了节省成本,只焊了32M的,多余的地址线上也断开了。这种情况,没有22欧姆的电阻,直接短接也是可以的。

还有cfe的代码也是可以下载到的,去官网可以找到,有兴趣可以更改代码,增加自动识别内存,代码很简单,初始化总线以后尝试写内存在读回,比较结果,一个for循环就可以完成,前提是要找到初始化内存的位置

继续阅读

发表在 编译固件 | 留下评论

Linux SDK之uClinux、Broadcom、Atheros、Realtek、Ralink、Marvell、Intel

接触的Linux SDK越来越多,整理整理,分享分享,不求系统全面,对您有帮助便足矣
文中大部分是与AP/Router SoC解决方案(单芯片WIFI 路由器解决方案)相关的Linux SDK

SDK(Software Development Kit)软件开发工具包
一般是一些被软件工程师用于为特定的软件包、软件框架、硬件平台、操作系统等建立应用软件的开发工具的集合

想想,最早接触到的SDK是在Cortex-M3项目开发中,也叫BSP(板级支持包),
这种SDK里大部分是芯片资源(硬件平台)的驱动和测试程序,少有软件框架和操作系统的源码

uClinux
在用的ATMEL9200和9G25的SDK包就是uClinux的风格,Ralink的Ralink_Ap_SoC_SDK也是uClinux的风格,
不用多说,直接上地址:http://www.uclinux.org/

Ralink平台
MTK/Ralink,在用他们的AP/Router SoC方案,比如RT3050/3052,对应SDK的版本是Ralink_Ap_SoC_SDK_3301.tar.bz2,应该是从uClinux基础上修改而来,
http://www.tw-mcse.net/mcic/Ralink_ApSoC_SDK_3301.tar.bz2
华硕的RT-N56U/RT-N65U有在google code上公开源码,地址:https://code.google.com/p/rt-n56u/

Atheros平台
Qualcomm/Atheros,也在用他们的AP/Router SoC方案,比如AR9331/9344,说起Atheros不得不提TP-Link,TP-Link大量使用Atheros的方案,其中TL-WDR4300/4310就是用的AR9344,
TP-Link根据GPL协议开放了一些源码,地址:http://www.tp-link.com/en/support/gpl/
比如下载TL-WDR4300的源码包(GPL_2.6.31),是在Atheros官方提供的SDK包(LSDK-9.2.0和LSDK-WLAN-9.2.0)基础上进行了修改,但是没有开放LSDK-WLAN-9.2.0,不过没关系,LSDK-WLAN-9.2.0在CSDN上可以下载,地址:http://download.csdn.net/detail/nolycjyf/3722308
对于Atheros的WLAN驱动,另插一句,还记得madwifi、ath9k吗,没错,是同族的

Realtek平台
因为芯片封装上都有一只大螃蟹,所以大家喜欢叫他螃蟹,
在sourceforge上找到了它的一个SDK(RTL819x-SDK-v3.2.3),也是AP/Router SoC方案,感兴趣的可以下来看看,
地址:http://sourceforge.net/projects/rtl819x/?source=directory

Broadcom平台
想换成这个平台,这个平台的SDK资料相对少一点,但还是找到了一点踪迹,
华硕的RT-N16有在google code上开放源码,RT-N16用的就是Broadcom的BCM4716
地址:https://code.google.com/p/rt-n16/

Marvell平台
遗憾是没有找到任何有关Marvell平台的SDK资料

Intel平台
当然不能忘了Intel平台

找了这么多SDK源码包拿来干什么?
首先学习软件框架,Makefile会告诉你真相
然后就是Linux驱动,尤其WLAN/WIFI驱动
当然咀嚼源码的收获不用我多说了

继续阅读

发表在 编译固件 | 留下评论