sm8250: add dropbear and usb gadget network into initramfs

This commit is contained in:
amazingfate
2025-01-07 01:33:36 +08:00
committed by Igor
parent 90e8f74515
commit b0b01407ad
6 changed files with 77 additions and 2 deletions

View File

@@ -25,9 +25,14 @@ function post_family_tweaks_bsp__oneplus-kebab_firmware() {
# USB Gadget Network service
mkdir -p $destination/usr/local/bin/
mkdir -p $destination/usr/lib/systemd/system/
mkdir -p $destination/etc/initramfs-tools/scripts/init-bottom/
install -Dm655 $SRC/packages/bsp/usb-gadget-network/setup-usbgadget-network.sh $destination/usr/local/bin/
install -Dm655 $SRC/packages/bsp/usb-gadget-network/remove-usbgadget-network.sh $destination/usr/local/bin/
install -Dm644 $SRC/packages/bsp/usb-gadget-network/usbgadget-rndis.service $destination/usr/lib/systemd/system/
install -Dm655 $SRC/packages/bsp/usb-gadget-network/usb-gadget-initramfs-hook $destination/etc/initramfs-tools/hooks/usb-gadget
install -Dm655 $SRC/packages/bsp/usb-gadget-network/usb-gadget-initramfs-premount $destination/etc/initramfs-tools/scripts/init-premount/usb-gadget
install -Dm655 $SRC/packages/bsp/usb-gadget-network/dropbear $destination/etc/initramfs-tools/scripts/init-premount/
install -Dm655 $SRC/packages/bsp/usb-gadget-network/kill-dropbear $destination/etc/initramfs-tools/scripts/init-bottom/
# Bluetooth MAC addr setup service
install -Dm655 $SRC/packages/bsp/generate-bt-mac-addr/bt-fixed-mac.sh $destination/usr/local/bin/
@@ -64,7 +69,7 @@ function post_family_tweaks__oneplus-kebab_enable_services() {
do_with_retries 3 chroot_sdcard_apt_get_update
display_alert "$BOARD" "Installing board tweaks" "info"
do_with_retries 3 chroot_sdcard_apt_get_install alsa-ucm-conf qbootctl qrtr-tools unudhcpd mkbootimg
do_with_retries 3 chroot_sdcard_apt_get_install alsa-ucm-conf qbootctl qrtr-tools unudhcpd mkbootimg dropbear-bin
# disable armbian repo back
mv "${SDCARD}"/etc/apt/sources.list.d/armbian.list "${SDCARD}"/etc/apt/sources.list.d/armbian.list.disabled

View File

@@ -38,6 +38,10 @@ function post_family_tweaks_bsp__xiaomi-elish_firmware() {
install -Dm655 $SRC/packages/bsp/usb-gadget-network/setup-usbgadget-network.sh $destination/usr/local/bin/
install -Dm655 $SRC/packages/bsp/usb-gadget-network/remove-usbgadget-network.sh $destination/usr/local/bin/
install -Dm644 $SRC/packages/bsp/usb-gadget-network/usbgadget-rndis.service $destination/usr/lib/systemd/system/
install -Dm655 $SRC/packages/bsp/usb-gadget-network/usb-gadget-initramfs-hook $destination/etc/initramfs-tools/hooks/usb-gadget
install -Dm655 $SRC/packages/bsp/usb-gadget-network/usb-gadget-initramfs-premount $destination/etc/initramfs-tools/scripts/init-premount/usb-gadget
install -Dm655 $SRC/packages/bsp/usb-gadget-network/dropbear $destination/etc/initramfs-tools/scripts/init-premount/
install -Dm655 $SRC/packages/bsp/usb-gadget-network/kill-dropbear $destination/etc/initramfs-tools/scripts/init-bottom/
# Bluetooth MAC addr setup service
install -Dm655 $SRC/packages/bsp/generate-bt-mac-addr/bt-fixed-mac.sh $destination/usr/local/bin/
@@ -67,7 +71,7 @@ function post_family_tweaks__xiaomi-elish_enable_services() {
do_with_retries 3 chroot_sdcard_apt_get_update
display_alert "$BOARD" "Installing board tweaks" "info"
do_with_retries 3 chroot_sdcard_apt_get_install alsa-ucm-conf qbootctl qrtr-tools unudhcpd mkbootimg
do_with_retries 3 chroot_sdcard_apt_get_install alsa-ucm-conf qbootctl qrtr-tools unudhcpd mkbootimg dropbear-bin
# Install hexagonrpc userspace service for kernel after 6.11, hexagonrpc in only packaged for noble now
if [[ "${RELEASE}" == "noble" ]]; then

View File

@@ -0,0 +1,15 @@
#!/bin/sh
prereqs()
{
echo "${PREREQ}"
}
case ${1} in
prereqs)
prereqs
exit 0
;;
esac
nohup /usr/sbin/dropbear -j -k -F -E -R >> /run/initramfs/dropbear.log 2>&1 &

View File

@@ -0,0 +1,16 @@
#!/bin/sh
prereqs()
{
echo "${PREREQ}"
}
case ${1} in
prereqs)
prereqs
exit 0
;;
esac
logsave -a -s /run/initramfs/kill-dropbear.log pkill dropbear
exit 0

View File

@@ -0,0 +1,17 @@
#!/bin/bash
[[ "$1" == "prereqs" ]] && exit 0
. /usr/share/initramfs-tools/hook-functions
copy_exec "/usr/local/bin/setup-usbgadget-network.sh"
copy_exec "/bin/bash"
copy_exec "/bin/ip"
copy_exec "/usr/bin/nohup"
copy_exec "/usr/bin/unudhcpd"
copy_exec "/usr/bin/pgrep"
copy_exec "/usr/sbin/dropbear"
copy_exec "/usr/bin/pkill"
copy_exec "/usr/sbin/parted"
copy_file config "/etc/protocols"
copy_file config "/etc/shadow"
mkdir -p "${DESTDIR}/etc/dropbear"

View File

@@ -0,0 +1,18 @@
#!/bin/sh
prereqs()
{
echo "${PREREQ}"
}
case ${1} in
prereqs)
prereqs
exit 0
;;
esac
mount -t configfs none /sys/kernel/config
mkdir -p /var/log
logsave -a -s /run/initramfs/usb-gadget-rndis.log /usr/local/bin/setup-usbgadget-network.sh
exit 0