android 13 from xiaosuan

This commit is contained in:
cpeng 2025-08-25 08:36:28 +08:00
commit 91b3b10a77
462 changed files with 3321 additions and 0 deletions

28
.gitignore vendored Normal file
View File

@ -0,0 +1,28 @@
#
# NOTE! Don't add files that are generated in specific
# subdirectories here. Add them in the ".gitignore" file
# in that subdirectory instead.
#
# NOTE! Please use 'git ls-files -i --exclude-standard'
# command after changing this file, to see if there are
# any tracked files which get ignored after the change.
#
# Normal rules (sorted alphabetically)
#
# Rockchip directory (for rockchip modules)
#
new_vendor_boot.img
modules_scan_result.load
/ramdisk/lib/modules/
/out/
/.temp/
/system/
/vendor/lib/modules/
vendor/etc/init.insmod.cfg
vendor_ramdisk/lib/modules/modules.alias
vendor_ramdisk/lib/modules/modules.dep
vendor_ramdisk/lib/modules/modules.load
vendor_ramdisk/lib/modules/modules.softdep
*.class

33
README Normal file
View File

@ -0,0 +1,33 @@
目录结构:
kernel mkcombinedroot
脚本默认只更新调试部分的驱动默认驱动是Rockchip调试OK且能正常启动的版本。
在以下文件添加modules.ko驱动的名字执行打包脚本会自动在kernel下进行搜索并拷贝生成对应的文件。
res/debug_list.load
- 添加新ko
在res/vendor_ramdisk_modules.load中需要的加载位置添加需要增加的驱动ko名称并将kernel目录中编译出的ko拷贝到vendor_ramdisk/lib/modules中。
- 删除ko
在res/vendor_ramdisk_modules.load中删除ko的名称5.10/drivers/下的ko文件一同删除。
- ko调试
将需要单独调试的ko名称添加到res/debug_list.load中。
调试完成后将自动拷贝到vendor_ramdisk/lib/modules的ko文件进行提交。
- Android固件编译
调试时可以不关心load文件。但是编译完整Android固件时load文件中不能含有重复的ko名称否则会导致编译报错。
执行检查脚本能够检测出重复ko
```shell
bash tools/gki_load_check.sh
```
- 更新Android固件的boot
默认提交的boot.img是由Google定期编译、释放的GKI镜像替换5.10/boot-5.10.img即可更新Android固件中的boot镜像。
- 打包vendor_boot.img:
```shell
export COPY_ALL_KO=1 有此参数时直接从kernel目录拷贝所有ko, 如果不想使用这个参数unset COPY_ALL_KO 取消
export MY_DTB=rk3588s-tablet-v11 指定dtb的名称不指定则默认为rk3588-evb1-lp4-v10, 如果不想使用这个参数unset MY_DTB 取消
./mkgki4.sh
```

BIN
bin/blk_alloc_to_base_fs Executable file

Binary file not shown.

BIN
bin/build_image Executable file

Binary file not shown.

BIN
bin/depmod Executable file

Binary file not shown.

BIN
bin/e2fsdroid Executable file

Binary file not shown.

BIN
bin/minigzip Executable file

Binary file not shown.

BIN
bin/mkbootfs Executable file

Binary file not shown.

BIN
bin/mkbootimg Executable file

Binary file not shown.

BIN
bin/mke2fs Executable file

Binary file not shown.

53
bin/mke2fs.conf Executable file
View File

@ -0,0 +1,53 @@
[defaults]
base_features = sparse_super,large_file,filetype,dir_index,ext_attr
default_mntopts = acl,user_xattr
enable_periodic_fsck = 0
blocksize = 4096
inode_size = 256
inode_ratio = 16384
reserved_ratio = 1.0
[fs_types]
ext3 = {
features = has_journal
}
ext4 = {
features = has_journal,extent,huge_file,dir_nlink,extra_isize,uninit_bg
inode_size = 256
}
ext4dev = {
features = has_journal,extent,huge_file,flex_bg,inline_data,64bit,dir_nlink,extra_isize
inode_size = 256
options = test_fs=1
}
small = {
blocksize = 1024
inode_size = 128
inode_ratio = 4096
}
floppy = {
blocksize = 1024
inode_size = 128
inode_ratio = 8192
}
big = {
inode_ratio = 32768
}
huge = {
inode_ratio = 65536
}
news = {
inode_ratio = 4096
}
largefile = {
inode_ratio = 1048576
blocksize = -1
}
largefile4 = {
inode_ratio = 4194304
blocksize = -1
}
hurd = {
blocksize = 4096
inode_size = 128
}

180
bin/mkf2fsuserimg.sh Executable file
View File

@ -0,0 +1,180 @@
#!/bin/bash
#
# To call this script, make sure make_f2fs is somewhere in PATH
function usage() {
cat<<EOT
Usage:
${0##*/} OUTPUT_FILE SIZE
[-S] [-C FS_CONFIG] [-f SRC_DIR] [-D PRODUCT_OUT]
[-s FILE_CONTEXTS] [-t MOUNT_POINT] [-T TIMESTAMP]
[-L LABEL] [--prjquota] [--casefold] [--compression] [--readonly]
[--sldc <num> [sload compression sub-options]]
<num>: number of the sload compression args, e.g. -a LZ4 counts as 2
when sload compression args are not given, <num> must be 0,
and the default flags will be used.
Note: must conserve the option order
EOT
}
echo "in mkf2fsuserimg.sh PATH=$PATH"
MKFS_OPTS=""
SLOAD_OPTS=""
if [ $# -lt 2 ]; then
usage
exit 1
fi
OUTPUT_FILE=$1
SIZE=$2
shift; shift
SPARSE_IMG="false"
if [[ "$1" == "-S" ]]; then
MKFS_OPTS+=" -S $SIZE"
SLOAD_OPTS+=" -S"
SPARSE_IMG="true"
shift
fi
if [[ "$1" == "-C" ]]; then
SLOAD_OPTS+=" -C $2"
shift; shift
fi
if [[ "$1" == "-f" ]]; then
SLOAD_OPTS+=" -f $2"
shift; shift
fi
if [[ "$1" == "-D" ]]; then
SLOAD_OPTS+=" -p $2"
shift; shift
fi
if [[ "$1" == "-s" ]]; then
SLOAD_OPTS+=" -s $2"
shift; shift
fi
if [[ "$1" == "-t" ]]; then
MOUNT_POINT=$2
shift; shift
fi
if [ -z $MOUNT_POINT ]; then
echo "Mount point is required"
exit 2
fi
if [[ ${MOUNT_POINT:0:1} != "/" ]]; then
MOUNT_POINT="/"$MOUNT_POINT
fi
SLOAD_OPTS+=" -t $MOUNT_POINT"
if [[ "$1" == "-T" ]]; then
SLOAD_OPTS+=" -T $2"
shift; shift
fi
if [[ "$1" == "-L" ]]; then
MKFS_OPTS+=" -l $2"
shift; shift
fi
if [[ "$1" == "--prjquota" ]]; then
MKFS_OPTS+=" -O project_quota,extra_attr"
shift;
fi
if [[ "$1" == "--casefold" ]]; then
MKFS_OPTS+=" -O casefold -C utf8"
shift;
fi
if [[ "$1" == "--compression" ]]; then
COMPRESS_SUPPORT=1
MKFS_OPTS+=" -O compression,extra_attr"
shift;
fi
if [[ "$1" == "--readonly" ]]; then
MKFS_OPTS+=" -O ro"
READONLY=1
shift;
fi
if [[ "$1" == "--sldc" ]]; then
if [ -z "$COMPRESS_SUPPORT" ]; then
echo "--sldc needs --compression flag"
exit 3
fi
SLOAD_OPTS+=" -c"
shift
SLDC_NUM_ARGS=$1
case $SLDC_NUM_ARGS in
''|*[!0-9]*)
echo "--sldc needs a number"
exit 3 ;;
esac
shift
while [ $SLDC_NUM_ARGS -gt 0 ]; do
SLOAD_OPTS+=" $1"
shift
(( SLDC_NUM_ARGS-- ))
done
fi
if [ -z $SIZE ]; then
echo "Need size of filesystem"
exit 2
fi
function _truncate()
{
if [ "$SPARSE_IMG" = "true" ]; then
return
fi
TRUNCATE_CMD="truncate -s $SIZE $OUTPUT_FILE"
echo $TRUNCATE_CMD
$TRUNCATE_CMD
if [ $? -ne 0 ]; then
exit 3
fi
}
function _build()
{
MAKE_F2FS_CMD="make_f2fs -g android $MKFS_OPTS $OUTPUT_FILE"
echo $MAKE_F2FS_CMD
$MAKE_F2FS_CMD
if [ $? -ne 0 ]; then
if [ "$SPARSE_IMG" = "false" ]; then
rm -f $OUTPUT_FILE
fi
exit 4
fi
SLOAD_F2FS_CMD="sload_f2fs $SLOAD_OPTS $OUTPUT_FILE"
echo $SLOAD_F2FS_CMD
MB_SIZE=`$SLOAD_F2FS_CMD | grep "Max image size" | awk '{print $5}'`
# allow 1: Filesystem errors corrected
ret=$?
if [ $ret -ne 0 ] && [ $ret -ne 1 ]; then
rm -f $OUTPUT_FILE
exit 4
fi
SIZE=$(((MB_SIZE + 6) * 1024 * 1024))
}
_truncate
_build
# readonly + compress can reduce the image
if [ "$READONLY" ] && [ "$COMPRESS_SUPPORT" ]; then
if [ "$SPARSE_IMG" = "true" ]; then
MKFS_OPTS+=" -S $SIZE"
rm -f $OUTPUT_FILE && touch $OUTPUT_FILE
fi
_truncate
_build
fi
exit 0

BIN
bin/mkuserimg_mke2fs Executable file

Binary file not shown.

BIN
bin/repack_bootimg Executable file

Binary file not shown.

BIN
bin/simg2img Executable file

Binary file not shown.

BIN
bin/unpack_bootimg Executable file

Binary file not shown.

View File

@ -0,0 +1,294 @@
# KEEP ALPHABETICALLY SORTED
# CONFIG_ANDROID_LOW_MEMORY_KILLER is not set
# CONFIG_ANDROID_PARANOID_NETWORK is not set
# CONFIG_BPFILTER is not set
# CONFIG_CGROUP_DEBUG is not set
# CONFIG_DYNAMIC_DEBUG is not set
# CONFIG_CIFS is not set
# CONFIG_CIFS_XATTR is not set
# CONFIG_CIFS_POSIX is not set
# CONFIG_CRYPTO_MD4 is not set
# CONFIG_DEVMEM is not set
# CONFIG_FHANDLE is not set
# CONFIG_FW_CACHE is not set
# CONFIG_IP6_NF_NAT is not set
# CONFIG_KSM is not set
# CONFIG_MODULE_FORCE_UNLOAD is not set
# CONFIG_MMPROFILE is not set
# CONFIG_NFSD is not set
# CONFIG_NFS_FS is not set
# CONFIG_PSI_DEFAULT_DISABLED is not set
# CONFIG_PM_AUTOSLEEP is not set
# CONFIG_RT_GROUP_SCHED is not set
# CONFIG_SDCARD_FS is not set
# CONFIG_SLUB_DEBUG is not set
# CONFIG_SYSVIPC is not set
# CONFIG_USELIB is not set
# CONFIG_VHOST is not set
# CONFIG_ZRAM_DEBUG is not set
# CONFIG_ZRAM_MEMORY_TRACKING is not set
# CONFIG_ZSM is not set
CONFIG_ADVISE_SYSCALLS=y
CONFIG_AIO=y
CONFIG_ANDROID=y
CONFIG_ANDROID_BINDER_DEVICES="binder,hwbinder,vndbinder"
CONFIG_ANDROID_BINDER_IPC=y
CONFIG_ANDROID_BINDERFS=y
CONFIG_ASHMEM=y
CONFIG_AUDIT=y
CONFIG_BINFMT_ELF=y
CONFIG_BINFMT_SCRIPT=y
CONFIG_BLK_DEV_INITRD=y
CONFIG_BLK_DEV_LOOP=y
CONFIG_BLK_DEV_LOOP_MIN_COUNT=16
CONFIG_BLOCK=y
CONFIG_BPF_JIT=y
CONFIG_BPF_SYSCALL=y
CONFIG_CGROUPS=y
CONFIG_CGROUP_BPF=y
CONFIG_CGROUP_CPUACCT=y
CONFIG_CGROUP_FREEZER=y
CONFIG_CGROUP_SCHED=y
CONFIG_CROSS_MEMORY_ATTACH=y
CONFIG_CRYPTO_AES=y
CONFIG_CRYPTO_CBC=y
CONFIG_CRYPTO_CHACHA20POLY1305=y
CONFIG_CRYPTO_CMAC=y
CONFIG_CRYPTO_CTR=y
CONFIG_CRYPTO_ECB=y
CONFIG_CRYPTO_GCM=y
CONFIG_CRYPTO_HMAC=y
CONFIG_CRYPTO_LZ4=y
CONFIG_CRYPTO_MD5=y
CONFIG_CRYPTO_NULL=y
CONFIG_CRYPTO_SHA1=y
CONFIG_CRYPTO_SHA256=y
CONFIG_CRYPTO_SHA512=y
CONFIG_CRYPTO_XCBC=y
CONFIG_DEBUG_LIST=y
CONFIG_CPU_FREQ_TIMES=y
CONFIG_DEFAULT_SECURITY_SELINUX=y
CONFIG_DM_SNAPSHOT=y
CONFIG_DM_VERITY=y
CONFIG_DM_ANDROID_VERITY_AT_MOST_ONCE_DEFAULT_ENABLED=y
CONFIG_DM_VERITY_FEC=y
CONFIG_DUMMY=y
CONFIG_EMBEDDED=y
CONFIG_EPOLL=y
CONFIG_EVENTFD=y
CONFIG_EXT4_FS_POSIX_ACL=y
CONFIG_FILE_LOCKING=y
CONFIG_FS_ENCRYPTION=y
CONFIG_FS_VERITY=y
CONFIG_FS_VERITY_BUILTIN_SIGNATURES=y
CONFIG_FUSE_FS=y
CONFIG_FUTEX=y
CONFIG_F2FS_FS_POSIX_ACL=y
CONFIG_GKI_HIDDEN_GPU_CONFIGS=y
CONFIG_HARDENED_USERCOPY=y
CONFIG_HID_GENERIC=y
CONFIG_HID_SONY=y
CONFIG_HIGH_RES_TIMERS=y
CONFIG_HZ_300=y
CONFIG_IKCONFIG=y
CONFIG_IKCONFIG_PROC=y
CONFIG_IKHEADERS=y
CONFIG_INET6_ESP=y
CONFIG_INET6_IPCOMP=y
CONFIG_INET6_XFRM_MODE_TRANSPORT=y
CONFIG_INET6_XFRM_MODE_TUNNEL=y
CONFIG_INET=y
CONFIG_INET_DIAG_DESTROY=y
CONFIG_INET_ESP=y
CONFIG_INET_UDP_DIAG=y
CONFIG_INET_XFRM_MODE_TRANSPORT=y
CONFIG_INET_XFRM_MODE_TUNNEL=y
CONFIG_INOTIFY_USER=y
CONFIG_INPUT=y
CONFIG_INPUT_EVDEV=y
CONFIG_INPUT_JOYSTICK=y
CONFIG_IP6_NF_FILTER=y
CONFIG_IP6_NF_IPTABLES=y
CONFIG_IP6_NF_MANGLE=y
CONFIG_IP6_NF_MATCH_RPFILTER=y
CONFIG_IP6_NF_RAW=y
CONFIG_IP6_NF_TARGET_REJECT=y
CONFIG_IPV6=y
CONFIG_IPV6_MIP6=y
CONFIG_IPV6_MULTIPLE_TABLES=y
CONFIG_IPV6_OPTIMISTIC_DAD=y
CONFIG_IPV6_ROUTER_PREF=y
CONFIG_IPV6_ROUTE_INFO=y
CONFIG_IPV6_VTI=y
CONFIG_IP_ADVANCED_ROUTER=y
CONFIG_IP_MULTICAST=y
CONFIG_IP_MULTIPLE_TABLES=y
CONFIG_IP_NF_ARPFILTER=y
CONFIG_IP_NF_ARPTABLES=y
CONFIG_IP_NF_ARP_MANGLE=y
CONFIG_IP_NF_FILTER=y
CONFIG_IP_NF_IPTABLES=y
CONFIG_IP_NF_MANGLE=y
CONFIG_IP_NF_MATCH_ECN=y
CONFIG_IP_NF_MATCH_TTL=y
CONFIG_IP_NF_NAT=y
CONFIG_IP_NF_RAW=y
CONFIG_IP_NF_SECURITY=y
CONFIG_IP_NF_TARGET_MASQUERADE=y
CONFIG_IP_NF_TARGET_NETMAP=y
CONFIG_IP_NF_TARGET_REDIRECT=y
CONFIG_IP_NF_TARGET_REJECT=y
CONFIG_JOYSTICK_XPAD=y
CONFIG_L2TP=y
CONFIG_MAGIC_SYSRQ=y
CONFIG_MD=y
CONFIG_MEMBARRIER=y
CONFIG_MEMCG=y
CONFIG_MEMCG_SWAP=y
CONFIG_MMU=y
CONFIG_MODULES=y
CONFIG_MODULE_UNLOAD=y
CONFIG_MODVERSIONS=y
CONFIG_MULTIUSER=y
CONFIG_NAMESPACES=y
CONFIG_NET=y
CONFIG_NETDEVICES=y
CONFIG_NETFILTER=y
CONFIG_NETFILTER_XT_MATCH_BPF=y
CONFIG_NETFILTER_XT_MATCH_COMMENT=y
CONFIG_NETFILTER_XT_MATCH_CONNLIMIT=y
CONFIG_NETFILTER_XT_MATCH_CONNMARK=y
CONFIG_NETFILTER_XT_MATCH_CONNTRACK=y
CONFIG_NETFILTER_XT_MATCH_HASHLIMIT=y
CONFIG_NETFILTER_XT_MATCH_HELPER=y
CONFIG_NETFILTER_XT_MATCH_IPRANGE=y
CONFIG_NETFILTER_XT_MATCH_LENGTH=y
CONFIG_NETFILTER_XT_MATCH_LIMIT=y
CONFIG_NETFILTER_XT_MATCH_MAC=y
CONFIG_NETFILTER_XT_MATCH_MARK=y
CONFIG_NETFILTER_XT_MATCH_OWNER=y
CONFIG_NETFILTER_XT_MATCH_PKTTYPE=y
CONFIG_NETFILTER_XT_MATCH_POLICY=y
CONFIG_NETFILTER_XT_MATCH_QUOTA2=y
CONFIG_NETFILTER_XT_MATCH_QUOTA2_LOG=y
CONFIG_NETFILTER_XT_MATCH_QUOTA=y
CONFIG_NETFILTER_XT_MATCH_SOCKET=y
CONFIG_NETFILTER_XT_MATCH_STATE=y
CONFIG_NETFILTER_XT_MATCH_STATISTIC=y
CONFIG_NETFILTER_XT_MATCH_STRING=y
CONFIG_NETFILTER_XT_MATCH_TIME=y
CONFIG_NETFILTER_XT_MATCH_U32=y
CONFIG_NETFILTER_XT_TARGET_CLASSIFY=y
CONFIG_NETFILTER_XT_TARGET_CONNMARK=y
CONFIG_NETFILTER_XT_TARGET_CONNSECMARK=y
CONFIG_NETFILTER_XT_TARGET_CT=y
CONFIG_NETFILTER_XT_TARGET_IDLETIMER=y
CONFIG_NETFILTER_XT_TARGET_MARK=y
CONFIG_NETFILTER_XT_TARGET_NFLOG=y
CONFIG_NETFILTER_XT_TARGET_NFQUEUE=y
CONFIG_NETFILTER_XT_TARGET_SECMARK=y
CONFIG_NETFILTER_XT_TARGET_TCPMSS=y
CONFIG_NETFILTER_XT_TARGET_TPROXY=y
CONFIG_NETFILTER_XT_TARGET_TRACE=y
CONFIG_NET_CLS_ACT=y
CONFIG_NET_CLS_BPF=y
CONFIG_NET_CLS_U32=y
CONFIG_NET_EMATCH=y
CONFIG_NET_EMATCH_U32=y
CONFIG_NET_IPGRE_DEMUX=y
CONFIG_NET_IPVTI=y
CONFIG_NET_KEY=y
CONFIG_NET_NS=y
CONFIG_NET_SCHED=y
CONFIG_NET_SCH_HTB=y
CONFIG_NET_SCH_INGRESS=y
CONFIG_NF_CONNTRACK=y
CONFIG_NF_CONNTRACK_AMANDA=y
CONFIG_NF_CONNTRACK_EVENTS=y
CONFIG_NF_CONNTRACK_FTP=y
CONFIG_NF_CONNTRACK_H323=y
CONFIG_NF_CONNTRACK_IRC=y
CONFIG_NF_CONNTRACK_NETBIOS_NS=y
CONFIG_NF_CONNTRACK_PPTP=y
CONFIG_NF_CONNTRACK_SANE=y
CONFIG_NF_CONNTRACK_SECMARK=y
CONFIG_NF_CONNTRACK_TFTP=y
CONFIG_NF_CT_NETLINK=y
CONFIG_NF_CT_PROTO_DCCP=y
CONFIG_NF_CT_PROTO_SCTP=y
CONFIG_NF_CT_PROTO_UDPLITE=y
CONFIG_NF_NAT=y
CONFIG_NF_SOCKET_IPV4=y
CONFIG_NF_SOCKET_IPV6=y
CONFIG_NO_HZ=y
CONFIG_PACKET=y
CONFIG_PM_WAKELOCKS=y
CONFIG_POSIX_TIMERS=y
CONFIG_PPP=y
CONFIG_PPPOL2TP=y
CONFIG_PPP_BSDCOMP=y
CONFIG_PPP_DEFLATE=y
CONFIG_PPP_MPPE=y
CONFIG_PPTP=y
CONFIG_PREEMPT=y
CONFIG_PROC_FS=y
CONFIG_PROFILING=y
CONFIG_PSI=y
CONFIG_QFMT_V2=y
CONFIG_QUOTA=y
CONFIG_QUOTACTL=y
CONFIG_RD_LZ4=y
CONFIG_RTC_CLASS=y
CONFIG_SCHED_DEBUG=y
CONFIG_SECCOMP=y
CONFIG_SECCOMP_FILTER=y
CONFIG_SECURITY=y
CONFIG_SECURITY_NETWORK=y
CONFIG_SECURITY_SELINUX=y
CONFIG_SHMEM=y
CONFIG_SIGNALFD=y
CONFIG_SND=y
CONFIG_SOUND=y
CONFIG_SONY_FF=y
CONFIG_STACKPROTECTOR=y
CONFIG_STACKPROTECTOR_STRONG=y
CONFIG_STAGING=y
CONFIG_STATIC_USERMODEHELPER=y
CONFIG_STRICT_KERNEL_RWX=y
CONFIG_STRICT_MODULE_RWX=y
CONFIG_SUSPEND=y
CONFIG_SYNC_FILE=y
CONFIG_SYSFS=y
CONFIG_TASKSTATS=y
CONFIG_TASK_IO_ACCOUNTING=y
CONFIG_TASK_XACCT=y
CONFIG_TIMERFD=y
CONFIG_TTY=y
CONFIG_TUN=y
CONFIG_UHID=y
CONFIG_UID_SYS_STATS=y
CONFIG_UNICODE=y
CONFIG_UNICODE_NORMALIZATION_SELFTEST=y
CONFIG_UNIX=y
CONFIG_USB=y
CONFIG_USB_CONFIGFS=y
CONFIG_USB_CONFIGFS_F_ACC=y
CONFIG_USB_CONFIGFS_F_AUDIO_SRC=y
CONFIG_USB_CONFIGFS_F_FS=y
CONFIG_USB_CONFIGFS_F_MIDI=y
CONFIG_USB_CONFIGFS_UEVENT=y
CONFIG_USB_GADGET=y
CONFIG_USB_SUPPORT=y
CONFIG_UTS_NS=y
CONFIG_VETH=y
CONFIG_XFRM_INTERFACE=y
CONFIG_XFRM_MIGRATE=y
CONFIG_XFRM_STATISTICS=y
CONFIG_XFRM_USER=y
CONFIG_ZRAM=y
CONFIG_ZRAM_WRITEBACK=y
CONFIG_MMC_CRYPTO=y
CONFIG_BLK_INLINE_ENCRYPTION=y
CONFIG_FS_ENCRYPTION_INLINE_CRYPT=y
CONFIG_DM_DEFAULT_KEY=y
CONFIG_BLK_INLINE_ENCRYPTION_FALLBACK=y

279
configs/android-11.config Normal file
View File

@ -0,0 +1,279 @@
# KEEP ALPHABETICALLY SORTED
# CONFIG_ANDROID_LOW_MEMORY_KILLER is not set
# CONFIG_ANDROID_PARANOID_NETWORK is not set
# CONFIG_BPFILTER is not set
# CONFIG_CIFS is not set
# CONFIG_CIFS_XATTR is not set
# CONFIG_CIFS_POSIX is not set
# CONFIG_CRYPTO_MD4 is not set
# CONFIG_DEVMEM is not set
# CONFIG_FHANDLE is not set
# CONFIG_FW_CACHE is not set
# CONFIG_IP6_NF_NAT is not set
# CONFIG_MODULE_FORCE_UNLOAD is not set
# CONFIG_NFSD is not set
# CONFIG_NFS_FS is not set
# CONFIG_PM_AUTOSLEEP is not set
# CONFIG_RT_GROUP_SCHED is not set
# CONFIG_SDCARD_FS is not set
# CONFIG_SYSVIPC is not set
# CONFIG_USELIB is not set
# CONFIG_VHOST is not set
CONFIG_ADVISE_SYSCALLS=y
CONFIG_AIO=y
CONFIG_ANDROID=y
CONFIG_ANDROID_BINDER_DEVICES="binder,hwbinder,vndbinder"
CONFIG_ANDROID_BINDER_IPC=y
CONFIG_ANDROID_BINDERFS=y
CONFIG_ASHMEM=y
CONFIG_AUDIT=y
CONFIG_BINFMT_ELF=y
CONFIG_BINFMT_SCRIPT=y
CONFIG_BLK_DEV_INITRD=y
CONFIG_BLK_DEV_LOOP=y
CONFIG_BLK_DEV_LOOP_MIN_COUNT=16
CONFIG_BLOCK=y
CONFIG_BPF_JIT=y
CONFIG_BPF_SYSCALL=y
CONFIG_CGROUPS=y
CONFIG_CGROUP_BPF=y
CONFIG_CGROUP_CPUACCT=y
CONFIG_CGROUP_FREEZER=y
CONFIG_CGROUP_SCHED=y
CONFIG_CROSS_MEMORY_ATTACH=y
CONFIG_CRYPTO_AES=y
CONFIG_CRYPTO_CBC=y
CONFIG_CRYPTO_CHACHA20POLY1305=y
CONFIG_CRYPTO_CMAC=y
CONFIG_CRYPTO_CTR=y
CONFIG_CRYPTO_ECB=y
CONFIG_CRYPTO_GCM=y
CONFIG_CRYPTO_HMAC=y
CONFIG_CRYPTO_MD5=y
CONFIG_CRYPTO_NULL=y
CONFIG_CRYPTO_SHA1=y
CONFIG_CRYPTO_SHA256=y
CONFIG_CRYPTO_SHA512=y
CONFIG_CRYPTO_XCBC=y
CONFIG_DEBUG_LIST=y
CONFIG_CPU_FREQ_TIMES=y
CONFIG_DEFAULT_SECURITY_SELINUX=y
CONFIG_DM_SNAPSHOT=y
CONFIG_DM_VERITY=y
CONFIG_DUMMY=y
CONFIG_EMBEDDED=y
CONFIG_EPOLL=y
CONFIG_EVENTFD=y
CONFIG_EXT4_FS_POSIX_ACL=y
CONFIG_FILE_LOCKING=y
CONFIG_FS_ENCRYPTION=y
CONFIG_FS_VERITY=y
CONFIG_FS_VERITY_BUILTIN_SIGNATURES=y
CONFIG_FUSE_FS=y
CONFIG_FUTEX=y
CONFIG_F2FS_FS_POSIX_ACL=y
CONFIG_HARDENED_USERCOPY=y
CONFIG_HID_GENERIC=y
CONFIG_HID_SONY=y
CONFIG_SONY_FF=y
CONFIG_HIGH_RES_TIMERS=y
CONFIG_IKCONFIG=y
CONFIG_IKCONFIG_PROC=y
CONFIG_IKHEADERS=y
CONFIG_INET6_ESP=y
CONFIG_INET6_IPCOMP=y
CONFIG_INET6_XFRM_MODE_TRANSPORT=y
CONFIG_INET6_XFRM_MODE_TUNNEL=y
CONFIG_INET=y
CONFIG_INET_DIAG_DESTROY=y
CONFIG_INET_ESP=y
CONFIG_INET_UDP_DIAG=y
CONFIG_INET_XFRM_MODE_TRANSPORT=y
CONFIG_INET_XFRM_MODE_TUNNEL=y
CONFIG_INOTIFY_USER=y
CONFIG_INPUT=y
CONFIG_INPUT_EVDEV=y
CONFIG_INPUT_JOYSTICK=y
CONFIG_IP6_NF_FILTER=y
CONFIG_IP6_NF_IPTABLES=y
CONFIG_IP6_NF_MANGLE=y
CONFIG_IP6_NF_MATCH_RPFILTER=y
CONFIG_IP6_NF_RAW=y
CONFIG_IP6_NF_TARGET_REJECT=y
CONFIG_IPV6=y
CONFIG_IPV6_MIP6=y
CONFIG_IPV6_MULTIPLE_TABLES=y
CONFIG_IPV6_OPTIMISTIC_DAD=y
CONFIG_IPV6_ROUTER_PREF=y
CONFIG_IPV6_ROUTE_INFO=y
CONFIG_IPV6_VTI=y
CONFIG_IP_ADVANCED_ROUTER=y
CONFIG_IP_MULTICAST=y
CONFIG_IP_MULTIPLE_TABLES=y
CONFIG_IP_NF_ARPFILTER=y
CONFIG_IP_NF_ARPTABLES=y
CONFIG_IP_NF_ARP_MANGLE=y
CONFIG_IP_NF_FILTER=y
CONFIG_IP_NF_IPTABLES=y
CONFIG_IP_NF_MANGLE=y
CONFIG_IP_NF_MATCH_ECN=y
CONFIG_IP_NF_MATCH_TTL=y
CONFIG_IP_NF_NAT=y
CONFIG_IP_NF_RAW=y
CONFIG_IP_NF_SECURITY=y
CONFIG_IP_NF_TARGET_MASQUERADE=y
CONFIG_IP_NF_TARGET_NETMAP=y
CONFIG_IP_NF_TARGET_REDIRECT=y
CONFIG_IP_NF_TARGET_REJECT=y
CONFIG_JOYSTICK_XPAD=y
CONFIG_L2TP=y
CONFIG_MAGIC_SYSRQ=y
CONFIG_MD=y
CONFIG_MEMBARRIER=y
CONFIG_MMU=y
CONFIG_MODULES=y
CONFIG_MODULE_UNLOAD=y
CONFIG_MODVERSIONS=y
CONFIG_MULTIUSER=y
CONFIG_NAMESPACES=y
CONFIG_NET=y
CONFIG_NETDEVICES=y
CONFIG_NETFILTER=y
CONFIG_NETFILTER_XT_MATCH_BPF=y
CONFIG_NETFILTER_XT_MATCH_COMMENT=y
CONFIG_NETFILTER_XT_MATCH_CONNLIMIT=y
CONFIG_NETFILTER_XT_MATCH_CONNMARK=y
CONFIG_NETFILTER_XT_MATCH_CONNTRACK=y
CONFIG_NETFILTER_XT_MATCH_HASHLIMIT=y
CONFIG_NETFILTER_XT_MATCH_HELPER=y
CONFIG_NETFILTER_XT_MATCH_IPRANGE=y
CONFIG_NETFILTER_XT_MATCH_LENGTH=y
CONFIG_NETFILTER_XT_MATCH_LIMIT=y
CONFIG_NETFILTER_XT_MATCH_MAC=y
CONFIG_NETFILTER_XT_MATCH_MARK=y
CONFIG_NETFILTER_XT_MATCH_OWNER=y
CONFIG_NETFILTER_XT_MATCH_PKTTYPE=y
CONFIG_NETFILTER_XT_MATCH_POLICY=y
CONFIG_NETFILTER_XT_MATCH_QUOTA2=y
CONFIG_NETFILTER_XT_MATCH_QUOTA2_LOG=y
CONFIG_NETFILTER_XT_MATCH_QUOTA=y
CONFIG_NETFILTER_XT_MATCH_SOCKET=y
CONFIG_NETFILTER_XT_MATCH_STATE=y
CONFIG_NETFILTER_XT_MATCH_STATISTIC=y
CONFIG_NETFILTER_XT_MATCH_STRING=y
CONFIG_NETFILTER_XT_MATCH_TIME=y
CONFIG_NETFILTER_XT_MATCH_U32=y
CONFIG_NETFILTER_XT_TARGET_CLASSIFY=y
CONFIG_NETFILTER_XT_TARGET_CONNMARK=y
CONFIG_NETFILTER_XT_TARGET_CONNSECMARK=y
CONFIG_NETFILTER_XT_TARGET_CT=y
CONFIG_NETFILTER_XT_TARGET_IDLETIMER=y
CONFIG_NETFILTER_XT_TARGET_MARK=y
CONFIG_NETFILTER_XT_TARGET_NFLOG=y
CONFIG_NETFILTER_XT_TARGET_NFQUEUE=y
CONFIG_NETFILTER_XT_TARGET_SECMARK=y
CONFIG_NETFILTER_XT_TARGET_TCPMSS=y
CONFIG_NETFILTER_XT_TARGET_TPROXY=y
CONFIG_NETFILTER_XT_TARGET_TRACE=y
CONFIG_NET_CLS_ACT=y
CONFIG_NET_CLS_BPF=y
CONFIG_NET_CLS_U32=y
CONFIG_NET_EMATCH=y
CONFIG_NET_EMATCH_U32=y
CONFIG_NET_IPGRE_DEMUX=y
CONFIG_NET_IPVTI=y
CONFIG_NET_KEY=y
CONFIG_NET_NS=y
CONFIG_NET_SCHED=y
CONFIG_NET_SCH_HTB=y
CONFIG_NET_SCH_INGRESS=y
CONFIG_NF_CONNTRACK=y
CONFIG_NF_CONNTRACK_AMANDA=y
CONFIG_NF_CONNTRACK_EVENTS=y
CONFIG_NF_CONNTRACK_FTP=y
CONFIG_NF_CONNTRACK_H323=y
CONFIG_NF_CONNTRACK_IRC=y
CONFIG_NF_CONNTRACK_NETBIOS_NS=y
CONFIG_NF_CONNTRACK_PPTP=y
CONFIG_NF_CONNTRACK_SANE=y
CONFIG_NF_CONNTRACK_SECMARK=y
CONFIG_NF_CONNTRACK_TFTP=y
CONFIG_NF_CT_NETLINK=y
CONFIG_NF_CT_PROTO_DCCP=y
CONFIG_NF_CT_PROTO_SCTP=y
CONFIG_NF_CT_PROTO_UDPLITE=y
CONFIG_NF_NAT=y
CONFIG_NF_SOCKET_IPV4=y
CONFIG_NF_SOCKET_IPV6=y
CONFIG_NO_HZ=y
CONFIG_PACKET=y
CONFIG_PM_WAKELOCKS=y
CONFIG_POSIX_TIMERS=y
CONFIG_PPP=y
CONFIG_PPPOL2TP=y
CONFIG_PPP_BSDCOMP=y
CONFIG_PPP_DEFLATE=y
CONFIG_PPP_MPPE=y
CONFIG_PPTP=y
CONFIG_PREEMPT=y
CONFIG_PROC_FS=y
CONFIG_PROFILING=y
CONFIG_PSI=y
CONFIG_QFMT_V2=y
CONFIG_QUOTA=y
CONFIG_QUOTACTL=y
CONFIG_RD_LZ4=y
CONFIG_RTC_CLASS=y
CONFIG_SCHED_DEBUG=y
CONFIG_SECCOMP=y
CONFIG_SECCOMP_FILTER=y
CONFIG_SECURITY=y
CONFIG_SECURITY_NETWORK=y
CONFIG_SECURITY_SELINUX=y
CONFIG_SHMEM=y
CONFIG_SIGNALFD=y
CONFIG_SND=y
CONFIG_SOUND=y
CONFIG_STACKPROTECTOR=y
CONFIG_STACKPROTECTOR_STRONG=y
CONFIG_STAGING=y
CONFIG_STATIC_USERMODEHELPER=y
CONFIG_STRICT_KERNEL_RWX=y
CONFIG_STRICT_MODULE_RWX=y
CONFIG_SUSPEND=y
CONFIG_SYNC_FILE=y
CONFIG_SYSFS=y
CONFIG_TASKSTATS=y
CONFIG_TASK_IO_ACCOUNTING=y
CONFIG_TASK_XACCT=y
CONFIG_TIMERFD=y
CONFIG_GKI_HIDDEN_GPU_CONFIGS=y
CONFIG_TTY=y
CONFIG_TUN=y
CONFIG_UHID=y
CONFIG_UID_SYS_STATS=y
CONFIG_UNICODE=y
CONFIG_UNICODE_NORMALIZATION_SELFTEST=y
CONFIG_UNIX=y
CONFIG_USB=y
CONFIG_USB_CONFIGFS=y
CONFIG_USB_CONFIGFS_F_ACC=y
CONFIG_USB_CONFIGFS_F_AUDIO_SRC=y
CONFIG_USB_CONFIGFS_F_FS=y
CONFIG_USB_CONFIGFS_F_MIDI=y
CONFIG_USB_CONFIGFS_UEVENT=y
CONFIG_USB_GADGET=y
CONFIG_USB_SUPPORT=y
CONFIG_UTS_NS=y
CONFIG_VETH=y
CONFIG_XFRM_INTERFACE=y
CONFIG_XFRM_MIGRATE=y
CONFIG_XFRM_STATISTICS=y
CONFIG_XFRM_USER=y
CONFIG_MMC_CRYPTO=y
CONFIG_BLK_INLINE_ENCRYPTION=y
CONFIG_FS_ENCRYPTION_INLINE_CRYPT=y
CONFIG_DM_DEFAULT_KEY=y
CONFIG_BLK_INLINE_ENCRYPTION_FALLBACK=y
CONFIG_KSM=y
CONFIG_ZRAM_WRITEBACK=y

View File

@ -0,0 +1,272 @@
# KEEP ALPHABETICALLY SORTED
# CONFIG_ANDROID_LOW_MEMORY_KILLER is not set
# CONFIG_ANDROID_PARANOID_NETWORK is not set
# CONFIG_BPFILTER is not set
# CONFIG_DEVMEM is not set
# CONFIG_FHANDLE is not set
# CONFIG_FW_CACHE is not set
# CONFIG_IP6_NF_NAT is not set
# CONFIG_MODULE_FORCE_UNLOAD is not set
# CONFIG_NFSD is not set
# CONFIG_NFS_FS is not set
# CONFIG_PM_AUTOSLEEP is not set
# CONFIG_RT_GROUP_SCHED is not set
# CONFIG_SYSVIPC is not set
# CONFIG_USELIB is not set
CONFIG_ADVISE_SYSCALLS=y
CONFIG_AIO=y
CONFIG_ANDROID=y
CONFIG_ANDROID_BINDER_DEVICES="binder,hwbinder,vndbinder"
CONFIG_ANDROID_BINDER_IPC=y
CONFIG_ANDROID_BINDERFS=y
CONFIG_ASHMEM=y
CONFIG_AS_IS_LLVM=y
CONFIG_AUDIT=y
CONFIG_BINFMT_ELF=y
CONFIG_BINFMT_SCRIPT=y
CONFIG_BLK_DEV_INITRD=y
CONFIG_BLK_DEV_LOOP=y
CONFIG_BLK_INLINE_ENCRYPTION=y
CONFIG_BLOCK=y
CONFIG_BPF_JIT=y
CONFIG_BPF_SYSCALL=y
CONFIG_CC_IS_CLANG=y
CONFIG_CGROUPS=y
CONFIG_CGROUP_BPF=y
CONFIG_CGROUP_CPUACCT=y
CONFIG_CGROUP_FREEZER=y
CONFIG_CGROUP_SCHED=y
CONFIG_CROSS_MEMORY_ATTACH=y
CONFIG_CRYPTO_AES=y
CONFIG_CRYPTO_CBC=y
CONFIG_CRYPTO_CHACHA20POLY1305=y
CONFIG_CRYPTO_CMAC=y
CONFIG_CRYPTO_CTR=y
CONFIG_CRYPTO_ECB=y
CONFIG_CRYPTO_GCM=y
CONFIG_CRYPTO_HMAC=y
CONFIG_CRYPTO_MD5=y
CONFIG_CRYPTO_NULL=y
CONFIG_CRYPTO_SHA1=y
CONFIG_CRYPTO_SHA256=y
CONFIG_CRYPTO_SHA512=y
CONFIG_CRYPTO_XCBC=y
CONFIG_DEBUG_LIST=y
CONFIG_DEFAULT_SECURITY_SELINUX=y
CONFIG_DM_DEFAULT_KEY=y
CONFIG_DM_SNAPSHOT=y
CONFIG_DM_VERITY=y
CONFIG_DM_ANDROID_VERITY_AT_MOST_ONCE_DEFAULT_ENABLED=y
CONFIG_DUMMY=y
CONFIG_EMBEDDED=y
CONFIG_EPOLL=y
CONFIG_EVENTFD=y
CONFIG_FILE_LOCKING=y
CONFIG_FS_ENCRYPTION=y
CONFIG_FS_ENCRYPTION_INLINE_CRYPT=y
CONFIG_FS_VERITY=y
CONFIG_FS_VERITY_BUILTIN_SIGNATURES=y
CONFIG_FUSE_FS=y
CONFIG_FUTEX=y
CONFIG_HARDENED_USERCOPY=y
CONFIG_HID_GENERIC=y
CONFIG_HID_PLAYSTATION=y
CONFIG_PLAYSTATION_FF=y
CONFIG_HIDRAW=y
CONFIG_HID_SONY=y
CONFIG_SONY_FF=y
CONFIG_HIGH_RES_TIMERS=y
CONFIG_IKCONFIG=y
CONFIG_IKCONFIG_PROC=y
CONFIG_INET6_ESP=y
CONFIG_INET6_IPCOMP=y
CONFIG_INET=y
CONFIG_INET_DIAG_DESTROY=y
CONFIG_INET_ESP=y
CONFIG_INET_UDP_DIAG=y
CONFIG_INIT_STACK_ALL_ZERO=y
CONFIG_INOTIFY_USER=y
CONFIG_INPUT=y
CONFIG_INPUT_EVDEV=y
CONFIG_INPUT_JOYSTICK=y
CONFIG_IP6_NF_FILTER=y
CONFIG_IP6_NF_IPTABLES=y
CONFIG_IP6_NF_MANGLE=y
CONFIG_IP6_NF_MATCH_RPFILTER=y
CONFIG_IP6_NF_RAW=y
CONFIG_IP6_NF_TARGET_REJECT=y
CONFIG_IPV6=y
CONFIG_IPV6_MIP6=y
CONFIG_IPV6_MULTIPLE_TABLES=y
CONFIG_IPV6_OPTIMISTIC_DAD=y
CONFIG_IPV6_ROUTER_PREF=y
CONFIG_IPV6_ROUTE_INFO=y
CONFIG_IPV6_VTI=y
CONFIG_IP_ADVANCED_ROUTER=y
CONFIG_IP_MULTICAST=y
CONFIG_IP_MULTIPLE_TABLES=y
CONFIG_IP_NF_ARPFILTER=y
CONFIG_IP_NF_ARPTABLES=y
CONFIG_IP_NF_ARP_MANGLE=y
CONFIG_IP_NF_FILTER=y
CONFIG_IP_NF_IPTABLES=y
CONFIG_IP_NF_MANGLE=y
CONFIG_IP_NF_MATCH_ECN=y
CONFIG_IP_NF_MATCH_TTL=y
CONFIG_IP_NF_NAT=y
CONFIG_IP_NF_RAW=y
CONFIG_IP_NF_SECURITY=y
CONFIG_IP_NF_TARGET_MASQUERADE=y
CONFIG_IP_NF_TARGET_NETMAP=y
CONFIG_IP_NF_TARGET_REDIRECT=y
CONFIG_IP_NF_TARGET_REJECT=y
CONFIG_JOYSTICK_XPAD=y
CONFIG_L2TP=y
CONFIG_LD_IS_LLD=y
CONFIG_MAGIC_SYSRQ=y
CONFIG_MD=y
CONFIG_MEMBARRIER=y
CONFIG_MMU=y
CONFIG_MODULES=y
CONFIG_MODULE_UNLOAD=y
CONFIG_MODVERSIONS=y
CONFIG_MULTIUSER=y
CONFIG_NAMESPACES=y
CONFIG_NET=y
CONFIG_NETDEVICES=y
CONFIG_NETFILTER=y
CONFIG_NETFILTER_XT_MATCH_BPF=y
CONFIG_NETFILTER_XT_MATCH_COMMENT=y
CONFIG_NETFILTER_XT_MATCH_CONNLIMIT=y
CONFIG_NETFILTER_XT_MATCH_CONNMARK=y
CONFIG_NETFILTER_XT_MATCH_CONNTRACK=y
CONFIG_NETFILTER_XT_MATCH_HASHLIMIT=y
CONFIG_NETFILTER_XT_MATCH_HELPER=y
CONFIG_NETFILTER_XT_MATCH_IPRANGE=y
CONFIG_NETFILTER_XT_MATCH_LENGTH=y
CONFIG_NETFILTER_XT_MATCH_LIMIT=y
CONFIG_NETFILTER_XT_MATCH_MAC=y
CONFIG_NETFILTER_XT_MATCH_MARK=y
CONFIG_NETFILTER_XT_MATCH_OWNER=y
CONFIG_NETFILTER_XT_MATCH_PKTTYPE=y
CONFIG_NETFILTER_XT_MATCH_POLICY=y
CONFIG_NETFILTER_XT_MATCH_QUOTA2=y
CONFIG_NETFILTER_XT_MATCH_QUOTA2_LOG=y
CONFIG_NETFILTER_XT_MATCH_QUOTA=y
CONFIG_NETFILTER_XT_MATCH_SOCKET=y
CONFIG_NETFILTER_XT_MATCH_STATE=y
CONFIG_NETFILTER_XT_MATCH_STATISTIC=y
CONFIG_NETFILTER_XT_MATCH_STRING=y
CONFIG_NETFILTER_XT_MATCH_TIME=y
CONFIG_NETFILTER_XT_MATCH_U32=y
CONFIG_NETFILTER_XT_TARGET_CLASSIFY=y
CONFIG_NETFILTER_XT_TARGET_CONNMARK=y
CONFIG_NETFILTER_XT_TARGET_CONNSECMARK=y
CONFIG_NETFILTER_XT_TARGET_CT=y
CONFIG_NETFILTER_XT_TARGET_IDLETIMER=y
CONFIG_NETFILTER_XT_TARGET_MARK=y
CONFIG_NETFILTER_XT_TARGET_NFLOG=y
CONFIG_NETFILTER_XT_TARGET_NFQUEUE=y
CONFIG_NETFILTER_XT_TARGET_SECMARK=y
CONFIG_NETFILTER_XT_TARGET_TCPMSS=y
CONFIG_NETFILTER_XT_TARGET_TPROXY=y
CONFIG_NETFILTER_XT_TARGET_TRACE=y
CONFIG_NET_ACT_POLICE=y
CONFIG_NET_ACT_BPF=y
CONFIG_NET_CLS_ACT=y
CONFIG_NET_CLS_BPF=y
CONFIG_NET_CLS_MATCHALL=y
CONFIG_NET_CLS_U32=y
CONFIG_NET_EMATCH=y
CONFIG_NET_EMATCH_U32=y
CONFIG_NET_IPGRE_DEMUX=y
CONFIG_NET_IPVTI=y
CONFIG_NET_KEY=y
CONFIG_NET_NS=y
CONFIG_NET_SCHED=y
CONFIG_NET_SCH_HTB=y
CONFIG_NET_SCH_INGRESS=y
CONFIG_NET_SCH_TBF=y
CONFIG_NF_CONNTRACK=y
CONFIG_NF_CONNTRACK_AMANDA=y
CONFIG_NF_CONNTRACK_EVENTS=y
CONFIG_NF_CONNTRACK_FTP=y
CONFIG_NF_CONNTRACK_H323=y
CONFIG_NF_CONNTRACK_IRC=y
CONFIG_NF_CONNTRACK_NETBIOS_NS=y
CONFIG_NF_CONNTRACK_PPTP=y
CONFIG_NF_CONNTRACK_SANE=y
CONFIG_NF_CONNTRACK_SECMARK=y
CONFIG_NF_CONNTRACK_TFTP=y
CONFIG_NF_CT_NETLINK=y
CONFIG_NF_CT_PROTO_DCCP=y
CONFIG_NF_CT_PROTO_SCTP=y
CONFIG_NF_CT_PROTO_UDPLITE=y
CONFIG_NF_NAT=y
CONFIG_NF_SOCKET_IPV4=y
CONFIG_NF_SOCKET_IPV6=y
CONFIG_NO_HZ=y
CONFIG_PACKET=y
CONFIG_PM_WAKELOCKS=y
CONFIG_POSIX_TIMERS=y
CONFIG_PPP=y
CONFIG_PPPOL2TP=y
CONFIG_PPP_BSDCOMP=y
CONFIG_PPP_DEFLATE=y
CONFIG_PPP_MPPE=y
CONFIG_PPTP=y
CONFIG_PREEMPT=y
CONFIG_PROC_FS=y
CONFIG_PROFILING=y
CONFIG_PSI=y
CONFIG_QFMT_V2=y
CONFIG_QUOTA=y
CONFIG_QUOTACTL=y
CONFIG_RD_LZ4=y
CONFIG_RTC_CLASS=y
CONFIG_SCHED_DEBUG=y
CONFIG_SECCOMP=y
CONFIG_SECCOMP_FILTER=y
CONFIG_SECURITY=y
CONFIG_SECURITY_NETWORK=y
CONFIG_SECURITY_SELINUX=y
CONFIG_SHMEM=y
CONFIG_SIGNALFD=y
CONFIG_SND=y
CONFIG_SOUND=y
CONFIG_STACKPROTECTOR=y
CONFIG_STACKPROTECTOR_STRONG=y
CONFIG_STAGING=y
CONFIG_STATIC_USERMODEHELPER=y
CONFIG_STRICT_KERNEL_RWX=y
CONFIG_STRICT_MODULE_RWX=y
CONFIG_SUSPEND=y
CONFIG_SYNC_FILE=y
CONFIG_SYSFS=y
CONFIG_TASKSTATS=y
CONFIG_TASK_IO_ACCOUNTING=y
CONFIG_TASK_XACCT=y
CONFIG_TIMERFD=y
CONFIG_GKI_HIDDEN_GPU_CONFIGS=y
CONFIG_TTY=y
CONFIG_TUN=y
CONFIG_UHID=y
CONFIG_UID_SYS_STATS=y
CONFIG_UNIX=y
CONFIG_UNICODE_NORMALIZATION_SELFTEST=y
CONFIG_USB=y
CONFIG_USB_CONFIGFS=y
CONFIG_USB_CONFIGFS_F_ACC=y
CONFIG_USB_CONFIGFS_F_AUDIO_SRC=y
CONFIG_USB_CONFIGFS_F_FS=y
CONFIG_USB_CONFIGFS_F_MIDI=y
CONFIG_USB_CONFIGFS_UEVENT=y
CONFIG_USB_GADGET=y
CONFIG_USB_SUPPORT=y
CONFIG_UTS_NS=y
CONFIG_VETH=y
CONFIG_XFRM_INTERFACE=y
CONFIG_XFRM_MIGRATE=y
CONFIG_XFRM_STATISTICS=y
CONFIG_XFRM_USER=y
CONFIG_ZRAM_WRITEBACK=y

270
configs/android-13.config Normal file
View File

@ -0,0 +1,270 @@
# KEEP ALPHABETICALLY SORTED
# CONFIG_ANDROID_LOW_MEMORY_KILLER is not set
# CONFIG_ANDROID_PARANOID_NETWORK is not set
# CONFIG_BPFILTER is not set
# CONFIG_DEVMEM is not set
# CONFIG_FHANDLE is not set
# CONFIG_FW_CACHE is not set
# CONFIG_IP6_NF_NAT is not set
# CONFIG_MODULE_FORCE_UNLOAD is not set
# CONFIG_NFSD is not set
# CONFIG_NFS_FS is not set
# CONFIG_PM_AUTOSLEEP is not set
# CONFIG_RT_GROUP_SCHED is not set
# CONFIG_SYSVIPC is not set
# CONFIG_USELIB is not set
CONFIG_ADVISE_SYSCALLS=y
CONFIG_AIO=y
CONFIG_ANDROID=y
CONFIG_ANDROID_BINDER_DEVICES="binder,hwbinder,vndbinder"
CONFIG_ANDROID_BINDER_IPC=y
CONFIG_ANDROID_BINDERFS=y
CONFIG_ASHMEM=y
CONFIG_AS_IS_LLVM=y
CONFIG_AUDIT=y
CONFIG_BINFMT_ELF=y
CONFIG_BINFMT_SCRIPT=y
CONFIG_BLK_DEV_INITRD=y
CONFIG_BLK_DEV_LOOP=y
CONFIG_BLK_INLINE_ENCRYPTION=y
CONFIG_BLOCK=y
CONFIG_BPF_JIT=y
CONFIG_BPF_SYSCALL=y
CONFIG_CC_IS_CLANG=y
CONFIG_CGROUPS=y
CONFIG_CGROUP_BPF=y
CONFIG_CGROUP_CPUACCT=y
CONFIG_CGROUP_FREEZER=y
CONFIG_CGROUP_SCHED=y
CONFIG_CROSS_MEMORY_ATTACH=y
CONFIG_CRYPTO_AES=y
CONFIG_CRYPTO_CBC=y
CONFIG_CRYPTO_CHACHA20POLY1305=y
CONFIG_CRYPTO_CMAC=y
CONFIG_CRYPTO_CTR=y
CONFIG_CRYPTO_ECB=y
CONFIG_CRYPTO_GCM=y
CONFIG_CRYPTO_HMAC=y
CONFIG_CRYPTO_MD5=y
CONFIG_CRYPTO_NULL=y
CONFIG_CRYPTO_SHA1=y
CONFIG_CRYPTO_SHA256=y
CONFIG_CRYPTO_SHA512=y
CONFIG_CRYPTO_XCBC=y
CONFIG_DEBUG_LIST=y
CONFIG_DEFAULT_SECURITY_SELINUX=y
CONFIG_DM_DEFAULT_KEY=y
CONFIG_DM_SNAPSHOT=y
CONFIG_DM_VERITY=y
CONFIG_DUMMY=y
CONFIG_EMBEDDED=y
CONFIG_EPOLL=y
CONFIG_EVENTFD=y
CONFIG_FILE_LOCKING=y
CONFIG_FS_ENCRYPTION=y
CONFIG_FS_ENCRYPTION_INLINE_CRYPT=y
CONFIG_FS_VERITY=y
CONFIG_FS_VERITY_BUILTIN_SIGNATURES=y
CONFIG_FUSE_FS=y
CONFIG_FUTEX=y
CONFIG_HARDENED_USERCOPY=y
CONFIG_HID_GENERIC=y
CONFIG_HID_PLAYSTATION=y
CONFIG_PLAYSTATION_FF=y
CONFIG_HIDRAW=y
CONFIG_HID_SONY=y
CONFIG_SONY_FF=y
CONFIG_HIGH_RES_TIMERS=y
CONFIG_IKCONFIG=y
CONFIG_IKCONFIG_PROC=y
CONFIG_INET6_ESP=y
CONFIG_INET6_IPCOMP=y
CONFIG_INET=y
CONFIG_INET_DIAG_DESTROY=y
CONFIG_INET_ESP=y
CONFIG_INET_UDP_DIAG=y
CONFIG_INIT_STACK_ALL_ZERO=y
CONFIG_INOTIFY_USER=y
CONFIG_INPUT=y
CONFIG_INPUT_EVDEV=y
CONFIG_INPUT_JOYSTICK=y
CONFIG_IP6_NF_FILTER=y
CONFIG_IP6_NF_IPTABLES=y
CONFIG_IP6_NF_MANGLE=y
CONFIG_IP6_NF_MATCH_RPFILTER=y
CONFIG_IP6_NF_RAW=y
CONFIG_IP6_NF_TARGET_REJECT=y
CONFIG_IPV6=y
CONFIG_IPV6_MIP6=y
CONFIG_IPV6_MULTIPLE_TABLES=y
CONFIG_IPV6_OPTIMISTIC_DAD=y
CONFIG_IPV6_ROUTER_PREF=y
CONFIG_IPV6_ROUTE_INFO=y
CONFIG_IPV6_VTI=y
CONFIG_IP_ADVANCED_ROUTER=y
CONFIG_IP_MULTICAST=y
CONFIG_IP_MULTIPLE_TABLES=y
CONFIG_IP_NF_ARPFILTER=y
CONFIG_IP_NF_ARPTABLES=y
CONFIG_IP_NF_ARP_MANGLE=y
CONFIG_IP_NF_FILTER=y
CONFIG_IP_NF_IPTABLES=y
CONFIG_IP_NF_MANGLE=y
CONFIG_IP_NF_MATCH_ECN=y
CONFIG_IP_NF_MATCH_TTL=y
CONFIG_IP_NF_NAT=y
CONFIG_IP_NF_RAW=y
CONFIG_IP_NF_SECURITY=y
CONFIG_IP_NF_TARGET_MASQUERADE=y
CONFIG_IP_NF_TARGET_NETMAP=y
CONFIG_IP_NF_TARGET_REDIRECT=y
CONFIG_IP_NF_TARGET_REJECT=y
CONFIG_JOYSTICK_XPAD=y
CONFIG_L2TP=y
CONFIG_LD_IS_LLD=y
CONFIG_MAGIC_SYSRQ=y
CONFIG_MD=y
CONFIG_MEMBARRIER=y
CONFIG_MMU=y
CONFIG_MODULES=y
CONFIG_MODULE_UNLOAD=y
CONFIG_MODVERSIONS=y
CONFIG_MULTIUSER=y
CONFIG_NAMESPACES=y
CONFIG_NET=y
CONFIG_NETDEVICES=y
CONFIG_NETFILTER=y
CONFIG_NETFILTER_XT_MATCH_BPF=y
CONFIG_NETFILTER_XT_MATCH_COMMENT=y
CONFIG_NETFILTER_XT_MATCH_CONNLIMIT=y
CONFIG_NETFILTER_XT_MATCH_CONNMARK=y
CONFIG_NETFILTER_XT_MATCH_CONNTRACK=y
CONFIG_NETFILTER_XT_MATCH_HASHLIMIT=y
CONFIG_NETFILTER_XT_MATCH_HELPER=y
CONFIG_NETFILTER_XT_MATCH_IPRANGE=y
CONFIG_NETFILTER_XT_MATCH_LENGTH=y
CONFIG_NETFILTER_XT_MATCH_LIMIT=y
CONFIG_NETFILTER_XT_MATCH_MAC=y
CONFIG_NETFILTER_XT_MATCH_MARK=y
CONFIG_NETFILTER_XT_MATCH_OWNER=y
CONFIG_NETFILTER_XT_MATCH_PKTTYPE=y
CONFIG_NETFILTER_XT_MATCH_POLICY=y
CONFIG_NETFILTER_XT_MATCH_QUOTA2=y
CONFIG_NETFILTER_XT_MATCH_QUOTA2_LOG=y
CONFIG_NETFILTER_XT_MATCH_QUOTA=y
CONFIG_NETFILTER_XT_MATCH_SOCKET=y
CONFIG_NETFILTER_XT_MATCH_STATE=y
CONFIG_NETFILTER_XT_MATCH_STATISTIC=y
CONFIG_NETFILTER_XT_MATCH_STRING=y
CONFIG_NETFILTER_XT_MATCH_TIME=y
CONFIG_NETFILTER_XT_MATCH_U32=y
CONFIG_NETFILTER_XT_TARGET_CLASSIFY=y
CONFIG_NETFILTER_XT_TARGET_CONNMARK=y
CONFIG_NETFILTER_XT_TARGET_CONNSECMARK=y
CONFIG_NETFILTER_XT_TARGET_CT=y
CONFIG_NETFILTER_XT_TARGET_IDLETIMER=y
CONFIG_NETFILTER_XT_TARGET_MARK=y
CONFIG_NETFILTER_XT_TARGET_NFLOG=y
CONFIG_NETFILTER_XT_TARGET_NFQUEUE=y
CONFIG_NETFILTER_XT_TARGET_SECMARK=y
CONFIG_NETFILTER_XT_TARGET_TCPMSS=y
CONFIG_NETFILTER_XT_TARGET_TPROXY=y
CONFIG_NETFILTER_XT_TARGET_TRACE=y
CONFIG_NET_ACT_POLICE=y
CONFIG_NET_ACT_BPF=y
CONFIG_NET_CLS_ACT=y
CONFIG_NET_CLS_BPF=y
CONFIG_NET_CLS_MATCHALL=y
CONFIG_NET_CLS_U32=y
CONFIG_NET_EMATCH=y
CONFIG_NET_EMATCH_U32=y
CONFIG_NET_IPGRE_DEMUX=y
CONFIG_NET_IPVTI=y
CONFIG_NET_KEY=y
CONFIG_NET_NS=y
CONFIG_NET_SCHED=y
CONFIG_NET_SCH_HTB=y
CONFIG_NET_SCH_INGRESS=y
CONFIG_NET_SCH_TBF=y
CONFIG_NF_CONNTRACK=y
CONFIG_NF_CONNTRACK_AMANDA=y
CONFIG_NF_CONNTRACK_EVENTS=y
CONFIG_NF_CONNTRACK_FTP=y
CONFIG_NF_CONNTRACK_H323=y
CONFIG_NF_CONNTRACK_IRC=y
CONFIG_NF_CONNTRACK_NETBIOS_NS=y
CONFIG_NF_CONNTRACK_PPTP=y
CONFIG_NF_CONNTRACK_SANE=y
CONFIG_NF_CONNTRACK_SECMARK=y
CONFIG_NF_CONNTRACK_TFTP=y
CONFIG_NF_CT_NETLINK=y
CONFIG_NF_CT_PROTO_DCCP=y
CONFIG_NF_CT_PROTO_SCTP=y
CONFIG_NF_CT_PROTO_UDPLITE=y
CONFIG_NF_NAT=y
CONFIG_NF_SOCKET_IPV4=y
CONFIG_NF_SOCKET_IPV6=y
CONFIG_NO_HZ=y
CONFIG_PACKET=y
CONFIG_PM_WAKELOCKS=y
CONFIG_POSIX_TIMERS=y
CONFIG_PPP=y
CONFIG_PPPOL2TP=y
CONFIG_PPP_BSDCOMP=y
CONFIG_PPP_DEFLATE=y
CONFIG_PPP_MPPE=y
CONFIG_PPTP=y
CONFIG_PREEMPT=y
CONFIG_PROC_FS=y
CONFIG_PROFILING=y
CONFIG_PSI=y
CONFIG_QFMT_V2=y
CONFIG_QUOTA=y
CONFIG_QUOTACTL=y
CONFIG_RD_LZ4=y
CONFIG_RTC_CLASS=y
CONFIG_SCHED_DEBUG=y
CONFIG_SECCOMP=y
CONFIG_SECCOMP_FILTER=y
CONFIG_SECURITY=y
CONFIG_SECURITY_NETWORK=y
CONFIG_SECURITY_SELINUX=y
CONFIG_SHMEM=y
CONFIG_SIGNALFD=y
CONFIG_SND=y
CONFIG_SOUND=y
CONFIG_STACKPROTECTOR=y
CONFIG_STACKPROTECTOR_STRONG=y
CONFIG_STAGING=y
CONFIG_STATIC_USERMODEHELPER=y
CONFIG_STRICT_KERNEL_RWX=y
CONFIG_STRICT_MODULE_RWX=y
CONFIG_SUSPEND=y
CONFIG_SYNC_FILE=y
CONFIG_SYSFS=y
CONFIG_TASKSTATS=y
CONFIG_TASK_IO_ACCOUNTING=y
CONFIG_TASK_XACCT=y
CONFIG_TIMERFD=y
CONFIG_GKI_HIDDEN_GPU_CONFIGS=y
CONFIG_TTY=y
CONFIG_TUN=y
CONFIG_UHID=y
CONFIG_UID_SYS_STATS=y
CONFIG_UNIX=y
CONFIG_UNICODE_NORMALIZATION_SELFTEST=y
CONFIG_USB=y
CONFIG_USB_CONFIGFS=y
CONFIG_USB_CONFIGFS_F_ACC=y
CONFIG_USB_CONFIGFS_F_AUDIO_SRC=y
CONFIG_USB_CONFIGFS_F_FS=y
CONFIG_USB_CONFIGFS_F_MIDI=y
CONFIG_USB_CONFIGFS_UEVENT=y
CONFIG_USB_GADGET=y
CONFIG_USB_SUPPORT=y
CONFIG_UTS_NS=y
CONFIG_VETH=y
CONFIG_XFRM_INTERFACE=y
CONFIG_XFRM_MIGRATE=y
CONFIG_XFRM_STATISTICS=y
CONFIG_XFRM_USER=y

View File

@ -0,0 +1,3 @@
# CONFIG_INCREMENTAL_FS is not set
CONFIG_CRYPTO_ZSTD=y
CONFIG_DECOMPRESS_ZSTD=y

View File

@ -0,0 +1,2 @@
# KEEP ALPHABETICALLY SORTED
# CONFIG_DEBUG_FS is not set

2
configs/pcie_wifi.config Normal file
View File

@ -0,0 +1,2 @@
# CONFIG_BCMDHD_SDIO is not set
CONFIG_BCMDHD_PCIE=y

View File

@ -0,0 +1,4 @@
# CONFIG_BCMDHD_SDIO is not set
CONFIG_BCMDHD_PCIE=y
CONFIG_AP6XXX=n
CONFIG_INFINEON_DHD=m

1
configs/rk3326.config Normal file
View File

@ -0,0 +1 @@
# CONFIG_MALI_CSF_SUPPORT is not set

6
configs/rk3399.config Normal file
View File

@ -0,0 +1,6 @@
CONFIG_MALI_MIDGARD=y
# CONFIG_MALI_BIFROST is not set
# CONFIG_MALI_BIFROST_DEVFREQ is not set
# CONFIG_MALI_PLATFORM_NAME is not set
# CONFIG_MALI_BIFROST_EXPERT is not set
# CONFIG_MALI_BIFROST_DEBUG is not set

1
configs/rk356x.config Normal file
View File

@ -0,0 +1 @@
# CONFIG_MALI_CSF_SUPPORT is not set

View File

@ -0,0 +1,4 @@
# CONFIG_ROCKCHIP_SCHED_PERFORMANCE_BIAS is not set
CONFIG_ROCKCHIP_EBC_DEV=y
# CONFIG_TOUCHSCREEN_FTS is not set
CONFIG_TOUCHSCREEN_FT5436=y

View File

@ -0,0 +1,7 @@
# CONFIG_MALI_MIDGARD is not set
# CONFIG_MALI_EXPERT is not set
# CONFIG_PLATFORM_THIRDPARTY is not set
# CONFIG_PLATFORM_THIRDPARTY_NAME is not set
# CONFIG_MALI_DEBUG is not set
CONFIG_MALI_BIFROST=y
CONFIG_SDIO_KEEPALIVE=y

BIN
lib64/libbase.so Executable file

Binary file not shown.

BIN
lib64/libc++.so Executable file

Binary file not shown.

BIN
lib64/libcutils.so Executable file

Binary file not shown.

BIN
lib64/libext4_utils.so Executable file

Binary file not shown.

BIN
lib64/liblog.so Executable file

Binary file not shown.

BIN
lib64/libz.so Executable file

Binary file not shown.

299
mkgki4.sh Executable file
View File

@ -0,0 +1,299 @@
#!/bin/bash
DEBUG="0"
CURRENT_KERNEL_VERSION=5.10
CFG_PATH_DEFAULT=./res
CFG_TMP_DIR=./.temp
CFG_DEBUG_LIST_FILE=$CFG_PATH_DEFAULT/debug_list.load
CFG_KERNEL_DRIVERS_PATH=../kernel-$CURRENT_KERNEL_VERSION
CFG_SAMPLE_BOOTIMG=./prebuilts/boot-$CURRENT_KERNEL_VERSION.img
CFG_VENDOR_BOOTCONFIG_FILE=$CFG_PATH_DEFAULT/bootconfig
TMP_BOOT_DIR=$CFG_TMP_DIR/boot
TMP_MODULES_PATH=$CFG_TMP_DIR/lib/modules/0.0
TMP_VENDOR_RAMDISK_FILE=out/vendor_ramdisk.cpio.gz
TMP_KERNEL_IMAGE=$TMP_BOOT_DIR/kernel
OUT_VENDOR_BOOT_FILE=out/vendor_boot.img
OUT_BOOT_FILE=out/boot.img
OUT_VENDOR_RAMDISK_DIR=./vendor_ramdisk
OUT_MODULE_DIR=$OUT_VENDOR_RAMDISK_DIR/lib/modules
readonly OBJCOPY_BIN=llvm-objcopy
log() {
if [[ $DEBUG = "1" ]]; then
echo $1
fi
}
success() {
echo -e "\033[32m$1\033[0m"
}
fail() {
echo -e "\033[31m$1\033[0m"
}
# $1 origin path
# $2 target path
objcopy() {
if [ ! -f $1 ]; then
echo "NOT FOUND!"
return 1
fi
local module_name=`basename -a $1`
local OBJCOPY_ARGS=""
if [ $USE_STRIP = "1" ]; then
echo "++++++++++++++++++++++++++++++++++++++++++++++++++++++=="
OBJCOPY_ARGS="--strip-debug"
$OBJCOPY_BIN $OBJCOPY_ARGS $1 $2$module_name
else
cp $1 $2$module_name
fi
}
clean_file() {
if [ -f $1 ]; then
echo "cleaning file $1"
rm -rf $1
fi
if [ -d $1 ]; then
echo "cleaning dir $1"
rm -rf $1
fi
}
create_dir() {
if [ ! -d $1 ]; then
mkdir -p $1
fi
}
copy_from_load_file() {
TMP_LOAD_FILE=$1
TMP_SOURCE_PATH=$2
echo -e "\033[33mRead modules list from $TMP_LOAD_FILE\033[0m"
modules_ramdisk_array=($(cat $TMP_LOAD_FILE))
for MODULE in "${modules_ramdisk_array[@]}"
do
module_file=($(find $TMP_SOURCE_PATH -name $MODULE))
log "Copying $module_file"
objcopy $module_file $TMP_MODULES_PATH/
if [ $? -eq 0 ];then
echo "objcopy $module_file done."
else
echo "objcopy $MODULE failed"
exit 0
fi
if [ -f vendor_boot.img ]; then
GLOBAL_UPDATE_LIST="$GLOBAL_UPDATE_LIST --ramdisk_add $TMP_MODULES_PATH/$MODULE:lib/modules/$MODULE"
fi
done
}
get_param_value() {
echo "$1" | cut -d '=' -f 2
}
validate_soc() {
local valid_socs=("rk3562" "rk3588" "rk356x" "rk3399" "rk3326")
local soc=$1
for valid_soc in "${valid_socs[@]}"; do
if [ "$soc" == "$valid_soc" ]; then
return 0
fi
done
return 1
}
process_param() {
local param="$1"
local name=$(echo "$param" | cut -d '=' -f 1)
local value=$(get_param_value "$param")
case "$name" in
"SOC")
if ! validate_soc "$value"; then
echo "Invalid SOC parameter: $value"
exit 1
fi
echo "Selected SOC: $value"
ENV_SOC=$value
;;
"DTS")
echo "Selected DTS: $value"
ENV_DTB=$value
;;
"DEBUG")
echo "DEBUG: $value"
DEBUG=$value
;;
*)
fail "Unsupported parameter: $name"
exit 1
;;
esac
}
# Setup PATH
setup_path() {
export PATH=./bin:$PATH
}
main() {
for param in "$@"; do
process_param "$param"
done
}
###########################################################################################
# Start
###########################################################################################
if [ "$#" -eq 0 ]; then
fail "Usage: $0 [SOC=rk356x,rk3326,rk3562,rk3399,rk3588] [DTS=rk3588-evb1-lp4-v10]"
echo "Use export COPY_ALL_KO=1 to copy ko from kernel-$CURRENT_KERNEL_VERSION"
exit 1
fi
main "$@"
# Setup SOC/DTS
CFG_VENDOR_RAMDISK_LOAD_FILE=$CFG_PATH_DEFAULT/soc/$ENV_SOC/vendor_ramdisk_modules.load
CFG_BOARD_VRAMDISK_LOAD_FILE=$CFG_PATH_DEFAULT/board/$ENV_DTB.load
# Check file exist or not.
if [ -f $CFG_VENDOR_RAMDISK_LOAD_FILE ]; then
success "Using $CFG_VENDOR_RAMDISK_LOAD_FILE"
else
fail "Current SoC: $ENV_SOC is not support."
exit 0
fi
if [ -f $CFG_BOARD_VRAMDISK_LOAD_FILE ]; then
success "Using $CFG_BOARD_VRAMDISK_LOAD_FILE"
else
fail "Current Board: $ENV_DTB is not support."
exit 0
fi
# Set DTS
DTB_PATH=$CFG_KERNEL_DRIVERS_PATH/arch/arm64/boot/dts/rockchip/$ENV_DTB.dtb
# Copy ko or not
if [ -z $COPY_ALL_KO ]; then
echo "Skip coping ko from kernel-$CURRENT_KERNEL_VERSION"
USE_STRIP=0
else
USE_STRIP=1
fi
setup_path
# Build repack command
if [ -f vendor_boot.img ]; then
GLOBAL_UPDATE_LIST="repack_bootimg --local --dst_bootimg new_vendor_boot.img \
--ramdisk_add $TMP_MODULES_PATH/modules.load:lib/modules/modules.load \
--ramdisk_add $TMP_MODULES_PATH/modules.load:lib/modules/modules.load.recovery"
fi
# Prepare dirs
echo "Preparing $CFG_TMP_DIR dirs and use placeholder 0.0..."
clean_file system
clean_file $CFG_TMP_DIR
clean_file $OUT_VENDOR_BOOT_FILE
clean_file $TMP_VENDOR_RAMDISK_FILE
create_dir system
create_dir out
create_dir $TMP_MODULES_PATH
echo "Prepare $CFG_TMP_DIR dirs done."
echo "==========================================="
echo -e "\033[33mUse DTS as $DTB_PATH\033[0m"
# Copy ko
if [ -z $COPY_ALL_KO ]; then
copy_from_load_file $CFG_VENDOR_RAMDISK_LOAD_FILE $OUT_MODULE_DIR
copy_from_load_file $CFG_BOARD_VRAMDISK_LOAD_FILE $OUT_MODULE_DIR
copy_from_load_file $CFG_DEBUG_LIST_FILE $CFG_KERNEL_DRIVERS_PATH
else
copy_from_load_file $CFG_VENDOR_RAMDISK_LOAD_FILE $CFG_KERNEL_DRIVERS_PATH
copy_from_load_file $CFG_BOARD_VRAMDISK_LOAD_FILE $CFG_KERNEL_DRIVERS_PATH
fi
# Depmod
echo "Generating depmod..."
depmod -b $CFG_TMP_DIR 0.0
echo "Generate depmod done."
#clean_file $OUT_MODULE_DIR
#create_dir $OUT_MODULE_DIR
#mv $TMP_MODULES_PATH/* $OUT_MODULE_DIR/
# Generate load files
cp $CFG_VENDOR_RAMDISK_LOAD_FILE $TMP_MODULES_PATH/modules.load -f
cat $CFG_BOARD_VRAMDISK_LOAD_FILE >> $TMP_MODULES_PATH/modules.load
rm -rf $OUT_MODULE_DIR/modules.*.bin
clean_file $OUT_MODULE_DIR/modules.symbols
clean_file $OUT_MODULE_DIR/modules.devname
echo "==========================================="
# Repack
if [ -f vendor_boot.img ]; then
clean_file new_vendor_boot.img
cp vendor_boot.img new_vendor_boot.img
log "Using repack_bootimg: $GLOBAL_UPDATE_LIST"
RET=`$GLOBAL_UPDATE_LIST`
log "$RET"
# check result file
file_size=`du -sh new_vendor_boot.img`
if [[ $file_size = "0" ]]; then
fail "Failed to repack vendor boot image"
else
success "Successfully repack vendor boot image: new_vendor_boot.img"
fi
exit 0
else # Unused now
echo "unpacking $CFG_SAMPLE_BOOTIMG..."
unpack_bootimg --boot_img $CFG_SAMPLE_BOOTIMG --out $TMP_BOOT_DIR
if [ $? -eq 0 ];then
echo "unpack $CFG_SAMPLE_BOOTIMG done."
else
echo "unpack $CFG_SAMPLE_BOOTIMG failed"
exit 0
fi
echo "making vendor_ramdisk..."
mkbootfs -d ./system $OUT_VENDOR_RAMDISK_DIR | minigzip > $TMP_VENDOR_RAMDISK_FILE
if [ $? -eq 0 ];then
echo "make vendor_ramdisk done."
else
echo "make vendor_ramdisk failed"
exit 0
fi
echo "==========================================="
echo "making vendor_boot image..."
mkbootimg --dtb $DTB_PATH --vendor_cmdline "console=ttyFIQ0 firmware_class.path=/vendor/etc/firmware init=/init rootwait ro loop.max_part=7 bootconfig buildvariant=userdebug" --header_version 4 --vendor_bootconfig $CFG_VENDOR_BOOTCONFIG_FILE --vendor_ramdisk $TMP_VENDOR_RAMDISK_FILE --vendor_boot $OUT_VENDOR_BOOT_FILE
if [ $? -eq 0 ];then
echo "make vendor_boot image done."
else
echo "make vendor_boot image failed"
exit 0
fi
echo "==========================================="
echo "making boot image..."
mkbootimg --kernel $TMP_KERNEL_IMAGE --ramdisk $TMP_BOOT_DIR/ramdisk --os_version 12 --os_patch_level 2022-09-05 --header_version 4 --output $OUT_BOOT_FILE
if [ $? -eq 0 ];then
echo "make boot image done."
else
echo "make boot image failed"
exit 0
fi
fi
echo "make boot image done."
echo "==========================================="

15
modular_kernel.mk Normal file
View File

@ -0,0 +1,15 @@
KERNEL_GKI_DIR=mkcombinedroot
KERNEL_DRIVERS_PATH=$(KERNEL_GKI_DIR)/vendor_ramdisk/lib/modules
$(call inherit-product, $(KERNEL_GKI_DIR)/res/recovery_gki.mk)
$(call inherit-product, $(KERNEL_GKI_DIR)/res/vendor_gki.mk)
$(call inherit-product, $(KERNEL_GKI_DIR)/res/vendor_ramdisk_gki.mk)
# Old way to find all of the KOs
#KERNEL_KO_FILES := $(shell find $(TOPDIR)kernel -name "*.ko" -type f)
#BOARD_VENDOR_RAMDISK_KERNEL_MODULES += \
# $(foreach file, $(KERNEL_KO_FILES), $(file))
# Uses a prebuilt boot.img
BOARD_PREBUILT_BOOTIMAGE := \
$(KERNEL_GKI_DIR)/prebuilts/boot-$(PRODUCT_KERNEL_VERSION).img

View File

@ -0,0 +1,59 @@
diff --git a/repack_bootimg.py b/repack_bootimg.py
index 93c28f9..361079e 100755
--- a/repack_bootimg.py
+++ b/repack_bootimg.py
@@ -125,7 +125,7 @@ class RamdiskImage:
# -d: create directories if needed
# -u: override existing files
subprocess.run(
- ['toybox', 'cpio', '-idu'], check=True,
+ ['cpio', '-idu'], check=True,
input=decompressed_result.stdout, cwd=self._ramdisk_dir)
print(f"=== Unpacked ramdisk: '{self._ramdisk_img}' at "
@@ -229,6 +229,7 @@ class BootImage:
# Uses previous mkbootimg args, e.g., --vendor_cmdline, --dtb_offset.
mkbootimg_cmd.extend(self._previous_mkbootimg_args)
+ print("BJC: Assuming mkbootimg cmd: {}".format(mkbootimg_cmd))
ramdisk_option = ''
if self._bootimg_type == BootImageType.BOOT_IMAGE:
ramdisk_option = '--ramdisk'
@@ -248,14 +249,22 @@ class BootImage:
mkbootimg_cmd.extend(['--vendor_ramdisk_fragment', new_ramdisk])
mkbootimg_cmd.extend(['--vendor_boot', self._bootimg])
+ print("BJC: Detected ramdisk type: {}".format(ramdisk_option))
if ramdisk_option and ramdisk_option not in mkbootimg_cmd:
- raise RuntimeError("Failed to find '{}' from:\n {}".format(
- ramdisk_option, shlex.join(mkbootimg_cmd)))
+ # Remove vendor_ramdisk_fragment
+ if ramdisk_option == '--vendor_ramdisk' and '--vendor_ramdisk_fragment' in mkbootimg_cmd:
+ fragment_index = mkbootimg_cmd.index('--vendor_ramdisk_fragment')
+ mkbootimg_cmd[fragment_index] = ramdisk_option
+ mkbootimg_cmd[fragment_index + 1] = 'fake_ramdisk'
+ else:
+ raise RuntimeError("Failed to find '{}' from:\n {}".format(
+ ramdisk_option, shlex.join(mkbootimg_cmd)))
# Replaces the original ramdisk with the newly packed ramdisk.
if ramdisk_option:
ramdisk_index = mkbootimg_cmd.index(ramdisk_option) + 1
mkbootimg_cmd[ramdisk_index] = new_ramdisk
+ print("BJC: Final mkbootimg cmd: {}".format(mkbootimg_cmd))
subprocess.check_call(mkbootimg_cmd)
print("=== Repacked boot image: '{}' ===".format(self._bootimg))
diff --git a/unpack_bootimg.py b/unpack_bootimg.py
index 462190f..7b7e018 100755
--- a/unpack_bootimg.py
+++ b/unpack_bootimg.py
@@ -363,8 +363,6 @@ class VendorBootImageInfoFormatter:
for entry in self.vendor_ramdisk_table:
(output_ramdisk_name, _, _, ramdisk_type,
ramdisk_name, board_id) = entry
- args.extend(['--ramdisk_type', str(ramdisk_type)])
- args.extend(['--ramdisk_name', ramdisk_name])
for idx, e in enumerate(board_id):
if e:
args.extend([f'--board_id{idx}', f'{e:#010x}'])

BIN
prebuilts/boot-5.10.img Executable file

Binary file not shown.

View File

@ -0,0 +1,6 @@
ak8963.ko
ak8975.ko
gt1x-ts.ko
mma7660.ko
ov5695.ko

View File

@ -0,0 +1,6 @@
ak8963.ko
ak8975.ko
gt1x-ts.ko
mma7660.ko
ov5695.ko

View File

@ -0,0 +1,6 @@
ak8963.ko
ak8975.ko
gt1x-ts.ko
mma7660.ko
ov5695.ko

View File

@ -0,0 +1,8 @@
gc2145.ko
ov13850.ko
sgm3784.ko
ak8963.ko
ak8975.ko
mpu6500_acc.ko
mpu6500_gyro.ko
gsl3673-ts.ko

View File

@ -0,0 +1,8 @@
gc2145.ko
ov13850.ko
sgm3784.ko
mpu6500_acc.ko
mpu6500_gyro.ko
gsl3673-800x1280.ko

View File

@ -0,0 +1,4 @@
ov5695.ko
mxc6655xa.ko
gt1x-ts.ko
gc8034.ko

View File

@ -0,0 +1 @@
gsl3673-800x1280.ko

View File

@ -0,0 +1,4 @@
ov5695.ko
mxc6655xa.ko
gt1x-ts.ko
gc8034.ko

View File

@ -0,0 +1,4 @@
ov5695.ko
mxc6655xa.ko
gt1x-ts.ko
gc8034.ko

View File

@ -0,0 +1,4 @@
ov5695.ko
mxc6655xa.ko
gt1x-ts.ko
gc8034.ko

View File

@ -0,0 +1,8 @@
cw2015_battery.ko
imx415.ko
ov50c40.ko
ov13855.ko
gt1x-ts.ko
snd-soc-es8323.ko
r8168.ko

View File

@ -0,0 +1,7 @@
cw2015_battery.ko
imx415.ko
ov50c40.ko
ov13855.ko
gt1x-ts.ko
snd-soc-es8323.ko
r8168.ko

View File

@ -0,0 +1,6 @@
mh248.ko
mpu6500_acc.ko
mpu6500_gyro.ko
otp_eeprom.ko
ov13855.ko
ov50c40.ko

5
res/bootconfig Normal file
View File

@ -0,0 +1,5 @@
androidboot.console=ttyFIQ0
androidboot.wificountrycode=CN
androidboot.hardware=rk30board
androidboot.boot_devices=fe310000.sdhci,fe330000.nandc,fe2e0000.mmc
androidboot.selinux=permissive

0
res/debug_list.load Normal file
View File

BIN
res/file_contexts.bin Normal file

Binary file not shown.

295
res/ramdisk_modules.load Normal file
View File

@ -0,0 +1,295 @@
rockchip-iommu.ko
pinctrl-rockchip.ko
pinctrl-rk805.ko
pm_domains.ko
io-domain.ko
clk-pwm.ko
clk-scmi.ko
clk-rk808.ko
clk-rk3568.ko
clk-rk3399.ko
crc-itu-t.ko
libdes.ko
zsmalloc.ko
nf_log_ipv6.ko
ah6.ko
xt_LOG.ko
nf_log_common.ko
br_netfilter.ko
ebtables.ko
ebtable_broute.ko
ipt_rpfilter.ko
nf_log_ipv4.ko
ipt_ah.ko
ipcomp.ko
xfrm4_tunnel.ko
ah4.ko
bnep.ko
snd-soc-bt-sco.ko
snd-soc-spdif-tx.ko
snd-soc-es8316.ko
snd-soc-hdmi-codec.ko
snd-soc-spdif-rx.ko
snd-soc-cx2072x.ko
snd-soc-rk3328.ko
snd-soc-simple-card-utils.ko
snd-soc-simple-card.ko
snd-soc-rockchip-pdm.ko
snd-soc-rockchip-spdif.ko
sg.ko
ch.ko
rockchip-nocp.ko
rockchip_bus.ko
fiq_debugger.ko
pwm_bl.ko
nvmem_rockchip_efuse.ko
nvmem-rockchip-otp.ko
hid-dr.ko
hid-alps.ko
hid-lcpower.ko
hid-primax.ko
hid-kye.ko
hid-ortek.ko
hid-monterey.ko
hid-pl.ko
hid-topseed.ko
hid-saitek.ko
hid-lenovo.ko
hid-kensington.ko
hid-emsff.ko
hid-appleir.ko
hid-gaff.ko
hid-holtek-mouse.ko
hid-tmff.ko
hid-tivo.ko
hid-keytouch.ko
hid-cypress.ko
hid-steelseries.ko
hid-sjoy.ko
hid-chicony.ko
hid-holtek-kbd.ko
hid-speedlink.ko
hid-cherry.ko
hid-zydacron.ko
hid-samsung.ko
hid-sunplus.ko
hid-waltop.ko
hid-icade.ko
hid-belkin.ko
hid-aureal.ko
hid-axff.ko
hid-holtekff.ko
hid-ntrig.ko
hid-twinhan.ko
hid-led.ko
hid-ezkey.ko
hid-petalynx.ko
hid-zpff.ko
hid-a4tech.ko
i2c-hid.ko
hid-gyration.ko
pl330.ko
adc-keys.ko
rockchip_pwm_remotectl.ko
gt1x-ts.ko
gslx680-pad.ko
rk805-pwrkey.ko
sc7a20.ko
mxc6655xa.ko
mpu6880_acc.ko
sc7660.ko
lsm330_acc.ko
mma7660.ko
mpu6500_acc.ko
bma2xx.ko
mma8452.ko
mc3230.ko
kxtj9.ko
da223.ko
lsm303d.ko
lis3dh.ko
sc7a30.ko
sensor_dev.ko
mh248.ko
ps_stk3410.ko
lsm330_gyro.ko
l3g20d.ko
mpu6880_gyro.ko
mpu6500_gyro.ko
ewtsa.ko
l3g4200d.ko
cm3218.ko
ls_stk3410.ko
cm3217.ko
ak8975.ko
ak8963.ko
pcierockchiphost.ko
pcie-dw-rockchip.ko
dw_wdt.ko
rockchip_sip.ko
industrialio-triggered-buffer.ko
kfifo_buf.ko
industrialio-buffer-cb.ko
rockchip_saradc.ko
bifrost_kbase.ko
midgard_kbase.ko
mali.ko
sii902x.ko
analogix_dp.ko
dw-hdmi-cec.ko
dw-mipi-dsi.ko
dw-hdmi-i2s-audio.ko
dw-hdmi.ko
panel-simple.ko
rockchipdrm.ko
8250_dw.ko
v4l2-fwnode.ko
ov2680.ko
dw9714.ko
ov5695.ko
nvme-core.ko
nvme.ko
gpio-regulator.ko
pwm-regulator.ko
rk808-regulator.ko
act8865-regulator.ko
xz3216.ko
tps65132-regulator.ko
lp8752.ko
mp8865-regulator.ko
fan53555.ko
i2c-rk3x.ko
i2c-gpio.ko
i2c-mux.ko
i2c-dev.ko
stmmac-platform.ko
stmmac.ko
dwmac-ipq806x.ko
dwmac-qcom-ethqos.ko
dwmac-rk.ko
dwmac-sun8i.ko
dwmac-sunxi.ko
ppp_synctty.ko
ppp_async.ko
pppoe.ko
sierra_net.ko
cdc_mbim.ko
dm9601.ko
cx82310_eth.ko
kaweth.ko
smsc95xx.ko
pegasus.ko
ipheth.ko
smsc75xx.ko
hso.ko
mcs7830.ko
rndis_host.ko
catc.ko
qmi_wwan.ko
plusb.ko
kalmia.ko
gl620a.ko
int51x1.ko
smsc.ko
rockchip.ko
pcs-xpcs.ko
mdio-mux.ko
slip.ko
cma_heap.ko
system_heap.ko
libahci.ko
ahci_platform.ko
libahci_platform.ko
ahci.ko
libata.ko
spi-rockchip.ko
spidev.ko
cdc-wdm.ko
usblp.ko
option.ko
usb_wwan.ko
usbserial.ko
ohci-platform.ko
ohci-hcd.ko
usbmon.ko
ums-jumpshot.ko
ums-usbat.ko
ums-isd200.ko
ums-cypress.ko
ums-alauda.ko
ums-datafab.ko
ums-sddr55.ko
ums-eneub6250.ko
ums-karma.ko
ums-onetouch.ko
ums-freecom.ko
ums-sddr09.ko
dwc2.ko
trancevibrator.ko
phy-rockchip-dp.ko
phy-rockchip-typec.ko
phy-rockchip-inno-usb3.ko
phy-rockchip-usb.ko
phy-rockchip-inno-dsidphy.ko
phy-rockchip-pcie.ko
phy-rockchip-emmc.ko
phy-rockchip-naneng-edp.ko
phy-rockchip-naneng-combphy.ko
phy-rockchip-inno-usb2.ko
phy-rockchip-snps-pcie3.ko
rk817_battery.ko
bq25700_charger.ko
rk818_charger.ko
cw2015_battery.ko
rk818_battery.ko
rk817_charger.ko
test_power.ko
syscon-reboot-mode.ko
reboot-mode.ko
rk808.ko
pwm-rockchip.ko
gpio-rockchip.ko
sdhci-of-arasan.ko
rk_sdmmc_ops.ko
sdhci-of-dwcmshc.ko
dw_mmc.ko
cqhci.ko
dw_mmc-rockchip.ko
dw_mmc-pltfm.ko
tee.ko
optee.ko
zram.ko
rockchip_thermal.ko
sdmmc_vendor_storage.ko
rockchip_debug.ko
rk_fiq_debugger.ko
rk_vendor_storage.ko
grf.ko
rockchip-cpuinfo.ko
rockchip_opp_select.ko
rockchip_ipa.ko
rockchip_system_monitor.ko
rockchip_pvtm.ko
leds-gpio.ko
ledtrig-heartbeat.ko
ledtrig-backlight.ko
ledtrig-default-on.ko
rk_crypto.ko
optee-rng.ko
rockchip-rng.ko
rtc-rk808.ko
rockchip-cpufreq.ko
cpufreq-dt.ko
cpufreq_ondemand.ko
cpufreq_userspace.ko
cifs.ko
isofs.ko
udf.ko
aes-ce-ccm.ko
ghash-ce.ko
sha1-ce.ko
twofish_generic.ko
md4.ko
lzo.ko
lzo-rle.ko
twofish_common.ko

17
res/recovery_gki.mk Normal file
View File

@ -0,0 +1,17 @@
# Rockchip 2022 makefile
# Generate from vendor/rockchip/gki/modular_kernel/configs/recovery_modules.load
# SoC modules
BOARD_VENDOR_RAMDISK_SOC_LIST := $(strip $(shell cat $(KERNEL_GKI_DIR)/res/soc/$(TARGET_BOARD_PLATFORM)/vendor_ramdisk_modules.load))
ifndef BOARD_VENDOR_RAMDISK_SOC_LIST
$(error SoC load file not found, GKI is not support for $(TARGET_BOARD_PLATFORM) now)
endif
# Board modules, refs to DTS
BOARD_VENDOR_RAMDISK_BOARD_LIST := $(strip $(shell cat $(KERNEL_GKI_DIR)/res/board/$(PRODUCT_KERNEL_DTS).load))
ifndef BOARD_VENDOR_RAMDISK_BOARD_LIST
$(error $(PRODUCT_KERNEL_DTS).load not found, please add your proprietary load file.)
endif
BOARD_RECOVERY_KERNEL_MODULES := $(addprefix $(KERNEL_DRIVERS_PATH)/, $(notdir $(BOARD_VENDOR_RAMDISK_SOC_LIST)))
BOARD_RECOVERY_KERNEL_MODULES += $(addprefix $(KERNEL_DRIVERS_PATH)/, $(notdir $(BOARD_VENDOR_RAMDISK_BOARD_LIST)))

View File

@ -0,0 +1,150 @@
rockchip_sip.ko
clk-rockchip.ko
rockchip-cpuinfo.ko
clk-px30.ko
clk-scmi.ko
clk-rockchip-regmap.ko
rk808.ko
clk-rk808.ko
grf.ko
gpio-rockchip.ko
rockchip-iommu.ko
pinctrl-rk805.ko
gpio-regulator.ko
rk808-regulator.ko
pinctrl-rockchip.ko
ram_vendor_storage.ko
rk_vendor_storage.ko
adc-keys.ko
pwm-rockchip.ko
pwm_bl.ko
analogix_dp.ko
rockchip-dfi.ko
rockchip-nocp.ko
rockchip-rng.ko
rk_cma_heap.ko
cqhci.ko
aes-ce-ccm.ko
cfb.ko
ofb.ko
lzo-rle.ko
lzo.ko
sha1-ce.ko
cryptodev.ko
mmc_hsq.ko
dw_mmc.ko
dw_mmc-pltfm.ko
dw_mmc-rockchip.ko
dw_wdt.ko
dwc2.ko
fan53555.ko
fiq_debugger.ko
ghash-ce.ko
gl620a.ko
i2c-dev.ko
i2c-gpio.ko
i2c-hid.ko
i2c-mux.ko
i2c-rk3x.ko
iep.ko
kfifo_buf.ko
industrialio-buffer-cb.ko
industrialio-triggered-buffer.ko
sensor_dev.ko
leds-gpio.ko
ledtrig-heartbeat.ko
nvme-core.ko
nvme.ko
nvmem-rockchip-otp.ko
tee.ko
optee.ko
phy-rockchip-emmc.ko
phy-rockchip-inno-dsidphy.ko
phy-rockchip-inno-usb2.ko
phy-rockchip-inno-usb3.ko
rfkill-rk.ko
dw-hdmi.ko
dw-hdmi-qp.ko
dw-mipi-dsi.ko
rockchipdrm.ko
display-connector.ko
clk-out.ko
clk-link.ko
pl330.ko
plusb.ko
rk805-pwrkey.ko
rk817_battery.ko
rk817_charger.ko
rk818_battery.ko
rk818_charger.ko
rk_headset.ko
rk_headset_irq_hook_adc.ko
rockchip_headset_core.ko
rockchip_saradc.ko
rk_fiq_debugger.ko
rockchip_thermal.ko
rtc-rk808.ko
sdhci-of-arasan.ko
sdhci-of-dwcmshc.ko
sg.ko
snd-soc-bt-sco.ko
snd-soc-dummy-codec.ko
snd-soc-hdmi-codec.ko
snd-soc-rk-codec-digital.ko
snd-soc-rk817.ko
snd-soc-rockchip-hdmi.ko
snd-soc-rockchip-i2s-tdm.ko
snd-soc-rockchip-i2s.ko
snd-soc-rockchip-multicodecs.ko
snd-soc-rockchip-pdm.ko
snd-soc-rockchip-spdif.ko
snd-soc-rockchip-spdifrx.ko
snd-soc-simple-card-utils.ko
snd-soc-simple-card.ko
snd-soc-spdif-rx.ko
snd-soc-spdif-tx.ko
spi-rockchip.ko
spidev.ko
sw_sync.ko
reboot-mode.ko
syscon-reboot-mode.ko
rk_system_heap.ko
test_power.ko
timer-rockchip.ko
usblp.ko
usbserial.ko
zram.ko
zsmalloc.ko
rockchip_pvtm.ko
rockchip_opp_select.ko
rockchip_ipa.ko
rockchip_pm_config.ko
rockchip_bus.ko
cpufreq_ondemand.ko
cpufreq_userspace.ko
rockchip_dmc_common.ko
rockchip_system_monitor.ko
cpufreq-dt.ko
rockchip-cpufreq.ko
pm_domains.ko
rockchip_dmc.ko
v4l2-fwnode.ko
videobuf2-cma-sg.ko
video_rkcif.ko
video_rkisp1.ko
phy-rockchip-mipi-rx.ko
phy-rockchip-csi2-dphy-hw.ko
phy-rockchip-csi2-dphy.ko
rk_ircut.ko
ohci-hcd.ko
ohci-platform.ko
panel-simple.ko
rockchip.ko
pcs-xpcs.ko
dwmac-generic.ko
dwmac-rockchip.ko
stmmac-platform.ko
stmmac.ko
rga3.ko
pwrseq_simple.ko
rk_vcodec.ko

View File

@ -0,0 +1,176 @@
rockchip_sip.ko
clk-rockchip.ko
rockchip-cpuinfo.ko
clk-rk3399.ko
clk-scmi.ko
clk-rockchip-regmap.ko
rk808.ko
clk-rk808.ko
grf.ko
gpio-rockchip.ko
rockchip-iommu.ko
pinctrl-rk805.ko
gpio-regulator.ko
rk808-regulator.ko
rk860x-regulator.ko
pinctrl-rockchip.ko
ram_vendor_storage.ko
rk_vendor_storage.ko
io-domain.ko
adc-keys.ko
pwm-rockchip.ko
pwm_bl.ko
phy-rockchip-samsung-hdptx.ko
analogix_dp.ko
rockchip-dfi.ko
rockchip-nocp.ko
rockchip-rng.ko
rk_cma_heap.ko
cqhci.ko
aes-ce-ccm.ko
cfb.ko
ofb.ko
lzo-rle.ko
lzo.ko
libdes.ko
sha1-ce.ko
cryptodev.ko
mmc_hsq.ko
dw_mmc.ko
dw_mmc-pltfm.ko
dw_mmc-rockchip.ko
dw_wdt.ko
dwc2.ko
fan53555.ko
fiq_debugger.ko
fusb302.ko
ghash-ce.ko
gl620a.ko
i2c-dev.ko
i2c-gpio.ko
i2c-hid.ko
i2c-mux.ko
i2c-rk3x.ko
iep.ko
kfifo_buf.ko
industrialio-buffer-cb.ko
industrialio-triggered-buffer.ko
sensor_dev.ko
leds-gpio.ko
ledtrig-heartbeat.ko
nvme-core.ko
nvme.ko
nvmem-rockchip-otp.ko
nvmem_rockchip_efuse.ko
rfkill-rk.ko
optee-rng.ko
tee.ko
optee.ko
pcierockchiphost.ko
phy-rockchip-dp.ko
phy-rockchip-emmc.ko
phy-rockchip-inno-dsidphy.ko
phy-rockchip-inno-hdmi-phy.ko
phy-rockchip-inno-usb2.ko
phy-rockchip-inno-usb3.ko
phy-rockchip-naneng-combphy.ko
phy-rockchip-naneng-edp.ko
phy-rockchip-pcie.ko
phy-rockchip-samsung-dcphy.ko
phy-rockchip-samsung-hdptx-hdmi.ko
phy-rockchip-snps-pcie3.ko
phy-rockchip-typec.ko
phy-rockchip-usb.ko
phy-rockchip-usbdp.ko
pcie-dw-rockchip.ko
dw_hdcp2.ko
dw-hdmi.ko
dw-hdmi-qp-cec.ko
dw-hdmi-qp.ko
dw-hdmi-qp-i2s-audio.ko
dw-mipi-dsi.ko
rockchipdrm.ko
display-connector.ko
clk-out.ko
clk-link.ko
pl330.ko
plusb.ko
rk805-pwrkey.ko
rk817_battery.ko
rk817_charger.ko
rk818_battery.ko
rk818_charger.ko
rk_headset.ko
rk_headset_irq_hook_adc.ko
rockchip_headset_core.ko
rockchip_saradc.ko
rk_fiq_debugger.ko
rockchip_thermal.ko
rtc-rk808.ko
sdhci-of-arasan.ko
sdhci-of-dwcmshc.ko
sg.ko
snd-soc-bt-sco.ko
snd-soc-dummy-codec.ko
snd-soc-hdmi-codec.ko
snd-soc-rk-codec-digital.ko
snd-soc-rk817.ko
snd-soc-rockchip-hdmi.ko
snd-soc-rockchip-i2s-tdm.ko
snd-soc-rockchip-i2s.ko
snd-soc-rockchip-multicodecs.ko
snd-soc-rockchip-pdm.ko
snd-soc-rockchip-spdif.ko
snd-soc-rockchip-spdifrx.ko
snd-soc-simple-card-utils.ko
snd-soc-simple-card.ko
snd-soc-spdif-rx.ko
snd-soc-spdif-tx.ko
spi-rockchip.ko
spidev.ko
sw_sync.ko
reboot-mode.ko
syscon-reboot-mode.ko
rk_system_heap.ko
tcpci_husb311.ko
test_power.ko
timer-rockchip.ko
usblp.ko
usbserial.ko
zram.ko
zsmalloc.ko
rockchip_pvtm.ko
rockchip_opp_select.ko
rockchip_ipa.ko
rockchip_pm_config.ko
rockchip_bus.ko
cpufreq_ondemand.ko
cpufreq_userspace.ko
rockchip_dmc_common.ko
rockchip_system_monitor.ko
cpufreq-dt.ko
rockchip-cpufreq.ko
pm_domains.ko
rockchip_dmc.ko
typec_displayport.ko
rk_vcodec.ko
v4l2-fwnode.ko
videobuf2-cma-sg.ko
video_rkcif.ko
video_rkisp1.ko
phy-rockchip-mipi-rx.ko
phy-rockchip-csi2-dphy-hw.ko
phy-rockchip-csi2-dphy.ko
rk_ircut.ko
ohci-hcd.ko
ohci-platform.ko
panel-simple.ko
rockchip.ko
pcs-xpcs.ko
dwmac-generic.ko
dwmac-rockchip.ko
stmmac-platform.ko
stmmac.ko
rga3.ko
pwrseq_simple.ko
bq25700_charger.ko

View File

@ -0,0 +1,167 @@
clk-rockchip.ko
rockchip_sip.ko
rockchip-cpuinfo.ko
clk-rk3562.ko
clk-scmi.ko
clk-rockchip-regmap.ko
clk-rk808.ko
grf.ko
gpio-rockchip.ko
rockchip-iommu.ko
pinctrl-rockchip.ko
pinctrl-rk805.ko
ram_vendor_storage.ko
rk_vendor_storage.ko
adc-keys.ko
pwm-rockchip.ko
pwm_bl.ko
pwm-regulator.ko
phy-rockchip-samsung-hdptx.ko
analogix_dp.ko
rockchip-dfi.ko
rockchip-nocp.ko
rockchip-rng.ko
rk_cma_heap.ko
cqhci.ko
aes-ce-ccm.ko
ofb.ko
lzo-rle.ko
lzo.ko
sha1-ce.ko
cryptodev.ko
mmc_hsq.ko
dw_mmc.ko
dw_mmc-pltfm.ko
dw_mmc-rockchip.ko
dw_wdt.ko
fan53555.ko
fiq_debugger.ko
ghash-ce.ko
gl620a.ko
i2c-dev.ko
i2c-gpio.ko
i2c-hid.ko
i2c-mux.ko
i2c-rk3x.ko
rk808.ko
gpio-regulator.ko
rk808-regulator.ko
rk860x-regulator.ko
iep.ko
kfifo_buf.ko
industrialio-buffer-cb.ko
industrialio-triggered-buffer.ko
sensor_dev.ko
leds-gpio.ko
ledtrig-heartbeat.ko
nvme-core.ko
nvme.ko
nvmem-rockchip-otp.ko
tee.ko
optee.ko
pcierockchiphost.ko
phy-rockchip-inno-usb2.ko
phy-rockchip-inno-usb3.ko
phy-rockchip-naneng-combphy.ko
phy-rockchip-pcie.ko
phy-rockchip-samsung-dcphy.ko
phy-rockchip-samsung-hdptx-hdmi.ko
phy-rockchip-snps-pcie3.ko
phy-rockchip-naneng-edp.ko
phy-rockchip-inno-dsidphy.ko
rfkill-rk.ko
pcie-dw-rockchip.ko
dw_hdcp2.ko
dw-hdmi.ko
dw-hdmi-qp-cec.ko
dw-hdmi-qp.ko
dw-hdmi-qp-i2s-audio.ko
dw-mipi-dsi.ko
rockchipdrm.ko
display-connector.ko
clk-out.ko
clk-link.ko
pl330.ko
plusb.ko
rk805-pwrkey.ko
rk817_battery.ko
rk817_charger.ko
rk818_battery.ko
rk818_charger.ko
rk_headset.ko
rk_headset_irq_hook_adc.ko
rockchip_headset_core.ko
rockchip_saradc.ko
rk_fiq_debugger.ko
rockchip_thermal.ko
rtc-hym8563.ko
rtc-rk808.ko
sdhci-of-arasan.ko
sdhci-of-dwcmshc.ko
sg.ko
snd-soc-bt-sco.ko
snd-soc-dummy-codec.ko
snd-soc-hdmi-codec.ko
snd-soc-rk-codec-digital.ko
snd-soc-rk817.ko
snd-soc-rockchip-hdmi.ko
snd-soc-rockchip-i2s-tdm.ko
snd-soc-rockchip-i2s.ko
snd-soc-rockchip-multicodecs.ko
snd-soc-rockchip-pdm.ko
snd-soc-rockchip-sai.ko
snd-soc-rockchip-spdif.ko
snd-soc-rockchip-spdifrx.ko
snd-soc-simple-card-utils.ko
snd-soc-simple-card.ko
snd-soc-spdif-rx.ko
snd-soc-spdif-tx.ko
spi-rockchip.ko
spidev.ko
sw_sync.ko
reboot-mode.ko
syscon-reboot-mode.ko
rk_system_heap.ko
tcpci_husb311.ko
test_power.ko
timer-rockchip.ko
usblp.ko
usbserial.ko
zram.ko
zsmalloc.ko
rockchip_pvtm.ko
rockchip_opp_select.ko
rockchip_ipa.ko
rockchip_pm_config.ko
rockchip_bus.ko
cpufreq_ondemand.ko
cpufreq_userspace.ko
rockchip_dmc_common.ko
rockchip_system_monitor.ko
cpufreq-dt.ko
rockchip-cpufreq.ko
pm_domains.ko
rockchip_dmc.ko
rk_vcodec.ko
v4l2-fwnode.ko
videobuf2-cma-sg.ko
video_rkcif.ko
video_rkisp.ko
phy-rockchip-mipi-rx.ko
phy-rockchip-csi2-dphy-hw.ko
phy-rockchip-csi2-dphy.ko
rk_ircut.ko
rknpu.ko
ohci-hcd.ko
ohci-platform.ko
panel-simple.ko
rockchip.ko
pcs-xpcs.ko
dwmac-generic.ko
dwmac-rockchip.ko
stmmac-platform.ko
stmmac.ko
rga3.ko
rockchip_debug.ko
pwrseq_simple.ko
rockchip_pwm_remotectl.ko

View File

@ -0,0 +1,172 @@
rockchip_sip.ko
clk-rockchip.ko
rockchip-cpuinfo.ko
clk-rk3568.ko
clk-scmi.ko
clk-rockchip-regmap.ko
clk-pwm.ko
rk808.ko
clk-rk808.ko
io-domain.ko
grf.ko
gpio-rockchip.ko
gpio-regulator.ko
rk808-regulator.ko
rk860x-regulator.ko
pwm-regulator.ko
pinctrl-rockchip.ko
pinctrl-rk805.ko
ram_vendor_storage.ko
rk_vendor_storage.ko
adc-keys.ko
pwm-rockchip.ko
pwm_bl.ko
phy-rockchip-samsung-hdptx.ko
analogix_dp.ko
rockchip-dfi.ko
rockchip-nocp.ko
rockchip-rng.ko
fiq_debugger.ko
ghash-ce.ko
gl620a.ko
i2c-dev.ko
i2c-gpio.ko
i2c-hid.ko
i2c-mux.ko
i2c-rk3x.ko
rtc-hym8563.ko
rtc-rk808.ko
cqhci.ko
aes-ce-ccm.ko
cfb.ko
ofb.ko
lzo-rle.ko
lzo.ko
sha1-ce.ko
cryptodev.ko
mmc_hsq.ko
dw_mmc.ko
dw_mmc-pltfm.ko
dw_mmc-rockchip.ko
dw_wdt.ko
fan53555.ko
iep.ko
kfifo_buf.ko
industrialio-buffer-cb.ko
industrialio-triggered-buffer.ko
sensor_dev.ko
leds-gpio.ko
ledtrig-heartbeat.ko
nvme-core.ko
nvme.ko
nvmem-rockchip-otp.ko
tee.ko
optee.ko
pcierockchiphost.ko
phy-rockchip-inno-usb2.ko
phy-rockchip-inno-usb3.ko
phy-rockchip-naneng-combphy.ko
phy-rockchip-pcie.ko
phy-rockchip-samsung-dcphy.ko
phy-rockchip-samsung-hdptx-hdmi.ko
phy-rockchip-snps-pcie3.ko
phy-rockchip-naneng-edp.ko
phy-rockchip-inno-dsidphy.ko
rfkill-rk.ko
pcie-dw-rockchip.ko
dw_hdcp2.ko
dw-hdmi.ko
dw-hdmi-cec.ko
dw-hdmi-hdcp.ko
dw-hdmi-i2s-audio.ko
dw-hdmi-qp-cec.ko
dw-hdmi-qp.ko
dw-hdmi-qp-i2s-audio.ko
dw-mipi-dsi.ko
rockchipdrm.ko
display-connector.ko
clk-out.ko
clk-link.ko
pl330.ko
plusb.ko
rk805-pwrkey.ko
rk817_battery.ko
rk817_charger.ko
rk818_battery.ko
pm_domains.ko
rockchip-iommu.ko
rk_cma_heap.ko
rk818_charger.ko
rk_headset.ko
rk_headset_irq_hook_adc.ko
rockchip_headset_core.ko
rockchip_saradc.ko
rk_fiq_debugger.ko
rockchip_thermal.ko
sdhci-of-arasan.ko
sdhci-of-dwcmshc.ko
sg.ko
snd-soc-bt-sco.ko
snd-soc-dummy-codec.ko
snd-soc-hdmi-codec.ko
snd-soc-rk-codec-digital.ko
snd-soc-rk817.ko
snd-soc-rockchip-hdmi.ko
snd-soc-rockchip-i2s-tdm.ko
snd-soc-rockchip-i2s.ko
snd-soc-rockchip-multicodecs.ko
snd-soc-rockchip-pdm.ko
snd-soc-rockchip-sai.ko
snd-soc-rockchip-spdif.ko
snd-soc-rockchip-spdifrx.ko
snd-soc-simple-card-utils.ko
snd-soc-simple-card.ko
snd-soc-spdif-rx.ko
snd-soc-spdif-tx.ko
spi-rockchip.ko
spidev.ko
sw_sync.ko
reboot-mode.ko
syscon-reboot-mode.ko
rk_system_heap.ko
tcpci_husb311.ko
test_power.ko
timer-rockchip.ko
usblp.ko
usbserial.ko
zram.ko
zsmalloc.ko
rockchip_pvtm.ko
rockchip_opp_select.ko
rockchip_ipa.ko
rockchip_pm_config.ko
rockchip_bus.ko
cpufreq_ondemand.ko
cpufreq_userspace.ko
rockchip_dmc_common.ko
rockchip_system_monitor.ko
cpufreq-dt.ko
rockchip-cpufreq.ko
rockchip_dmc.ko
rk_vcodec.ko
v4l2-fwnode.ko
videobuf2-cma-sg.ko
video_rkcif.ko
video_rkisp.ko
phy-rockchip-mipi-rx.ko
phy-rockchip-csi2-dphy-hw.ko
phy-rockchip-csi2-dphy.ko
rk_ircut.ko
rknpu.ko
ohci-hcd.ko
ohci-platform.ko
panel-simple.ko
rockchip.ko
pcs-xpcs.ko
dwmac-generic.ko
dwmac-rockchip.ko
stmmac-platform.ko
stmmac.ko
rga3.ko
rockchip_debug.ko
pwrseq_simple.ko

View File

@ -0,0 +1,152 @@
rockchip_sip.ko
clk-rockchip.ko
rockchip-cpuinfo.ko
clk-rk3588.ko
clk-scmi.ko
clk-rockchip-regmap.ko
grf.ko
gpio-rockchip.ko
pinctrl-rk806.ko
gpio-regulator.ko
rk806-core.ko
rk806-regulator.ko
rk860x-regulator.ko
pinctrl-rockchip.ko
ram_vendor_storage.ko
rk_vendor_storage.ko
adc-keys.ko
pwm-rockchip.ko
pwm_bl.ko
phy-rockchip-samsung-hdptx.ko
analogix_dp.ko
rockchip-dfi.ko
rockchip-nocp.ko
rockchip-rng.ko
fiq_debugger.ko
ghash-ce.ko
gl620a.ko
i2c-dev.ko
i2c-gpio.ko
i2c-hid.ko
i2c-mux.ko
i2c-rk3x.ko
rtc-hym8563.ko
cqhci.ko
mmc_hsq.ko
dw_mmc.ko
dw_mmc-pltfm.ko
dw_mmc-rockchip.ko
dw_wdt.ko
iep.ko
kfifo_buf.ko
industrialio-buffer-cb.ko
industrialio-triggered-buffer.ko
sensor_dev.ko
leds-gpio.ko
ledtrig-heartbeat.ko
nvme-core.ko
nvme.ko
nvmem-rockchip-otp.ko
tee.ko
optee.ko
pcierockchiphost.ko
phy-rockchip-inno-usb2.ko
phy-rockchip-inno-usb3.ko
phy-rockchip-naneng-combphy.ko
phy-rockchip-pcie.ko
phy-rockchip-samsung-dcphy.ko
phy-rockchip-samsung-hdptx-hdmi.ko
phy-rockchip-snps-pcie3.ko
phy-rockchip-usbdp.ko
rfkill-rk.ko
pwrseq_simple.ko
pcie-dw-rockchip.ko
dw_hdcp2.ko
dw-hdmi.ko
dw-hdmi-qp-cec.ko
dw-hdmi-qp.ko
dw-hdmi-qp-i2s-audio.ko
dw-mipi-dsi.ko
rockchipdrm.ko
display-connector.ko
clk-out.ko
clk-link.ko
pl330.ko
plusb.ko
rk805-pwrkey.ko
spi-rockchip.ko
spidev.ko
rk806-spi.ko
pm_domains.ko
rockchip-iommu.ko
rk_cma_heap.ko
rk_headset.ko
rk_headset_irq_hook_adc.ko
rockchip_headset_core.ko
rockchip_saradc.ko
rk_fiq_debugger.ko
rockchip_thermal.ko
sdhci-of-arasan.ko
sdhci-of-dwcmshc.ko
sg.ko
snd-soc-bt-sco.ko
snd-soc-dummy-codec.ko
snd-soc-hdmi-codec.ko
snd-soc-rk-codec-digital.ko
snd-soc-rockchip-hdmi.ko
snd-soc-rockchip-i2s-tdm.ko
snd-soc-rockchip-i2s.ko
snd-soc-rockchip-multicodecs.ko
snd-soc-rockchip-pdm.ko
snd-soc-rockchip-spdif.ko
snd-soc-rockchip-spdifrx.ko
snd-soc-simple-card-utils.ko
snd-soc-simple-card.ko
snd-soc-spdif-rx.ko
snd-soc-spdif-tx.ko
sw_sync.ko
reboot-mode.ko
syscon-reboot-mode.ko
rk_system_heap.ko
fusb302.ko
tcpci_husb311.ko
test_power.ko
timer-rockchip.ko
usblp.ko
usbserial.ko
zram.ko
zsmalloc.ko
rockchip_pvtm.ko
rockchip_opp_select.ko
rockchip_ipa.ko
rockchip_pm_config.ko
rockchip_bus.ko
cpufreq_ondemand.ko
cpufreq_userspace.ko
rockchip_dmc_common.ko
rockchip_system_monitor.ko
cpufreq-dt.ko
rockchip-cpufreq.ko
rockchip_dmc.ko
typec_displayport.ko
v4l2-fwnode.ko
videobuf2-cma-sg.ko
video_rkcif.ko
video_rkisp.ko
phy-rockchip-mipi-rx.ko
phy-rockchip-csi2-dphy-hw.ko
phy-rockchip-csi2-dphy.ko
rk_ircut.ko
rknpu.ko
ohci-hcd.ko
ohci-platform.ko
panel-simple.ko
rockchip.ko
pcs-xpcs.ko
dwmac-rockchip.ko
stmmac-platform.ko
stmmac.ko
rga3.ko
rockchip_debug.ko
rockchip-hdmirx.ko
rk_vcodec.ko

7
res/vendor_gki.mk Normal file
View File

@ -0,0 +1,7 @@
# Rockchip 2022 makefile
# Generate from vendor/rockchip/gki/modular_kernel/configs/vendor_modules.load
BOARD_VENDOR_KERNEL_MODULES_LOAD := $(strip $(shell cat $(KERNEL_GKI_DIR)/res/vendor_modules.load))
ifdef BOARD_VENDOR_KERNEL_MODULES_LOAD
BOARD_VENDOR_KERNEL_MODULES += $(addprefix $(KERNEL_DRIVERS_PATH)/, $(notdir $(BOARD_VENDOR_KERNEL_MODULES_LOAD)))
endif

23
res/vendor_image_info.txt Normal file
View File

@ -0,0 +1,23 @@
vendor_fs_type=ext4
vendor_selinux_fc=res/file_contexts.bin
ext_mkuserimg=mkuserimg_mke2fs
fs_type=ext4
extfs_sparse_flag=-s
squashfs_sparse_flag=-s
f2fs_sparse_flag=-S
avb_avbtool=avbtool
avb_system_hashtree_enable=false
avb_system_add_hashtree_footer_args=
avb_system_other_hashtree_enable=false
avb_system_other_add_hashtree_footer_args=
avb_vendor_hashtree_enable=false
avb_vendor_add_hashtree_footer_args=
avb_product_hashtree_enable=false
avb_product_add_hashtree_footer_args=
avb_system_ext_hashtree_enable=false
avb_system_ext_add_hashtree_footer_args=
avb_odm_hashtree_enable=false
avb_odm_add_hashtree_footer_args=
root_dir=out/target/product/rk3399_Android11/root
use_dynamic_partition_size=true
skip_fsck=true

0
res/vendor_modules.load Normal file
View File

17
res/vendor_ramdisk_gki.mk Normal file
View File

@ -0,0 +1,17 @@
# Rockchip 2022 makefile
# Generate from vendor/rockchip/gki/modular_kernel/configs/vendor_ramdisk_modules.load
# SoC modules
BOARD_VENDOR_RAMDISK_SOC_LIST := $(strip $(shell cat $(KERNEL_GKI_DIR)/res/soc/$(TARGET_BOARD_PLATFORM)/vendor_ramdisk_modules.load))
ifndef BOARD_VENDOR_RAMDISK_SOC_LIST
$(error SoC load file not found, GKI is not support for $(TARGET_BOARD_PLATFORM) now)
endif
# Board modules, refs to DTS
BOARD_VENDOR_RAMDISK_BOARD_LIST := $(strip $(shell cat $(KERNEL_GKI_DIR)/res/board/$(PRODUCT_KERNEL_DTS).load))
ifndef BOARD_VENDOR_RAMDISK_BOARD_LIST
$(error $(PRODUCT_KERNEL_DTS).load not found, please add your proprietary load file.)
endif
BOARD_VENDOR_RAMDISK_KERNEL_MODULES := $(addprefix $(KERNEL_DRIVERS_PATH)/, $(notdir $(BOARD_VENDOR_RAMDISK_SOC_LIST)))
BOARD_VENDOR_RAMDISK_KERNEL_MODULES += $(addprefix $(KERNEL_DRIVERS_PATH)/, $(notdir $(BOARD_VENDOR_RAMDISK_BOARD_LIST)))

125
tools/DepSort.java Normal file
View File

@ -0,0 +1,125 @@
import java.io.BufferedReader;
import java.io.File;
import java.io.FileReader;
import java.util.*;
public class DepSort {
static class Module implements Comparable{
String name;
ArrayList<String> deps = new ArrayList<>();
private int weight = -1;
Module(String[] list) {
assert list.length > 1;
String first = list[0];
this.name = first.substring(0, first.length() - 1);
this.deps.addAll(Arrays.asList(list).subList(1, list.length));
}
public String toString() {
StringBuilder builder = new StringBuilder();
builder.append(":");
if (deps.size() > 0) {
for (int i = 0; i < deps.size(); i++) {
builder.append(" ");
builder.append(deps.get(i));
}
}
// builder.append("] -- weight: ");
// builder.append(getWeight());
return name + builder.toString();
}
int getWeight() {
return this.weight;
}
void setWeight(int weight1) {
this.weight = weight1;
}
@Override
public int compareTo(Object o) {
return Integer.compare(this.getWeight(), ((Module) o).getWeight());
}
}
private static ArrayList<Module> loadConfig(String path) {
ArrayList<Module> result = new ArrayList<>();
File target = new File(path);
try {
BufferedReader reader = new BufferedReader(new FileReader(target));
try {
String line;
while ((line = reader.readLine()) != null) {
// a.ko: b.ko c.ko
String[] mLine = line.split(" ");
Module module = new Module(mLine);
result.add(module);
}
reader.close();
} catch (Throwable throwable) {
try {
reader.close();
} catch (Throwable throwable1) {
throwable.addSuppressed(throwable1);
}
throw throwable;
}
} catch (Exception e) {
e.printStackTrace();
}
return result;
}
private static Module getModuleFromList(String name, ArrayList<Module> list) {
for (Module module : list) {
if (name.equals(module.name)) return module;
}
return null;
}
private static int calculateWeight(Module module, ArrayList<Module> list, ArrayList<Module> nameTable) {
if (module.getWeight() != -1) return module.getWeight();
int weight = 1;
for (int i = 0; i < module.deps.size(); i++) {
Module m = getModuleFromList(module.deps.get(i), list);
weight += calculateWeight(m, list, nameTable);
}
return weight;
}
public static void main(String[] argv) {
if (argv.length != 1) {
System.out.println("Invalid params! Use:");
System.out.println("java DepSort modules.dep");
return;
}
ArrayList<Module> modules = loadConfig(argv[0]);
ArrayList<Module> nameTable = new ArrayList<>();
int len = modules.size();
for (Module module : modules) {
// System.out.println(modules.get(i));
// Collect all of the zero dep modules
if (module.deps.size() == 0) {
module.setWeight(1);
nameTable.add(module);
}
}
for (int i = 0; i < modules.size(); i++) {
Module m = modules.get(i);
int weight = calculateWeight(m, modules, nameTable);
m.setWeight(weight);
}
// System.out.println("==============");
Collections.sort(modules);
for (Module module : modules) {
System.out.println(module.name);
}
}
}

67
tools/gki_load_check.sh Normal file
View File

@ -0,0 +1,67 @@
#!/bin/bash
TMP_LOG_FILE=./_tmp_log
clean() {
if [[ -f $1 ]]; then
rm -rf $1
fi
}
check_and_echo_lines() {
TO_BE_CHECKED_LINE=$1
CHECK_FILE=$2
RET=`grep -xc "$TO_BE_CHECKED_LINE" $CHECK_FILE`
if [ "1" != "$RET" ] ; then
echo "$TO_BE_CHECKED_LINE" >> $CHECK_FILE
fi
}
check_file_has_dup_line() {
TMP_NAME=`basename $1`
TMP_FILE=./_tmp_kos_$TMP_NAME
echo "----------------------- Checking $TMP_NAME...------------------------------"
clean $TMP_FILE
touch $TMP_FILE
modules_ramdisk_array=($(cat $1))
num_array=${#modules_ramdisk_array[@]}
[[ $num_array -eq 0 ]] && return
for MODULE in "${modules_ramdisk_array[@]}"
do
module_file=($(find . -name $MODULE))
if [ "$module_file" != "" ]; then
TMP_KO_NAME=`basename $module_file`
check_and_echo_lines "$TMP_KO_NAME" $TMP_FILE
fi
done
HAS_DIFF=`diff -q $TMP_FILE $1`
if [ "$HAS_DIFF" = "" ]; then
clean $TMP_FILE
return 0
fi
DIFF_RET=`diff -y $TMP_FILE $1`
echo "++++++++++++++++ Your configs $1 has duplicate lines +++++++++++++++++++" >> $TMP_LOG_FILE
echo "$DIFF_RET" >> $TMP_LOG_FILE
echo "++++++++++++++++++++++++++++++++ end +++++++++++++++++++++++++++++++++++" >> $TMP_LOG_FILE
clean $TMP_FILE
return 1
}
clean $TMP_LOG_FILE
check_file_has_dup_line res/vendor_modules.load
check_file_has_dup_line res/vendor_ramdisk_modules.load
check_file_has_dup_line res/recovery_modules.load
if [[ -f $TMP_LOG_FILE ]]; then
cat $TMP_LOG_FILE
clean $TMP_LOG_FILE
exit 1
else
clean $TMP_LOG_FILE
exit 0
fi
#ssh -x -p 29418 robot_verifier@10.10.10.29 gerrit review --project $CTS_GERRIT_PROJECT $CTS_GERRIT_PATCHSET_REVISION --message "'$CTS_RET_MESSAGE'"

32
tools/search_3.sh Executable file
View File

@ -0,0 +1,32 @@
#!/bin/bash
TEMP_MODULES_PATH=$1
HEAD_KO=(rockchip-iommu.ko pinctrl-rockchip.ko pinctrl-rk805.ko pm_domains.ko io-domain.ko clk-pwm.ko clk-scmi.ko clk-rk808.ko clk-rk3568.ko clk-rk3399.ko
)
RET_FILE=./modules_scan_result.load
RET_KO=`find $TEMP_MODULES_PATH -type f -name *.ko | xargs basename -a|sort|uniq`
rm -rf $RET_FILE
for ko in ${HEAD_KO[@]}
do
echo $ko >> $RET_FILE
done
for ko in ${RET_KO[@]}
do
found=0
for head in ${HEAD_KO[@]}
do
if [ "$head" == "$ko" ]
then
#echo "dup"
found=1
break
fi
done
if [ "$found" != 1 ]
then
echo $ko >> $RET_FILE
fi
done
echo -e "\033[32mSave modules scan result as $RET_FILE \033[0m"

BIN
vendor_boot.img Normal file

Binary file not shown.

View File

@ -0,0 +1,32 @@
# Android fstab file.
#<src> <mnt_point> <type> <mnt_flags and options> <fs_mgr_flags>
# The filesystem that contains the filesystem checker binary (typically /system) cannot
# specify MF_CHECK, and must come before any filesystems that do specify MF_CHECK
system /system ext4 ro,barrier=1 wait,logical,first_stage_mount
vendor /vendor ext4 ro,barrier=1 wait,logical,first_stage_mount
odm /odm ext4 ro,barrier=1 wait,logical,first_stage_mount
/dev/block/by-name/cache /cache ext4 noatime,nodiratime,nosuid,nodev,noauto_da_alloc,discard wait,check
/dev/block/by-name/metadata /metadata ext4 nodev,noatime,nosuid,discard,sync wait,formattable,first_stage_mount,check
/dev/block/by-name/misc /misc emmc defaults defaults
/devices/platform/*usb* auto vfat defaults voldmanaged=usb:auto
# For sata
/devices/platform/*.sata* auto vfat defaults voldmanaged=sata:auto
# For pcie ssd
/devices/platform/*.pcie* auto vfat defaults voldmanaged=pcie:auto
/dev/block/zram0 none swap defaults zramsize=50%
# For sdmmc
/devices/platform/fe2c0000.mmc/mmc_host* auto auto defaults voldmanaged=sdcard1:auto
# Full disk encryption has less effect on rk3326, so default to enable this.
/dev/block/by-name/userdata /data f2fs noatime,nosuid,nodev,discard,reserve_root=32768,resgid=1065 latemount,wait,check,fileencryption=aes-256-xts:aes-256-cts:v2+inlinecrypt_optimized,keydirectory=/metadata/vold/metadata_encryption,quota,formattable,reservedsize=128M,checkpoint=fs
# for ext4
#/dev/block/by-name/userdata /data ext4 discard,noatime,nosuid,nodev,noauto_da_alloc,data=ordered,user_xattr,barrier=1 latemount,wait,formattable,check,fileencryption=software,quota,reservedsize=128M,checkpoint=block
system_ext /system_ext ext4 ro,barrier=1 wait,logical,first_stage_mount
vendor_dlkm /vendor_dlkm ext4 ro,barrier=1 wait,logical,first_stage_mount
odm_dlkm /odm_dlkm ext4 ro,barrier=1 wait,logical,first_stage_mount
product /product ext4 ro,barrier=1 wait,logical,first_stage_mount

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Some files were not shown because too many files have changed in this diff Show More