SSD_System Crop Instructions


1. System KO/LIB Introduction

The following is the relevant description of common KO/LIB, customers can consider crop and use according to the actual needs of the project.

1.1. Common SO Instructions

Name Size (KB) Purpose Required
lib/ld-uClibc-1.0.31.so 20.9 Standard library used by toolchain YES
lib/libncurses.so.6.0 183.3 Standard library used by toolchain YES
lib/libstdc++.so.6.0.20 619.5 Standard library used by toolchain Not required if application does not use C++
lib/libthread_db-1.0.31.so 17.1 Standard library used by toolchain NO
lib/libgcc_s.so.1 93.6 Standard library used by toolchain YES
lib/libuClibc-1.0.31.so 349.9 Standard library used by toolchain YES
lib/libatomic.so.1.1.0 13.3 Standard library used by toolchain YES
lib/libAEC_LINUX.so 65.8 audio algorithm library: echo cancellation NO
lib/libAED_LINUX.so 112.1 audio algorithm library: babycry, high decibel detection NO
lib/libAPC_LINUX.so 90.7 audio algorithm library: EQ, NR, HPF, AGC not required if audio function is not used
lib/libBF_LINUX.so 70.9 audio algorithm library: beamforming. NO
lib/libMD_LINUX.so 442.4 Run detection algorithm NO
lib/libOD_LINUX.so 430.4 Occlusion detection algorithm NO
lib/libSRC_LINUX.so 30.0 audio algorithm library: resampling. NO
lib/libSSL_LINUX.so 30.2 audio algorithm library: sound source localization. NO
lib/libVG_LINUX.so 69.7 Virtual fence detection algorithm NO
lib/libcam_fs_wrapper.so 5.4 Intermediate layer between sys module and linux API YES
lib/libcam_os_wrapper.so 33.8 Intermediate layer between sys module and linux API YES
lib/libcus3a.so 17.4 AF, AE, AWB interfaces YES
lib/libg711.so 5.4 Audio encoding library NO
lib/libg726.so 9.2 Audio encoding library NO
lib/libispalgo.so 225.2 Provides advanced isp functions such as AF, AE, AWB YES
lib/libmi_ai.so 251.2 audio input related library not required if audio function is not used
lib/libmi_ao.so 82.9 audio output related library not required if audio function is not used
lib/libmi_common.so 41.7 MI essential base library YES
lib/libmi_divp.so 5.3 Interfaces for multimedia modules and DIVP functions YES
lib/libmi_iqserver.so 66.4 Communicate with the iqtool tool, provide the function of network debugging iq, and connect to the ISP module NO
lib/libmi_iqserver_pretzel.so 42.0 Communicate with iqtool tool, non-335 337 platforms NO
lib/libmi_isp.so 42.4 ISP function interface package library YES
lib/libmi_isp_pretzel.so 38.0 ISP function interface package library, non-335 337 platform NO
lib/libmi_ive.so 454.6 Provides the use of hardware operators If you do not use IVE operators and SIGMASTAR MD, OD, VG algorithms, do not need
lib/libmi_ldc.so 9.4 The function interface of lens distortion correction, 335 337 do not have this function NO
lib/libmi_rgn.so 9.4 OSD function interface YES
lib/libmi_sed.so 13.3 smart encoder NO
lib/libmi_sensor.so 9.3 Multimedia module SENSOR function interface YES
lib/libmi_shadow.so 13.4 Provides VDF docking interface If you use SIGMASTAR's MD OD VG algorithm, it is required
lib/libmi_sys.so 17.4 Essential library for MI layer, responsible for building the basic mi framework and providing buf management YES
lib/libmi_vdf.so 85.6 Provides video algorithm functions, including motion detection, occlusion detection, virtual fence, etc. If you use SIGMASTAR's MD OD VG algorithm, it is required
lib/libmi_venc.so 25.4 Multimedia module VENC function interface, providing video decoding function YES
lib/libmi_vif.so 9.3 Multimedia module VIF function interface YES
lib/libmi_vpe.so 13.4 Multimedia module VPE function interface YES
4166KB

1.2. Common KO Instructions

Name Size (KB) Purpose Required
/config/modules/4.9.84/SC4238_MIPI.ko 19.9 SC4238 sensor driver NO
/config/modules/4.9.84/imx291_MIPI.ko 10.3 imx291 sensor driver NO
/config/modules/4.9.84/imx307_MIPI.ko 19.6 imx307 sensor driver NO
/config/modules/4.9.84/mhal.ko 1228.8 The underlying implementation of the multimedia layer YES
/config/modules/4.9.84/mi_ai.ko 170.1 Implementation of Audio capture module If no audio function is used, it is not required
/config/modules/4.9.84/mi_ao.ko 91.9 Implementation of Audio output module Not required if audio function is not used
/config/modules/4.9.84/mi_common.ko 9.7 implementation of mi essential base libraries YES
/config/modules/4.9.84/mi_divp.ko 52.8 Multimedia DIVP module implementation YES
/config/modules/4.9.84/mi_ldc.ko 7.6 Implementation of lens distortion correction, 335 337 do not have this function NO
/config/modules/4.9.84/mi_rgn.ko 92.1 OSD module implementation YES
/config/modules/4.9.84/mi_sensor.ko 29.6 Multimedia SENSOR module implementation YES
/config/modules/4.9.84/mi_shadow.ko 46.8 Implementation of vdf docking interface Required if using SIGMASTAR's MD OD VG algorithm
/config/modules/4.9.84/mi_sys.ko
Specified parameters need to be added with the path where config_tool and mmap.ini are located
414.4 The implementation of the essential basic library of the MI layer, responsible for building the basic mi Framework that provides buf management YES
/config/modules/4.9.84/mi_venc.ko
Specified parameters need to be added with the path where the chagall.bin firmware is located
165.0 Multimedia VENC module implementation YES
/config/modules/4.9.84/mi_vif.ko 40.7 Multimedia VIF module implementation YES
/config/modules/4.9.84/mi_vpe.ko 143.9 Implementation of multimedia VPE modules YES
/config/modules/4.9.84/mmc_block.ko 28.9 SD card related driver, mmc basic driver NO
/config/modules/4.9.84/mmc_core.ko 95.2 SD card related driver, mmc basic driver NO
/config/modules/4.9.84/ms_notify.ko 4.1 netlink, it needs to be loaded to run the mixer NO
/config/modules/4.9.84/msdos.ko 9.8 MSDOS filesystem NO
/config/modules/4.9.84/nfs.ko 123.0 nfs network file system NO
/config/modules/4.9.84/nfsv2.ko 16.9 nfs network file system NO
/config/modules/4.9.84/nls_utf8.ko 3.6 utf8 font driver NO
/config/modules/4.9.84/ntfs.ko 87.0 NTFS file system driver NO
/config/modules/4.9.84/sc4236_MIPI.ko 12.7 SC4236 sensor driver NO
/config/modules/4.9.84/scsi_mod.ko 118.2 USB and SD card drivers required NO
/config/modules/4.9.84/sd_mod.ko 30.5 SD card related drivers, scsi interface disk support NO
/config/modules/4.9.84/sunrpc.ko 173.6 Remote Procedure Call (RPC) protocol for remote command execution, used by Network File System (NFS) NO
/config/modules/4.9.84/usb-common.ko 5.5 usb base driver NO
/config/modules/4.9.84/usb-storage.ko 68.4 usb disk driver (depending on usb base driver) NO
/config/modules/4.9.84/usbcore.ko 144.3 usb host base driver NO
/config/modules/4.9.84/cifs.ko 202.6 CIFS file system driver NO
/config/modules/4.9.84/ehci-hcd.ko 40.5 usb2.0 host controller driver NO
/config/modules/4.9.84/fat.ko 53.0 fat filesystem NO
/config/modules/4.9.84/grace.ko 5.4 nfs network file system NO
/config/modules/4.9.84/lockd.ko 49.1 Drivers required for Mount nfs NO
/config/modules/4.9.84/kdrv_sdmmc.ko 30.7 sd card driver NO
/config/modules/4.9.84/vfat.ko 11.5 vfat file system (U disk or SD card) NO

1.3. Other parts

Tools and Profiles Size Purpose Required
config_tool and mmap.ini When insmod mi_sys.ko, the driver calls config_tool to parse mmap.ini to allocate buffers by hardware. It is located in the /config directory by default. When changing the location, it is required to add default_config_path='/new/path' after insmod mi_sys.ko YES
isp_api.xml Used to connect iqtool to generate software interface projects. When changing the path, it is required to call MI_S32 MI_IQSERVER_SetDataPath(char* path); in mi_iqserver.h before iqserver_open to change the path. NO
iqfile0.bin -> imx307_iqfile.bin When Isp is started (application is running), it will go to the /config/iqfile directory to read the iq file named iqfilex.bin (x means isp channel), the basic effect of the image (usually soft link to the actual iq file). If the location of the file is changed, it needs to be executed before the application runs: echo isproot /new/path > /dev/ispmid YES
chagall.bin HW encoder fireware. The default location is /config/fw_path/chagall.bin. When changing the location, it is required to add fw_path=/new/path/chagall.bin after insmod mi_venc.ko YES
  1. Initial RAM filesystem and RAM disk //for ramdisk, delete if not needed;

  2. General

    1. Kprobes // Add a hook function (breakpoint) to the kernel

    2. Kernel performance events and counters // perf etc. for kernel hacking

  3. Network

    1. The IPv6 protocol

    2. Wireless

    3. Other parts depend on user needs

  4. Device related

    1. Serial ATA and Parallel ATA drivers

    2. MMC/SD/SDIO card support

    3. Staging drivers

    4. USB host

      1. Ehci //2.0

      2. Uhci //3.0

    5. USB device:

      1. UVC related;

      2. Webcam related;

    6. File systems

      1. NFS //used for debug;

      2. CIFS //used for debug

      3. JFFS2 // Permissions W/R

      4. UBIFS // Permissions W/R

      5. FAT/NTFS //windos fs

  5. Kernel hacking

    1. Tracers //ftrace etc.

    2. KGDB: kernel debugger //gdb

    3. Debug Lockups and Hangs //debug mutex and so on.

    4. Debug Lockups and Hangs

    5. DEBUG_INFO //debug info, it is not easy to debug after deletion

    6. KALLSYMS // kernel symbol, etc., it is not easy to debug after deletion

  6. Device Drivers

    1. Multimedia support // usb cam related settings

    2. Input device support

      1. Mouse interface

      2. Keyboards

      3. Mice

      4. Touchscreens

  7. SStar SoC platform drivers // According to user needs

    1. SStar SATA HOST //sata etc.

    2. SStar SD/MMC Card Interface Support

  8. Others: It is recommended to use the user's config to check


2. BUSYBOX usage reference

2.1. Source code

  1. Download: https://busybox.net/downloads/ (The default version of the public version is: 1.20.2)

  2. tar -jxvf busybox-1.20.1.tar.bz2

  3. cd busybox-1.20.2


2.2. Compile (use default config)

  1. Configure the compilation chain: declare -x ARCH="arm";declare -x CROSS_COMPILE="arm-linux-gnueabihf-"

  2. make menuconfig (configuration options)

  3. make clean; make

  4. make install → _install in the root directory is the busybox installation package

  5. Release busybox to the project directory

    cd _install tar -zcvf _install.tar.gz ./
    cp _install.tar.gz /project/image/busybox/
    cd ~/project/image/busybox/
    mv _install.tar.gz  busybox-1.20.2-arm-linux-gnueabihf-glibc-9.1.0-dynamic.tar.gz
    
  6. Recompile project

    If reporting error as follow:

    shell/shell_common.c:375:2: error: unknown type name ‘rlim_t’
    shell/shell_common.c:377:13: error: dereferencing pointer to incomplete type ‘const struct rlimit’
    shell/shell_common.c:381:13: error: ‘RLIM_INFINITY’ undeclared (first use in this function)
    shell/shell_common.c:416:17: error: storage size of ‘limit’ isn’t known
    shell/shell_common.c:452:6: error: unknown type name 'rlim_t'
    

    You can try vi include/libbb.h to add the header file: #include <sys/resource.h>


3. Public version default config

sstar_alkaid_arm-linux-gnueabihf-glibc_defconfig


4. General config description (customers tailor-made as needed)

Sort by busybox main option.

setting

Configuration Options Occupied Space(Bytes) Function Description
CONFIG_DESKTOP 8k Enable some unnecessary configurations to be compatible with desktop systems
CONFIG_INCLUDE_SUSv2 --- Enable UNIX 98 support
CONFIG_SHOW_USAGE 7k applets help information
CONFIG_FEATURE_UTMP Used to record the currently logged in user, the who function will be used
CONFIG_FEATURE_PIDFILE pid file generation path
CONFIG_FEATURE_SUID Enable root permission management
CONFIG_STACK_OPTIMIZATION_386 i386 architecture stack-boundary=2
CONFIG_FLOAT_DURATION Enables the applet to support floating point, eg: sleep N.NNN
CONFIG_FEATURE_NON_POSIX_CP Non-POSIX standard cp command

Applets

Sort according to the display order of Applets. The following are the supported configurations of the busybox tool. You can choose whether to enable it according to your needs:

  1. Archival Utilities

    ->Configuration of various compression formats and compression tools

  2. Coreutils

    →Configuration of common tools in the system

  3. Console Utilities

    → Console tool configuration

  4. Debian Utilities

    →Debian system tools

  5. klibc-utils

    →klibc tools, including minips(ps), nuke(rm -rf), resume, run-init

  6. Editors

    →Editing tools, including sed, awk, vi, etc.

  7. Finding Utilities

    →Configuration of find, grep, xargs and other tool functions

  8. Init Utilities

    → System initialization tools, including reboot, poweroff, halt, etc.

  9. Login/Password Management Utilities

    →Login and password management tools

  10. Linux Ext2 FS Progs

    →Ext2 file system management related tools

  11. Linux Module Utilities

    →linux module management, insmod/rmmod/modprobe, etc.

  12. Linux System Utilities

    →linux system management tools

  13. Miscellaneous Utilities

    → Miscellaneous tools

  14. Networking Utilities

    →Network management tools, configurable Ipv4/ipv6 support, as well as tftp, telnetd and other tools support

  15. Print Utilities

    →Printer tools, including lpd/lpr/lpq tools

  16. Mail Utilities

    → Mail related tools

  17. Process Utilities

    →Process management tools, including free, kill, top, watch, etc.

  18. Runit Utilities

    →runit suite support

  19. Shells

    →Including support for ash, and hush two shells

  20. System Logging Utilities

    → System log tool support