Akagi201
6/19/2014 - 6:36 AM

openwrt-buildroot.md

  1. 修改可用root用户编译, include/prereq-build.mk文件中滴5行
define Require/non-root
#   [ "$$(shell whoami)" != "root" ]
endef
  1. 文件系统 这两种不同格式的固件区别在于,squashfs安装后,会占用一定的空间来存放系统的一些必要文件,这些文件都只是可读的,这些文件的作用是帮助恢复系统,当OpenWrt崩溃时,可以基于这些文件,使用firstboot脚本重建初始系统,而jffs2则不会存储这样的文件,好处在于节省了空间。一般,我们都使用squashfs格式的固件,方便恢复系统到初始状态

  2. make menuconfig

---------------------------------------------------------------------
     Target System (Atheros AR7xxx/AR9xxx)  --->                     
        无线网卡型号
     Subtarget (Generic)  --->                                       
        选择要生成的目标类型,一般选用Generic就可以。
     Target Profile (TP-LINK TL-WDR3500/3600/4300/4310/MW4350R)  --->
        生成目标的设备框架
     Target Images  --->                                             
        生成目标镜像格式,选以下两个
[*] tar.gz                          
     *** Root filesystem images ***  
 [ ] ext4                            
 [ ] jffs2                           
 [*] squashfs                        
     Global build settings  --->                                     
        目前选的是所有配置
 [ ] Advanced configuration options (for developers)  --->           
    开发选项,没看过
 [*] Build the OpenWrt Image Builder                                 
    需要生成目标镜像
 [*] Build the OpenWrt SDK                                           
    需要生成sdk包
 [ ] Build the OpenWrt based Toolchain                               
    建立交叉编译工具,不需要
 [ ] Image configuration  --->                                       
    不需要做什么的
    
     Package features  --->                                          
        就是一个选项
     Base system  --->                                               
        系统的基本配置,这个和原来的一些配置相同功能。
     Administration  --->                                            
        不知道是做什么 的
     Boot Loaders  --->                                              
        不需要配置
     Development  --->                                               
        开发工具配置,不需要
     Emulators  --->                                                 
        无配置
     Firmware  --->                                                  
        无配置
     Kernel modules  --->                                            
     Languages  --->                                                 
        支持的开发语言,不需要
     Libraries  --->                                                 
        库文件,不需要。一般都有自己的
     LuCI  --->                                                      
        Web服务
     Mail  --->                                                      
        不需要
     Multimedia  --->                                                
        多媒体,不需要
     Network  --->                                                   
        网络工具
     Sound  --->                                                     
        声音,不需要
     Utilities  --->                                                 
        实用工具
     Video Streaming  --->                                           
Xorg  --->  

  1. build overlay
  1. Makefile wrapper
  2. 编译系统要能获取指定版本的openwrt, pinversions: fetch tool
  3. 编译系统能对openwrt进行打补丁(还没有融入upstream): patchset
  4. 自己的package feed, 维护自己的软件: package feed