diff --git a/feeds/tip/certificates/files/usr/bin/mount_certs b/feeds/tip/certificates/files/usr/bin/mount_certs index 3255e16e1..60ece34b1 100755 --- a/feeds/tip/certificates/files/usr/bin/mount_certs +++ b/feeds/tip/certificates/files/usr/bin/mount_certs @@ -58,6 +58,19 @@ udaya,a5-id2) [ -n "$mtd" ] && tar xf /dev/mtdblock$mtd -C /certificates fi ;; +sonicfi,rap6*) + mtd=$(find_mtd_index certificates) + if [ "$(head -c 4 /dev/mtd$mtd)" == "hsqs" ]; then + mount -t squashfs /dev/mtdblock$mtd /mnt + cp /mnt/* /certificates + umount /mnt + fi + part=$(tar_part_lookup "0:BOOTCONFIG" "0:BOOTCONFIG1") + if [ -n "$part" ]; then + mtd=$(find_mtd_index $part) + [ -n "$mtd" ] && tar xf /dev/mtdblock$mtd -C /certificates + fi + ;; *) mtd=$(find_mtd_index certificates) diff --git a/feeds/tip/certificates/files/usr/bin/store_certs b/feeds/tip/certificates/files/usr/bin/store_certs index 10427306f..8d2dd47b7 100755 --- a/feeds/tip/certificates/files/usr/bin/store_certs +++ b/feeds/tip/certificates/files/usr/bin/store_certs @@ -28,4 +28,16 @@ udaya,a5-id2) mtd=$(find_mtd_index $part) dd if=/tmp/certs.tar of=/dev/mtdblock$mtd ;; +sonicfi,rap6*) + if [ "$(fw_printenv -n store_certs_disabled)" != "1" ]; then + cd /certificates + tar cf /tmp/certs.tar . + part=$(tar_part_lookup "0:BOOTCONFIG" "0:BOOTCONFIG1") + mtd=$(find_mtd_index $part) + block_size=$(cat /sys/class/mtd/mtd$mtd/size) + dd if=/tmp/certs.tar of=/tmp/certs_pad.tar bs=$block_size conv=sync + mtd write /tmp/certs_pad.tar /dev/mtd$mtd + rm -f /tmp/certs.tar /tmp/certs_pad.tar + fi + ;; esac