OpenWrt系統定製之base files研究

2021-06-23 08:18:35 字數 3788 閱讀 2268

base-files屬於openwrt的rootfs框架,位於package/base-files/files,裡面有些專案可以定製和修改

├── bin
│   ├── ipcalc.sh
│   └── login.sh
├── etc
│   ├── banner
│   ├── config
│   │   ├── network
│   │   └── system
│   ├── device_info
│   ├── diag.sh
│   ├── group
│   ├── hosts
│   ├── hotplug.d
│   │   └── net
│   │       └── 00-sysctl
│   ├── init.d
│   │   ├── boot
│   │   ├── done
│   │   ├── led
│   │   ├── sysctl
│   │   ├── sysfixtime
│   │   ├── system
│   │   └── umount
│   ├── inittab
│   ├── openwrt_release
│   ├── openwrt_version
│   ├── passwd
│   ├── preinit
│   ├── profile
│   ├── protocols
│   ├── rc.button
│   │   ├── failsafe
│   │   ├── power
│   │   ├── reset
│   │   └── rfkill
│   ├── rc.common
│   ├── rc.local
│   ├── services
│   ├── shadow
│   ├── shells
│   ├── sysctl.conf
│   ├── sysupgrade.conf
│   └── uci-defaults
│       ├── 10_migrate-shadow
│       ├── 11_migrate-sysctl
│       └── 12_network-generate-ula
├── lib
│   ├── functions
│   │   ├── leds.sh
│   │   ├── network.sh
│   │   ├── preinit.sh
│   │   ├── service.sh
│   │   ├── system.sh
│   │   └── uci-defaults.sh
│   ├── functions.sh
│   ├── preinit
│   │   ├── 02_default_set_state
│   │   ├── 10_indicate_failsafe
│   │   ├── 10_indicate_preinit
│   │   ├── 30_failsafe_wait
│   │   ├── 40_run_failsafe_hook
│   │   ├── 50_indicate_regular_preinit
│   │   ├── 70_initramfs_test
│   │   ├── 80_mount_root
│   │   ├── 99_10_failsafe_login
│   │   └── 99_10_run_init
│   └── upgrade
│       ├── common.sh
│       └── keep.d
│           └── base-files-essential
├── rom
│   └── note
└── sbin
├── firstboot
├── hotplug-call
├── led.sh
├── sysupgrade
└── wifi

1.etc/config/system修改hostname,timezoneoption

zonename 'asia/chongqing'

option timezone 'cst-8'

option hostname 'manfeel'

2.etc/banner可修改為自己的啟動定製資訊

3.lib/functions/uci-defaults修改預設的uci配置,如lan的ip位址等

local ifname=$1
uci batch <'inte***ce'
set network.lan.ifname='$ifname'
set network.lan.force_link=1
set network.lan.type='bridge'
set network.lan.proto='static'
set network.lan.ipaddr='192.168.8.1'
set network.lan.netmask='255.255.255.0'
set network.lan.ip6assign='60'
eof
}

4.etc/shadow修改root使用者的初始密碼

5.etc/profile修改root的相關配置資訊

export path=/usr/bin:/usr/sbin:/bin:/sbin
export home=$(grep -e "^$:" /etc/passwd | cut -d ":" -f 6)
export home=$
export ps1='\u@\h:\w\$ '
[ -x /bin/more ] || alias more=less
[ -x /usr/bin/vim ] && alias vi=vim || alias vim=vi
[ -z "$ksh_version" -o \! -s /etc/mkshrc ] || . /etc/mkshrc
[ -x /usr/bin/arp ] || arp()
[ -x /usr/bin/ldd ] || ldd()

6.etc/sysupgrade.conf修改公升級韌體時需要保留的檔案列表

## be preserved during an upgrade.
# /etc/example.conf
# /etc/openvpn/

OpenWrt 系統日誌之logread

剛開始接觸openwrt的時候,根本不知道如何除錯各個程序,我之前從事ip camera開發可能也侷限了我的知識面,認為系統就改是那個樣子。其實不然,就像linux發行版那樣,他們都有各自都管理系統,同乙個的訊息通知系統,dbus和ubus這些。系統除錯也是一樣dmesg,現在還接觸到了logrea...

openwrt之新增OpenWrt軟體包概述

新增軟體包 makefile引入檔案 openwrt 使用三個 makefile 的子檔案,分別為 include topdir rules.mk include include dir kernel.mk include include dir package.mk 由這些 makefile 子檔...

OpenWRT系統編譯

openwrt系統編譯完成之後在bin ramips目錄下存放系統映象,如下圖所示,其中openwrt ramips mt7688 root.squashfs檔案是根檔案系統 squashfs 是一套基於linux核心使用的壓縮唯讀檔案系統。該檔案系統能夠壓縮系統內的文件,inode 以及目錄,檔案...