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 |
-
Initial RAM filesystem and RAM disk //for ramdisk, delete if not needed;
-
General
-
Kprobes // Add a hook function (breakpoint) to the kernel
-
Kernel performance events and counters // perf etc. for kernel hacking
-
-
Network
-
The IPv6 protocol
-
Wireless
-
Other parts depend on user needs
-
-
Device related
-
Serial ATA and Parallel ATA drivers
-
MMC/SD/SDIO card support
-
Staging drivers
-
USB host
-
Ehci //2.0
-
Uhci //3.0
-
-
USB device:
-
UVC related;
-
Webcam related;
-
-
File systems
-
NFS //used for debug;
-
CIFS //used for debug
-
JFFS2 // Permissions W/R
-
UBIFS // Permissions W/R
-
FAT/NTFS //windos fs
-
-
-
Kernel hacking
-
Tracers //ftrace etc.
-
KGDB: kernel debugger //gdb
-
Debug Lockups and Hangs //debug mutex and so on.
-
Debug Lockups and Hangs
-
DEBUG_INFO //debug info, it is not easy to debug after deletion
-
KALLSYMS // kernel symbol, etc., it is not easy to debug after deletion
-
-
Device Drivers
-
Multimedia support // usb cam related settings
-
Input device support
-
Mouse interface
-
Keyboards
-
Mice
-
Touchscreens
-
-
-
SStar SoC platform drivers // According to user needs
-
SStar SATA HOST //sata etc.
-
SStar SD/MMC Card Interface Support
-
-
Others: It is recommended to use the user's config to check
2. BUSYBOX usage reference¶
2.1. Source code¶
-
Download: https://busybox.net/downloads/ (The default version of the public version is: 1.20.2)
-
tar -jxvf busybox-1.20.1.tar.bz2
-
cd busybox-1.20.2
2.2. Compile (use default config)¶
-
Configure the compilation chain: declare -x ARCH="arm";declare -x CROSS_COMPILE="arm-linux-gnueabihf-"
-
make menuconfig (configuration options)
-
make clean; make
-
make install → _install in the root directory is the busybox installation package
-
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
-
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:
-
Archival Utilities
->Configuration of various compression formats and compression tools
-
Coreutils
→Configuration of common tools in the system
-
Console Utilities
→ Console tool configuration
-
Debian Utilities
→Debian system tools
-
klibc-utils
→klibc tools, including minips(ps), nuke(rm -rf), resume, run-init
-
Editors
→Editing tools, including sed, awk, vi, etc.
-
Finding Utilities
→Configuration of find, grep, xargs and other tool functions
-
Init Utilities
→ System initialization tools, including reboot, poweroff, halt, etc.
-
Login/Password Management Utilities
→Login and password management tools
-
Linux Ext2 FS Progs
→Ext2 file system management related tools
-
Linux Module Utilities
→linux module management, insmod/rmmod/modprobe, etc.
-
Linux System Utilities
→linux system management tools
-
Miscellaneous Utilities
→ Miscellaneous tools
-
Networking Utilities
→Network management tools, configurable Ipv4/ipv6 support, as well as tftp, telnetd and other tools support
-
Print Utilities
→Printer tools, including lpd/lpr/lpq tools
-
Mail Utilities
→ Mail related tools
-
Process Utilities
→Process management tools, including free, kill, top, watch, etc.
-
Runit Utilities
→runit suite support
-
Shells
→Including support for ash, and hush two shells
-
System Logging Utilities
→ System log tool support