project:app:rkipc:rkipc:Modify udhcpc for silent operation to suppress irrelevant information from being printed to the terminal

project:build.sh:Add support for multiple folders in post overlay
project:cfg:BoardConfig_IPC:Add support for rootfs post overlay
sysdrv:Makefile:Replace the script-based copying method with the post overlay approach

Signed-off-by: luckfox-eng29 <eng29@luckfox.com>
This commit is contained in:
luckfox-eng29
2024-11-02 18:41:51 +08:00
parent 7a66b04c61
commit 8fdf14595e
66 changed files with 3791 additions and 166 deletions
@@ -0,0 +1,4 @@
# UNCONFIGURED FSTAB FOR BASE SYSTEM
/dev/mmcblk0p7 / ext4 rw 0 0
/dev/mmcblk0p5 /oem ext4 defaults 0 0
/dev/mmcblk0p6 /userdata ext4 defaults 0 0
@@ -0,0 +1,11 @@
#!/bin/bash
/usr/bin/filesystem_resize.sh
/usr/bin/wifi_bt_init.sh
/usr/bin/luckfox_switch_rgb_resolution &
/etc/init.d/S50usbdevice start
luckfox-config load
if [ -n "$(hwclock | grep "invalid")" ]; then
date -s 2024-01-01
hwclock -w
fi
@@ -0,0 +1,116 @@
# Sample udhcpd configuration file (/etc/udhcpd.conf)
# The start and end of the IP lease block
start 192.168.0.20 #default: 192.168.0.20
end 192.168.0.254 #default: 192.168.0.254
# The interface that udhcpd will use
interface eth0 #default: eth0
# The maximim number of leases (includes addressesd reserved
# by OFFER's, DECLINE's, and ARP conficts
#max_leases 254 #default: 254
# If remaining is true (default), udhcpd will store the time
# remaining for each lease in the udhcpd leases file. This is
# for embedded systems that cannot keep time between reboots.
# If you set remaining to no, the absolute time that the lease
# expires at will be stored in the dhcpd.leases file.
#remaining yes #default: yes
# The time period at which udhcpd will write out a dhcpd.leases
# file. If this is 0, udhcpd will never automatically write a
# lease file. (specified in seconds)
#auto_time 7200 #default: 7200 (2 hours)
# The amount of time that an IP will be reserved (leased) for if a
# DHCP decline message is received (seconds).
#decline_time 3600 #default: 3600 (1 hour)
# The amount of time that an IP will be reserved (leased) for if an
# ARP conflct occurs. (seconds
#conflict_time 3600 #default: 3600 (1 hour)
# How long an offered address is reserved (leased) in seconds
#offer_time 60 #default: 60 (1 minute)
# If a lease to be given is below this value, the full lease time is
# instead used (seconds).
#min_lease 60 #defult: 60
# The location of the leases file
#lease_file /var/lib/misc/udhcpd.leases #defualt: /var/lib/misc/udhcpd.leases
# The location of the pid file
#pidfile /var/run/udhcpd.pid #default: /var/run/udhcpd.pid
# Everytime udhcpd writes a leases file, the below script will be called.
# Useful for writing the lease file to flash every few hours.
#notify_file #default: (no script)
#notify_file dumpleases # <--- usefull for debugging
# The following are bootp specific options, setable by udhcpd.
#siaddr 192.168.0.22 #default: 0.0.0.0
#sname zorak #default: (none)
#boot_file /var/nfs_root #default: (none)
# The remainer of options are DHCP options and can be specifed with the
# keyword 'opt' or 'option'. If an option can take multiple items, such
# as the dns option, they can be listed on the same line, or multiple
# lines. The only option with a default is 'lease'.
#Examles
opt dns 192.168.10.2 192.168.10.10
option subnet 255.255.255.0
opt router 192.168.10.2
opt wins 192.168.10.10
option dns 129.219.13.81 # appened to above DNS servers for a total of 3
option domain local
option lease 864000 # 10 days of seconds
# Currently supported options, for more info, see options.c
#subnet
#timezone
#router
#timesvr
#namesvr
#dns
#logsvr
#cookiesvr
#lprsvr
#bootsize
#domain
#swapsvr
#rootpath
#ipttl
#mtu
#broadcast
#wins
#lease
#ntpsrv
#tftp
#bootfile
@@ -0,0 +1,25 @@
#!/bin/bash
# Check if the filesystem has been resized previously
if [ ! -f /etc/.filesystem_resized ]; then
# Perform filesystem resize
sudo resize2fs /dev/mmcblk0p5
sudo resize2fs /dev/mmcblk0p6
sudo resize2fs /dev/mmcblk0p7
# Create a marker file indicating filesystem resize has been done
sudo touch /etc/.filesystem_resized
echo "Filesystem resized successfully."
fi
if [ ! -f /etc/.filesystem_swap ]; then
sudo fallocate -l 1G /swapfile
sudo chmod 600 /swapfile
sudo mkswap /swapfile >/dev/null
sudo swapon /swapfile >/dev/null
echo '/swapfile none swap sw 0 0' | sudo tee -a /etc/fstab >/dev/null
sudo touch /etc/.filesystem_swap
echo "Swap successfully."
fi
@@ -0,0 +1,36 @@
#!/bin/bash
if [ "$(cat /proc/device-tree/model)" == "Luckfox Pico Ultra W" ]; then
systemctl stop wpa_supplicant
if [ -d /oem/usr/ko ]; then
cd /oem/usr/ko
if [ -z "$(ifconfig | grep "wlan0")" ]; then
insmod cfg80211.ko
insmod libarc4.ko
insmod ctr.ko
insmod ccm.ko
insmod aes_generic.ko
insmod aic8800_bsp.ko
sleep 0.2
insmod aic8800_fdrv.ko
sleep 2
insmod aic8800_btlpm.ko
else
# wait systemctl
sleep 0.5
fi
else
echo "Missing ko files!"
fi
if [ -d /var/run/wpa_supplicant ]; then
rm /var/run/wpa_supplicant/ -rf
fi
if [ -f /etc/wpa_supplicant.conf ] && [ -n "$(ifconfig | grep "wlan0")" ]; then
wpa_supplicant -B -i wlan0 -c /etc/wpa_supplicant.conf >/dev/null
chmod a+x /usr/share/udhcpc/default.script
fi
else
echo "This Luckfox Pico model don't support WIFI!"
fi
@@ -0,0 +1,39 @@
#!/bin/sh
# udhcpc script edited by Tim Riker <Tim@Rikers.org>
[ -z "$1" ] && echo "Error: should be called from udhcpc" && exit 1
RESOLV_CONF="/etc/resolv.conf"
[ -n "$broadcast" ] && BROADCAST="broadcast $broadcast"
[ -n "$subnet" ] && NETMASK="netmask $subnet"
case "$1" in
deconfig)
/sbin/ifconfig $interface 0.0.0.0
;;
renew|bound)
/sbin/ifconfig $interface $ip $BROADCAST $NETMASK
if [ -n "$router" ] ; then
echo "deleting routers"
while route del default gw 0.0.0.0 dev $interface ; do
:
done
for i in $router ; do
route add default gw $i dev $interface
done
fi
echo -n > $RESOLV_CONF
[ -n "$domain" ] && echo search $domain >> $RESOLV_CONF
for i in $dns ; do
echo adding dns $i
echo nameserver $i >> $RESOLV_CONF
done
;;
esac
exit 0