当前位置: 首页 > 工具软件 > base-x > 使用案例 >

OpenWrt系统定制之base-files研究

谷星文
2023-12-01

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地址等

ucidef_set_interface_lan() {
    local ifname=$1
 
    uci batch <<EOF
set network.lan='interface'
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 "^${USER:-root}:" /etc/passwd | cut -d ":" -f 6)
export HOME=${HOME:-/root}
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() { cat /proc/net/arp; }
[ -x /usr/bin/ldd ] || ldd() { LD_TRACE_LOADED_OBJECTS=1 $*; }


6.etc/sysupgrade.conf修改升级固件时需要保留的文件列表

## This file contains files and directories that should
## be preserved during an upgrade.
 
# /etc/example.conf
# /etc/openvpn/
 类似资料: