zoukankan      html  css  js  c++  java
  • menuconfig选项

    打开一个典型的openwrt中package目录下都能发现两个相同点:

    ? package/<name> /Makefile ? package/<name> /patches ? package/<name> /files

    四个关键性的目录: ? tools ? toolchain ? package ? target tools和toolchain通常是用作固化内核,编译和c库的工具,编译的结果会产生三个新的目录,build_dir/host ,这是一个临时用来建立target工具; build/toolchain-<arch>*这是用来建立特殊结构的toolchain; staging_dir/toolchain-<arch>*toolchain安装的目录;

    target images

    global build setting

    advanced configuration option(for developer)

    build the openwrt image builder

    build the openwrt sdk

    package the openwrt-base toolchain

    image configuration

    package features

    base system: ca-certificates,dash,ead,hsflowd,libatomic, libpthread,librt,libstdcpp,libthread-db,mksh,om-watchdog,qos-scripts resolveip,rpcd,sflowovsd,sqm-scripts,swconfig,udev,wireless-tools,zram-swap

    administration: pmacct,zabbix,debootstrap,facter,gkrellmd,htop,monit,monit-nossl, muninite,nagios,nrpe,osirisd, ostiary,send-nsca,sudo,syslog-ng,syslog-ng3

    development: ar,binutils,cppunit,diffutils,gcc,gdb,gdbserver,lttng-tools,make,objdump,patch,python-sip, sysprof,tig,trace-cmd,trace-cmd-extra,valgrind

    kernel modules

    语言配置:

    LuCI—>Collections—– <*> luci 添加Luci LuCI—>Translations—- <*> luci-i18n-chinese   添加中文

    Kernel modules —> Native Language Support —> <*> kmod-nls-utf8

    Kernel modules —> Native Language Support —> <*> kmod-nls-iso8859-1 #不选择时U盘挂载不上。

    Kernel modules —> Native Language Support —> <*>kmod-nls-iso8859-1

    添加文件系统支持

    Kernel modules —> Filesystems —> <*> kmod-fs-ext4 (移动硬盘EXT4格式选择)

    Kernel modules —> Filesystems —> <*> kmod-fs-vfat(FAT16 / FAT32 格式 选择)

    Kernel modules —> Filesystems —> <*> kmod-fs-ntfs (NTFS 格式 选择)

    添加USB挂载 Base system —> <*>block-mount

    添加自动挂载工具 Utilities —> Filesystem —> <*> badblocks

    添加复位键支持 Utilities —> <*> restorefactory

    添加一键开关无线 Utilities —> <*> wifitoggle

    添加USB相关支持

    Kernel modules —> USB Support —> <*> kmod-usb-core.  ##默认已经选了

    Kernel modules —> USB Support —> <*> kmod-usb-ohci.  ##默认已选old usb1.0

    Kernel modules —> USB Support —> <*> kmod-usb-uhci.  ## usb1.1

    Kernel modules —> USB Support —> <*> kmod-usb-storage.

    Kernel modules —> USB Support —> <*> kmod-usb-storage-extras.添加USB扩展支持

    Kernel modules —> USB Support —> <*> kmod-usb

    2.  ##默认已经选了 usb2.0 在network中选择openflow 和tc 在

    Kernel Modules->Network Support中选择kmod-tun 保存退出

    3G拨号所要安装:

    ppp

    chat   #????

    comgt #???

    libpthread

    librt

    libusb-1.0

    usb-modeswitch

    zlib

    language: erlang,java,js,lua,php,perl,python,ruby,tcl

    libraries

    luci

    mail

    multimedia

    network

    接着make kernel_menuconfig

    # ionice -c 3 nice -n 20 make -j 2 V=99 CONFIG_DEBUG_SECTION_MISMATCH=y 2>&1   |tee build.log |egrep -i '(warn|error)'

    https://github.com/openwrt-mirror/openwrt

    各目录: tools - 编译时需要一些工具, tools里包含了获取和编译这些工具的命令。里面是一些Makefile,有的可能还有patch。每个Makefile里都有一句 $(eval $(call HostBuild)),表示编译这个工具是为了在主机上使用的。 toolchain - 包含一些命令去获取kernel headers, C library, bin-utils, compiler, debugger target - 各平台在这个目录里定义了firmware和kernel的编译过程。 package - 包含针对各个软件包的Makefile。openwrt定义了一套Makefile模板,各软件参照这个模板定义了自己的信息,如软件包的版本、下载地址、编译方式、安装地址等。 include - openwrt的Makefile都存放在这里。 scripts - 一些perl脚本,用于软件包管理。

    dl - 软件包下载后都放到这个目录里

    build_dir - 软件包都解压到build_dir/里,然后在此编译 staging_dir - 最终安装目录。

    tools, toolchain被安装到这里,rootfs也会放到这里。

    feeds - bin - 编译完成之后,firmware和各ipk会放到此目录下。

    njit-client

    只编译某个模块 make package/qos/clean  make package/qos/compile  make package/qos/install

     make V=99 | tee compile_v1.0.0.log 混合 tee 命令将编译信息放到compile_v1.0.0.log文件中方便查看。

    x86的编译要点  考虑到x86平台使用的特点,以及 OpenWrt 本身,可参考以下要点

    1. 编译所有文件系统支持,包括ext2/ext3/ext4,还有NTFS,甚至是LVM;

    2. 加入一个文本编辑器,例如vim或者nano,因为日常使用中需要用文本编辑器修改各种配置文件;

    3. 加入所有关于无线网卡的驱动,模块,各种支持程序,

    4. 一些其他常见应用--蓝牙、加密、PGP、SSL、SSH、VPN、USB支持、3G上网卡、

    5. 编译时要到网上下载相关源码,所以可以日后下载的包尽量不选择编译;

    6. 编译好的文件在当前目录的bin文件夹下,如果是brcm-2.4,则 ls bin/brcm-2.4/ 就可以看到很多熟悉的文件了。

    参考资料  如何给 Openwrt 提交补丁 https://dev.openwrt.org/wiki/SubmittingPatches

     Openwrt 源代码的下载方式 https://dev.openwrt.org/wiki/GetSource

    构造编译环境 http://wiki.openwrt.org/doc/howto/buildroot

    构造编译环境-老的文档 http://downloads.openwrt.org/docs/buildroot-documentation.html

    本文赖以生存的基础-官方wiki中的编译教程,我翻译了编译一文中的小部分。 http://wiki.openwrt.org/doc/howto/build

    下文有详细的编译方面说明 http://downloads.openwrt.org/kamikaze/docs/openwrt.html

  • 相关阅读:
    三种方法处理文字中的空格
    text——文本属性大全
    font——文字属性大全
    padding和margin——内边距和外边距
    background——背景属性
    C# 解析excel时,字段内有内容,却读取不到的解决方法
    jqprint 打印分页
    pre标签 首行会自动换行解决方案
    正则表达式 清除所有标签的属性
    针对安卓微信浏览器网页 置顶悬浮框浮动固定 的问题
  • 原文地址:https://www.cnblogs.com/timssd/p/4380888.html
Copyright © 2011-2022 走看看