For more information, including FAQs and resources, please visit the link below:
RDKM-SSO
Any questions or comments please feel free to contact RDK Support team support@rdkcentral.com . Thank you. ***
Reference only(All changes merged to rdk-next and available in all releases)
Tiny RDKB is an effort focused on reducing the RFS of mainline RDKB. While there are many different ways are being explored and worked upon for reducing the overall image size, this particular document is aiming at capturing the Tiny RDKB effort .
Major Highlights to be taken in RDKB RPI : Removed the Unused Modules ,XML files ,scripts, systemd files ,configuration files,libraries and binaries/executables from the RDKB RPI RFS. This should be applicable for both Morty and Dunfell builds.
Below are the Overall steps to be taken for Tiny RDKB effort in RPI,
1.Remove sound kernel modules
2.Removal of unused file COSAXcalibur.XML
3.Replace some executables with busybox
4.Replace NTPD package with Busybox configuration
5.Removed UnUsed packages from ccsp packagegroup in RPI platfrom
6.Removed UnUsed packages from OSS packagegroup in RDKB RPI platfrom
7.Removed UnUsed and Duplicate files from RFS in RDKB RPI platfrom
8.Removed unused driver kernel modules of ath,mediatek,realtek in linux-raspberrypi
9.Removed NLS modules from linux-raspberrypi
10.Removed unused driver modules of rtc,usb,input in linux-raspberrypi
11.Removed Unused kernel driver modules of NF,Xtables,PPS,BT from linux-raspberrypi
12.Removed Unused kernel modules of HID and USB from linux-raspberrypi
13.Removed Unused kernel modules of DRM,USB_SERIAL,SPEECH,CAN,W1,YAM from linux-raspberrypi
14.Added PHP->JST Migration
15.Removed Unused packages from util-linux
16.Added nodejs package as DISTRO Features for Morty Builds
17.Removed Unused files from RFS
18.Converted Parental control features kernel modules to in-built modules for reducing the kernel size in RFS.
S.NO | Yocto Version Builds | Before Tiny RDKB Image Size | After Tiny RDKB Image Size | Difference |
---|---|---|---|---|
1 | Morty | 380MB | 224 MB | 156MB |
2 | Dunfell | 80MB(After extract the tar 448MB) | 59MB(After extract the tar 306MB) | 21MB(142MB) |
Below are the ways to compare the memories in before and after the Tiny RDKB effort in RPI,
This below analysis are immediately taken while the fresh image is boot-up,
The below analysis are taken one hour after form the fresh image boot-up,
Below linux commands are used to find the memory usage of RAM, CPU Utilization and Rootfs Size.
S.NO | Memory Usages | Linux Commands |
---|---|---|
1 | RAM Usage | free -m |
2 | CPU Utilization | iostat / top |
3 | Rootfs Size | df -h |
root@RaspberryPi-Gateway:~# free -m total used free shared buff/cache available Mem: 924 63 827 4 39 842 Swap: 0 0 0
root@RaspberryPi-Gateway:~# free -m total used free shared buff/cache available Mem: 603 60 503 4 36 518 Swap: 0 0 0
root@RaspberryPi-Gateway:~# iostat Linux 5.4.72-v7 (RaspberryPi-Gateway) 12/09/20 _armv7l_ (4 CPU) avg-cpu: %user %nice %system %iowait %steal %idle 19.17 0.02 26.86 0.41 2.50 53.46 Device: tps Blk_read/s Blk_wrtn/s Blk_read Blk_wrtn mmcblk0 14.02 508.65 43.97 95683 8271 mmcblk0p1 0.38 3.88 0.01 729 1 mmcblk0p2 13.39 493.68 43.96 92866 8270 root@RaspberryPi-Gateway:~#
root@RaspberryPi-Gateway:~# iostat Linux 5.4.72-v7 (RaspberryPi-Gateway) 03/29/21 _armv7l_ (4 CPU) avg-cpu: %user %nice %system %iowait %steal %idle 17.72 0.02 24.32 1.94 0.00 53.98 Device: tps Blk_read/s Blk_wrtn/s Blk_read Blk_wrtn mmcblk0 20.85 723.65 73.56 79435 8075 mmcblk0p1 0.58 6.66 0.01 731 1 mmcblk0p2 19.83 697.97 73.55 76616 8074
root@RaspberryPi-Gateway:~# df -h Filesystem Size Used Available Use% Mounted on /dev/root 241.6M 139.5M 85.6M 62% / devtmpfs 173.0M 0 173.0M 0% /dev tmpfs 301.5M 4.0K 301.5M 0% /dev/shm tmpfs 301.5M 21.4M 280.1M 7% /run tmpfs 301.5M 0 301.5M 0% /sys/fs/cgroup tmpfs 301.5M 2.5M 299.1M 1% /tmp tmpfs 301.5M 328.0K 301.2M 0% /var/volatile /dev/mmcblk0p1 50.8M 29.2M 21.6M 58% /boot tmpfs 60.3M 0 60.3M 0% /run/user/0 root@RaspberryPi-Gateway:~#
root@RaspberryPi-Gateway:~# df -h Filesystem Size Used Available Use% Mounted on /dev/root 375.7M 217.2M 135.1M 62% / devtmpfs 333.7M 0 333.7M 0% /dev tmpfs 462.2M 4.0K 462.2M 0% /dev/shm tmpfs 462.2M 25.5M 436.7M 6% /run tmpfs 462.2M 0 462.2M 0% /sys/fs/cgroup tmpfs 462.2M 2.9M 459.3M 1% /tmp tmpfs 462.2M 512.0K 461.7M 0% /var/volatile /dev/mmcblk0p1 48.5M 27.4M 21.0M 57% /boot root@RaspberryPi-Gateway:~#
root@RaspberryPi-Gateway:~# free -m total used free shared buff/cache available Mem: 924 133 712 24 78 750 Swap: 0 0 0 root@RaspberryPi-Gateway:~#
root@RaspberryPi-Gateway:~# free -m total used free shared buff/cache available Mem: 603 116 337 99 149 371 Swap: 0 0 0
root@RaspberryPi-Gateway:~# iostat Linux 5.4.72-v7 (RaspberryPi-Gateway) 03/29/21 _armv7l_ (4 CPU) avg-cpu: %user %nice %system %iowait %steal %idle 4.63 0.01 24.77 0.09 0.00 71.50 Device: tps Blk_read/s Blk_wrtn/s Blk_read Blk_wrtn mmcblk0 3.44 91.07 15.14 96231 15997 mmcblk0p1 0.07 0.69 0.00 729 1 mmcblk0p2 3.33 88.41 15.14 93414 15996
root@RaspberryPi-Gateway:~# iostat Linux 5.4.72-v7 (RaspberryPi-Gateway) 03/29/21 _armv7l_ (4 CPU) avg-cpu: %user %nice %system %iowait %steal %idle 4.02 0.01 21.68 0.03 0.00 74.26 Device: tps Blk_read/s Blk_wrtn/s Blk_read Blk_wrtn mmcblk0 1.33 8.31 10.54 81599 103441 mmcblk0p1 0.01 0.07 0.00 731 1 mmcblk0p2 1.32 8.03 10.54 78780 103440
root@RaspberryPi-Gateway:~# df -h Filesystem Size Used Available Use% Mounted on /dev/root 375.7M 216.1M 136.1M 61% / devtmpfs 333.7M 0 333.7M 0% /dev tmpfs 462.2M 4.0K 462.2M 0% /dev/shm tmpfs 462.2M 9.5M 452.7M 2% /run tmpfs 462.2M 0 462.2M 0% /sys/fs/cgroup tmpfs 462.2M 2.8M 459.4M 1% /tmp tmpfs 462.2M 280.0K 461.9M 0% /var/volatile /dev/mmcblk0p1 48.5M 27.4M 21.0M 57% /boot
root@RaspberryPi-Gateway:~# df -h Filesystem Size Used Available Use% Mounted on /dev/root 241.6M 139.5M 85.6M 62% / devtmpfs 173.0M 0 173.0M 0% /dev tmpfs 301.5M 4.0K 301.5M 0% /dev/shm tmpfs 301.5M 21.4M 280.1M 7% /run tmpfs 301.5M 0 301.5M 0% /sys/fs/cgroup tmpfs 301.5M 2.5M 299.1M 1% /tmp tmpfs 301.5M 328.0K 301.2M 0% /var/volatile /dev/mmcblk0p1 50.8M 29.2M 21.6M 58% /boot tmpfs 60.3M 0 60.3M 0% /run/user/0
"rbus" and "runit" Integration also part of Tiny RDKB effort but still those changes are not available in stable2 branch.
we will integrated in RPI once those changes are successfully merged in stable2.
REFPLTB-916 - Getting issue details... STATUS
https://code.rdkcentral.com/r/q/REFPLTB-916