From 6b4836bd3eee34a6cb3a14c97c3f780eb623f103 Mon Sep 17 00:00:00 2001 From: luckfox-eng29 Date: Mon, 18 Nov 2024 21:03:15 +0800 Subject: [PATCH] project:cfg:BoardConfig_IPC:overlay:Fix permission errors and naming issues in overlay files. Signed-off-by: luckfox-eng29 --- .../luckfox-buildroot-nocsi-oem-pre.sh | 61 +++++++++++++++++++ .../luckfox-buildroot-oem-pre.sh | 2 +- .../BoardConfig_IPC/luckfox-ubuntu-oem-pre.sh | 4 +- ...erdata-post.sh => luckfox-userdata-pre.sh} | 0 .../etc/init.d/S99hciinit | 3 +- .../etc/init.d/S99luckfoxconfigload | 4 +- .../overlay-luckfox-ubuntu-ultra/etc/rc.local | 21 +++++++ .../etc/udhcpd.conf | 0 .../usr/bin/wifi_bt_init.sh | 7 +++ .../overlay-luckfox-ubuntu/etc/rc.local | 21 +++++++ 10 files changed, 118 insertions(+), 5 deletions(-) create mode 100644 project/cfg/BoardConfig_IPC/luckfox-buildroot-nocsi-oem-pre.sh rename project/cfg/BoardConfig_IPC/{luckfox-userdata-post.sh => luckfox-userdata-pre.sh} (100%) mode change 100644 => 100755 project/cfg/BoardConfig_IPC/overlay/overlay-luckfox-ubuntu-ultra/etc/udhcpd.conf mode change 100644 => 100755 project/cfg/BoardConfig_IPC/overlay/overlay-luckfox-ubuntu/etc/rc.local diff --git a/project/cfg/BoardConfig_IPC/luckfox-buildroot-nocsi-oem-pre.sh b/project/cfg/BoardConfig_IPC/luckfox-buildroot-nocsi-oem-pre.sh new file mode 100644 index 000000000..d7798af5f --- /dev/null +++ b/project/cfg/BoardConfig_IPC/luckfox-buildroot-nocsi-oem-pre.sh @@ -0,0 +1,61 @@ +#!/bin/bash + +function lf_rm() { + for file in "$@"; do + if [ -e "$file" ]; then + echo "Deleting: $file" + rm -rf "$file" + #else + #echo "File not found: $file" + fi + done +} + +# remove unused files +function remove_data() +{ + lf_rm $RK_PROJECT_PACKAGE_OEM_DIR/usr/lib/*.aiisp + lf_rm $RK_PROJECT_PACKAGE_OEM_DIR/usr/lib/*.data + + # drm + lf_rm $RK_PROJECT_PACKAGE_OEM_DIR/usr/lib/libdrm* + lf_rm $RK_PROJECT_PACKAGE_OEM_DIR/usr/lib/libdrm_rockchip* + + # kms + lf_rm $RK_PROJECT_PACKAGE_OEM_DIR/usr/lib/libkms* + + # freetype + lf_rm $RK_PROJECT_PACKAGE_OEM_DIR/usr/lib/libfreetype* + + # iconv + lf_rm $RK_PROJECT_PACKAGE_OEM_DIR/usr/lib/libiconv* + + # rkAVS + lf_rm $RK_PROJECT_PACKAGE_OEM_DIR/usr/lib/librkAVS* + + # jpeg + lf_rm $RK_PROJECT_PACKAGE_OEM_DIR/usr/lib/libjpeg* + + # png + lf_rm $RK_PROJECT_PACKAGE_OEM_DIR/usr/lib/libpng* + + # vqefiles + lf_rm $RK_PROJECT_PACKAGE_OEM_DIR/usr/share/vqefiles/* + + # ko + lf_rm $RK_PROJECT_PACKAGE_OEM_DIR/usr/ko/phy-rockchip-csi2-dphy-hw.ko + lf_rm $RK_PROJECT_PACKAGE_OEM_DIR/usr/ko/phy-rockchip-csi2-dphy.ko + lf_rm $RK_PROJECT_PACKAGE_OEM_DIR/usr/ko/rga3.ko + lf_rm $RK_PROJECT_PACKAGE_OEM_DIR/usr/ko/rknpu.ko + lf_rm $RK_PROJECT_PACKAGE_OEM_DIR/usr/ko/rockit.ko + lf_rm $RK_PROJECT_PACKAGE_OEM_DIR/usr/ko/sc3336.ko + lf_rm $RK_PROJECT_PACKAGE_OEM_DIR/usr/ko/video_rkcif.ko + lf_rm $RK_PROJECT_PACKAGE_OEM_DIR/usr/ko/video_rkisp.ko + lf_rm $RK_PROJECT_PACKAGE_OEM_DIR/usr/ko/mpp_vcodec.ko + +} + +#========================= +# run +#========================= +remove_data \ No newline at end of file diff --git a/project/cfg/BoardConfig_IPC/luckfox-buildroot-oem-pre.sh b/project/cfg/BoardConfig_IPC/luckfox-buildroot-oem-pre.sh index eaf54e716..4187457d4 100644 --- a/project/cfg/BoardConfig_IPC/luckfox-buildroot-oem-pre.sh +++ b/project/cfg/BoardConfig_IPC/luckfox-buildroot-oem-pre.sh @@ -17,7 +17,7 @@ function remove_data() lf_rm $RK_PROJECT_PACKAGE_OEM_DIR/usr/lib/*.aiisp lf_rm $RK_PROJECT_PACKAGE_OEM_DIR/usr/lib/*.data - # drm + # drm ( sample program required ) lf_rm $RK_PROJECT_PACKAGE_OEM_DIR/usr/lib/libdrm* lf_rm $RK_PROJECT_PACKAGE_OEM_DIR/usr/lib/libdrm_rockchip* diff --git a/project/cfg/BoardConfig_IPC/luckfox-ubuntu-oem-pre.sh b/project/cfg/BoardConfig_IPC/luckfox-ubuntu-oem-pre.sh index 084a70658..d8805234c 100644 --- a/project/cfg/BoardConfig_IPC/luckfox-ubuntu-oem-pre.sh +++ b/project/cfg/BoardConfig_IPC/luckfox-ubuntu-oem-pre.sh @@ -19,8 +19,8 @@ function remove_data() lf_rm $RK_PROJECT_PACKAGE_OEM_DIR/usr/lib/*.data # drm - lf_rm $RK_PROJECT_PACKAGE_OEM_DIR/usr/lib/libdrm* - lf_rm $RK_PROJECT_PACKAGE_OEM_DIR/usr/lib/libdrm_rockchip* + #lf_rm $RK_PROJECT_PACKAGE_OEM_DIR/usr/lib/libdrm* + #lf_rm $RK_PROJECT_PACKAGE_OEM_DIR/usr/lib/libdrm_rockchip* # kms lf_rm $RK_PROJECT_PACKAGE_OEM_DIR/usr/lib/libkms* diff --git a/project/cfg/BoardConfig_IPC/luckfox-userdata-post.sh b/project/cfg/BoardConfig_IPC/luckfox-userdata-pre.sh similarity index 100% rename from project/cfg/BoardConfig_IPC/luckfox-userdata-post.sh rename to project/cfg/BoardConfig_IPC/luckfox-userdata-pre.sh diff --git a/project/cfg/BoardConfig_IPC/overlay/overlay-luckfox-buildroot-init/etc/init.d/S99hciinit b/project/cfg/BoardConfig_IPC/overlay/overlay-luckfox-buildroot-init/etc/init.d/S99hciinit index 2b2f67a06..6fa144b6a 100755 --- a/project/cfg/BoardConfig_IPC/overlay/overlay-luckfox-buildroot-init/etc/init.d/S99hciinit +++ b/project/cfg/BoardConfig_IPC/overlay/overlay-luckfox-buildroot-init/etc/init.d/S99hciinit @@ -10,6 +10,7 @@ check_hciconfig() { else echo "hci0 not found or not available." fi + ifconfig wlan0 up && udhcpc -i wlan0 > /dev/null 2>&1 else echo "aic8800_fdrv not found." fi @@ -18,7 +19,7 @@ check_hciconfig() { case $1 in start) - check_hciconfig + check_hciconfig & ;; *) exit 1 diff --git a/project/cfg/BoardConfig_IPC/overlay/overlay-luckfox-config/etc/init.d/S99luckfoxconfigload b/project/cfg/BoardConfig_IPC/overlay/overlay-luckfox-config/etc/init.d/S99luckfoxconfigload index 3f850145c..e563abf30 100755 --- a/project/cfg/BoardConfig_IPC/overlay/overlay-luckfox-config/etc/init.d/S99luckfoxconfigload +++ b/project/cfg/BoardConfig_IPC/overlay/overlay-luckfox-config/etc/init.d/S99luckfoxconfigload @@ -6,7 +6,9 @@ load_luckfoxconfig() { fi if [ "$(cat /proc/device-tree/model)" == "Luckfox Pico Ultra" ] || [ "$(cat /proc/device-tree/model)" == "Luckfox Pico Ultra W" ]; then - luckfox_switch_rgb_resolution & + if [ -f /usr/bin/luckfox_switch_rgb_resolution ]; then + luckfox_switch_rgb_resolution & + fi fi } diff --git a/project/cfg/BoardConfig_IPC/overlay/overlay-luckfox-ubuntu-ultra/etc/rc.local b/project/cfg/BoardConfig_IPC/overlay/overlay-luckfox-ubuntu-ultra/etc/rc.local index 91630be16..29f63e24b 100755 --- a/project/cfg/BoardConfig_IPC/overlay/overlay-luckfox-ubuntu-ultra/etc/rc.local +++ b/project/cfg/BoardConfig_IPC/overlay/overlay-luckfox-ubuntu-ultra/etc/rc.local @@ -1,9 +1,30 @@ #!/bin/bash +USB_KEYWORD="android_work: sent uevent USB_STATE=" +USB_MODE_PATH="/proc/device-tree/usbdrd/usb@ffb00000/dr_mode" + +usb_reset() { + while true; do + last_line=$(dmesg | grep "$USB_KEYWORD" | tail -n 1) + + if [[ "$last_line" == *"DISCONNECTED" ]]; then + echo "Detected USB DISCONNECTED." + /etc/init.d/S50usbdevice restart + fi + sleep 5 + done +} + /usr/bin/filesystem_resize.sh /usr/bin/wifi_bt_init.sh /usr/bin/luckfox_switch_rgb_resolution & + +usb_mode="$(cat $USB_MODE_PATH)" /etc/init.d/S50usbdevice start +if [ "$usb_mode" = "peripheral" ];then + usb_reset & +fi + luckfox-config load if [ -n "$(hwclock | grep "invalid")" ]; then date -s 2024-01-01 diff --git a/project/cfg/BoardConfig_IPC/overlay/overlay-luckfox-ubuntu-ultra/etc/udhcpd.conf b/project/cfg/BoardConfig_IPC/overlay/overlay-luckfox-ubuntu-ultra/etc/udhcpd.conf old mode 100644 new mode 100755 diff --git a/project/cfg/BoardConfig_IPC/overlay/overlay-luckfox-ubuntu-ultra/usr/bin/wifi_bt_init.sh b/project/cfg/BoardConfig_IPC/overlay/overlay-luckfox-ubuntu-ultra/usr/bin/wifi_bt_init.sh index 37c277b7d..9f76e9824 100755 --- a/project/cfg/BoardConfig_IPC/overlay/overlay-luckfox-ubuntu-ultra/usr/bin/wifi_bt_init.sh +++ b/project/cfg/BoardConfig_IPC/overlay/overlay-luckfox-ubuntu-ultra/usr/bin/wifi_bt_init.sh @@ -2,6 +2,12 @@ if [ "$(cat /proc/device-tree/model)" == "Luckfox Pico Ultra W" ]; then systemctl stop wpa_supplicant + + if [ "$1" = "stop" ] ;then + pkill -f "udhcpc -i wlan0" + exit 1 + fi + if [ -d /oem/usr/ko ]; then cd /oem/usr/ko if [ -z "$(ifconfig | grep "wlan0")" ]; then @@ -31,6 +37,7 @@ if [ "$(cat /proc/device-tree/model)" == "Luckfox Pico Ultra W" ]; 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 diff --git a/project/cfg/BoardConfig_IPC/overlay/overlay-luckfox-ubuntu/etc/rc.local b/project/cfg/BoardConfig_IPC/overlay/overlay-luckfox-ubuntu/etc/rc.local old mode 100644 new mode 100755 index bfe81100c..f84b6c663 --- a/project/cfg/BoardConfig_IPC/overlay/overlay-luckfox-ubuntu/etc/rc.local +++ b/project/cfg/BoardConfig_IPC/overlay/overlay-luckfox-ubuntu/etc/rc.local @@ -1,7 +1,28 @@ #!/bin/bash +USB_KEYWORD="android_work: sent uevent USB_STATE=" +USB_MODE_PATH="/proc/device-tree/usbdrd/usb@ffb00000/dr_mode" + +usb_reset() { + while true; do + last_line=$(dmesg | grep "$USB_KEYWORD" | tail -n 1) + + if [[ "$last_line" == *"DISCONNECTED" ]]; then + echo "Detected USB DISCONNECTED." + /etc/init.d/S50usbdevice restart + fi + sleep 5 + done +} + /usr/bin/filesystem_resize.sh + +usb_mode="$(cat $USB_MODE_PATH)" /etc/init.d/S50usbdevice start +if [ "$usb_mode" = "peripheral" ];then + usb_reset & +fi + luckfox-config load if [ -n "$(hwclock | grep "invalid")" ]; then date -s 2024-01-01