2 # Tizen kernel config options
12 # Tizen uses ramdisk on its booting, so it should be possible to recognize
13 # block ram device, at least, with one, 8MiB and recommendation is 12MiB
14 # to use recovery ramdisk
18 CONFIG_BLK_DEV_INITRD=y
20 # CONFIG_BLK_DEV_RAM_COUNT=1 # at least, 1
21 CONFIG_BLK_DEV_RAM_COUNT=2
22 # CONFIG_BLK_DEV_RAM_SIZE=8096 # at least, 8096
23 CONFIG_BLK_DEV_RAM_SIZE=32768
29 # 1-2. Basic partitions and FileSystem support on storage
32 # Tizen uses EFI GUID paritions on it storage and EXT4 as its default file
33 # system. Basic language support for filesystem is iso8859-1 and it required
34 # codepage 437, ascii, utf-8.
36 CONFIG_EFI_PARTITION=y
38 CONFIG_EXT4_FS_SECURITY=y
40 CONFIG_NLS_DEFAULT="iso8859-1"
41 CONFIG_NLS_CODEPAGE_437=y
43 CONFIG_NLS_ISO8859_1=y
46 # Tizen uses DM-VERITY for readonly rootfs.
51 # Tizen can use BTRFS for rootfs parition.
54 CONFIG_BTRFS_FS_POSIX_ACL=y
56 # Web engine requires squashfs to access library with compressed fs.
57 # Also, IoT device with small size storage uses squashfs compressed fs.
60 CONFIG_SQUASHFS_FILE_CACHE=y
61 CONFIG_SQUASHFS_DECOMP_SINGLE=y
62 CONFIG_SQUASHFS_XATTR=y
63 CONFIG_SQUASHFS_ZLIB=y
65 CONFIG_SQUASHFS_4K_DEVBLK_SIZE=y
66 CONFIG_SQUASHFS_FRAGMENT_CACHE_SIZE=3
68 # MSDOS paritions made from other system on external storage should be
69 # recognized in Tizen. Also, EXT2/3 compatiblity and VFAT are recommeded for
70 # compatibility of external storage.
73 CONFIG_PARTITION_ADVANCED=y
74 CONFIG_MSDOS_PARTITION=y
75 CONFIG_EXT4_USE_FOR_EXT2=y
78 CONFIG_FAT_DEFAULT_CODEPAGE=437
79 CONFIG_FAT_DEFAULT_IOCHARSET="iso8859-1"
82 # 1-2. Systemd support
83 # Ref. https://github.com/systemd/systemd/blob/master/README
86 # Tizen uses systemd and required config for systemd.
96 # CONFIG_SYSFS_DEPRECATED is not set
101 CONFIG_CRYPTO_SHA256=y
102 CONFIG_UEVENT_HELPER=y
103 CONFIG_UEVENT_HELPER_PATH=""
110 # Tizen requies sysv ipc including msgq.
113 CONFIG_SYSVIPC_SYSCTL=y
116 # 1-4. TLM user login support
119 # Tizen uses tlm for user session and it requires vt.
124 # 1-5. Other Tizen Booting
127 # Tizen requies devtmpfs auto-mount and tmpfs.
129 CONFIG_DEVTMPFS_MOUNT=y
136 # 2-1. Access Control
137 # Ref. https://wiki.tizen.org/Security:SmackConfiguration
140 # Tizen uses ACL and Security SMACK.
144 CONFIG_SECURITY_NETWORK=y
146 CONFIG_FS_POSIX_ACL=y
147 CONFIG_EXT4_FS_POSIX_ACL=y
148 CONFIG_TMPFS_POSIX_ACL=y
151 CONFIG_SECURITY_SMACK=y
152 CONFIG_DEFAULT_SECURITY_SMACK=y
153 CONFIG_DEFAULT_SECURITY="smack"
154 CONFIG_SECURITY_SMACK_APPEND_SIGNALS=y
157 # To check non privileged access try, AUDIT is recomended.
160 CONFIG_AUDIT_GENERIC=y
161 CONFIG_AUDITSYSCALL=y
165 # Ref. https://wiki.tizen.org/Security:Nether
169 CONFIG_NETWORK_SECMARK=y
170 CONFIG_SECURITY_SMACK_NETFILTER=y
171 CONFIG_NETFILTER_XT_MARK=y
172 CONFIG_NETFILTER_XT_CONNMARK=y
173 CONFIG_NETFILTER_XT_TARGET_NFQUEUE=y
174 CONFIG_IP_NF_TARGET_REJECT=y
175 CONFIG_NETFILTER_XT_TARGET_AUDIT=y
176 CONFIG_NETFILTER_XT_MATCH_OWNER=y
184 CONFIG_CRYPTO_SHA256=y
186 CONFIG_CRYPTO_ALGAPI=y
187 CONFIG_CRYPTO_ALGAPI2=y
189 CONFIG_CRYPTO_AEAD2=y
190 CONFIG_CRYPTO_BLKCIPHER=y
191 CONFIG_CRYPTO_BLKCIPHER2=y
193 CONFIG_CRYPTO_HASH2=y
196 CONFIG_CRYPTO_PCOMP2=y
197 CONFIG_CRYPTO_MANAGER=y
198 CONFIG_CRYPTO_MANAGER2=y
199 CONFIG_CRYPTO_MANAGER_DISABLE_TESTS=y
200 CONFIG_CRYPTO_GF128MUL=y
202 CONFIG_CRYPTO_WORKQUEUE=y
203 CONFIG_CRYPTO_AUTHENC=y
206 CONFIG_CRYPTO_SEQIV=y
208 CONFIG_CRYPTO_GHASH=y
209 CONFIG_CRYPTO_CRC32C=y
215 CONFIG_CRYPTO_TWOFISH=y
216 CONFIG_CRYPTO_TWOFISH_COMMON=y
217 CONFIG_CRYPTO_DEFLATE=y
219 CONFIG_CRYPTO_ANSI_CPRNG=y
224 # Ref. https://wiki.tizen.org/System:Deviced
227 # 3-1. deviced tzip feature
228 # deviced requires FUSE for tzip feature to support mount of zip file.
234 # 3-2. deviced extcon uevent and usb feature
235 # deviced optionally requires EXTCON to get external connector event like
236 # USB device port and HDMI.
237 # USB host and its class drivers are also recommended.
244 CONFIG_USB_DEFAULT_PERSIST=y
247 CONFIG_USB_NOTIFY_LAYER=y
248 CONFIG_USB_HOST_NOTIFY=y
249 CONFIG_USB_NOTIFIER=y
250 CONFIG_USB_EXTERNAL_DETECT=y
252 CONFIG_USB_LIBCOMPOSITE=y
254 CONFIG_USB_F_ACM_SELECTOR=y
255 CONFIG_USB_U_SERIAL=y
256 CONFIG_USB_F_ACM_REQ_U_SERIAL=y
257 CONFIG_USB_U_SERIAL_SELECTOR=y
259 CONFIG_USB_CONFIGFS=y
260 CONFIG_USB_FUNCTIONFS=y
261 CONFIG_USB_FUNCTIONFS_GENERIC=y
264 # 3-3. deviced led feature
265 # deviced optionally requires LED to show system state.
270 CONFIG_LEDS_CLASS_FLASH=y
272 CONFIG_LEDS_TRIGGERS=y
273 CONFIG_LEDS_TRIGGER_HEARTBEAT=y
277 # Ref. https://wiki.tizen.org/3.0_Porting_Guide/System#dlog
281 CONFIG_ANDROID_LOGGER=y
283 CONFIG_MULTIPLE_KMSG=y
287 # Ref. https://wiki.tizen.org/3.0_Porting_Guide/System#resourced
290 CONFIG_CGROUP_SCHED=y
295 CONFIG_CGROUP_FREEZER=y
298 CONFIG_MEMCG_SWAP_ENABLED=y
300 CONFIG_ZRAM_LZ4_COMPRESS=y
303 CONFIG_PROC_PID_CPUSET=y
308 # 6-1. Ethernet and WLAN driver
318 CONFIG_CFG80211_DEFAULT_PS=y
319 CONFIG_CFG80211_WEXT=y
320 CONFIG_CFG80211_ALLOW_RECONNECT=y
324 CONFIG_USB_NET_DRIVERS=y
327 # 6-2. Smart Traffic Control (STC) manager
333 CONFIG_DEFAULT_HOSTNAME="(none)"
338 CONFIG_NET_CLS_CGROUP=y
345 CONFIG_NET_IPGRE_DEMUX=y
346 CONFIG_NET_IP_TUNNEL=y
349 CONFIG_INET_XFRM_MODE_TRANSPORT=y
350 CONFIG_INET_XFRM_MODE_TUNNEL=y
351 CONFIG_INET_XFRM_MODE_BEET=y
353 CONFIG_INET_TCP_DIAG=y
354 CONFIG_TCP_CONG_CUBIC=y
355 CONFIG_DEFAULT_TCP_CONG="cubic"
357 CONFIG_IPV6_PRIVACY=y
358 CONFIG_IPV6_ROUTER_PREF=y
359 CONFIG_IPV6_ROUTE_INFO=y
360 CONFIG_IPV6_OPTIMISTIC_DAD=y
363 CONFIG_INET6_IPCOMP=y
365 CONFIG_INET6_XFRM_TUNNEL=y
366 CONFIG_INET6_TUNNEL=y
367 CONFIG_INET6_XFRM_MODE_TRANSPORT=y
368 CONFIG_INET6_XFRM_MODE_TUNNEL=y
369 CONFIG_INET6_XFRM_MODE_BEET=y
371 CONFIG_IPV6_NDISC_NODETYPE=y
373 CONFIG_IPV6_MULTIPLE_TABLES=y
374 CONFIG_IPV6_SUBTREES=y
375 CONFIG_NET_ACTIVITY_STATS=y
376 CONFIG_NETFILTER_NETLINK_ACCT=y
377 CONFIG_NETFILTER_NETLINK_QUEUE=y
378 CONFIG_NETFILTER_NETLINK_LOG=y
379 CONFIG_NF_CONNTRACK=y
380 CONFIG_NF_CONNTRACK_MARK=y
381 CONFIG_NF_CONNTRACK_PROCFS=y
382 CONFIG_NF_CONNTRACK_EVENTS=y
383 CONFIG_NF_CT_PROTO_DCCP=y
384 CONFIG_NF_CT_PROTO_GRE=y
385 CONFIG_NF_CT_PROTO_SCTP=y
386 CONFIG_NF_CT_PROTO_UDPLITE=y
387 CONFIG_NF_CONNTRACK_AMANDA=y
388 CONFIG_NF_CONNTRACK_FTP=y
389 CONFIG_NF_CONNTRACK_H323=y
390 CONFIG_NF_CONNTRACK_IRC=y
391 CONFIG_NF_CONNTRACK_BROADCAST=y
392 CONFIG_NF_CONNTRACK_NETBIOS_NS=y
393 CONFIG_NF_CONNTRACK_PPTP=y
394 CONFIG_NF_CONNTRACK_SANE=y
395 CONFIG_NF_CONNTRACK_SIP=y
396 CONFIG_NF_CONNTRACK_TFTP=y
397 CONFIG_NF_CT_NETLINK=y
399 CONFIG_NF_NAT_NEEDED=y
400 CONFIG_NF_NAT_PROTO_DCCP=y
401 CONFIG_NF_NAT_PROTO_UDPLITE=y
402 CONFIG_NF_NAT_PROTO_SCTP=y
403 CONFIG_NF_NAT_AMANDA=y
408 CONFIG_NETFILTER_TPROXY=y
409 CONFIG_IP_NF_TARGET_REJECT_SKERR=y
410 CONFIG_NETFILTER_XT_TARGET_CLASSIFY=y
411 CONFIG_NETFILTER_XT_TARGET_CONNMARK=y
412 CONFIG_NETFILTER_XT_TARGET_LOG=y
413 CONFIG_NETFILTER_XT_TARGET_MARK=y
414 CONFIG_NETFILTER_XT_TARGET_NETMAP=y
415 CONFIG_NETFILTER_XT_TARGET_NFLOG=y
416 CONFIG_NETFILTER_XT_TARGET_REDIRECT=y
417 CONFIG_NETFILTER_XT_TARGET_TPROXY=y
418 CONFIG_NETFILTER_XT_TARGET_TRACE=y
419 CONFIG_NETFILTER_XT_TARGET_SECMARK=y
420 CONFIG_NETFILTER_XT_MATCH_CGROUP=y
421 CONFIG_NETFILTER_XT_MATCH_COMMENT=y
422 CONFIG_NETFILTER_XT_MATCH_CONNLIMIT=y
423 CONFIG_NETFILTER_XT_MATCH_CONNMARK=y
424 CONFIG_NETFILTER_XT_MATCH_CONNTRACK=y
425 CONFIG_NETFILTER_XT_MATCH_ECN=y
426 CONFIG_NETFILTER_XT_MATCH_HASHLIMIT=y
427 CONFIG_NETFILTER_XT_MATCH_HELPER=y
428 CONFIG_NETFILTER_XT_MATCH_HL=y
429 CONFIG_NETFILTER_XT_MATCH_IPRANGE=y
430 CONFIG_NETFILTER_XT_MATCH_LENGTH=y
431 CONFIG_NETFILTER_XT_MATCH_LIMIT=y
432 CONFIG_NETFILTER_XT_MATCH_MAC=y
433 CONFIG_NETFILTER_XT_MATCH_MARK=y
434 CONFIG_NETFILTER_XT_MATCH_MULTIPORT=y
435 CONFIG_NETFILTER_XT_MATCH_NFACCT=y
436 CONFIG_NETFILTER_XT_MATCH_POLICY=y
437 CONFIG_NETFILTER_XT_MATCH_PKTTYPE=y
438 CONFIG_NETFILTER_XT_MATCH_QUOTA=y
439 CONFIG_NETFILTER_XT_MATCH_QUOTA2=y
440 CONFIG_NETFILTER_XT_MATCH_QUOTA2_LOG=y
441 CONFIG_NETFILTER_XT_MATCH_SOCKET=y
442 CONFIG_NETFILTER_XT_MATCH_STATE=y
443 CONFIG_NETFILTER_XT_MATCH_STATISTIC=y
444 CONFIG_NETFILTER_XT_MATCH_STRING=y
445 CONFIG_NETFILTER_XT_MATCH_TIME=y
446 CONFIG_NETFILTER_XT_MATCH_U32=y
447 CONFIG_NF_CONNTRACK_PROC_COMPAT=y
448 CONFIG_IP_NF_IPTABLES=y
449 CONFIG_IP_NF_MATCH_AH=y
450 CONFIG_IP_NF_MATCH_ECN=y
451 CONFIG_IP_NF_MATCH_TTL=y
452 CONFIG_IP_NF_FILTER=y
454 CONFIG_IP_NF_TARGET_NETMAP=y
455 CONFIG_IP_NF_TARGET_REDIRECT=y
456 CONFIG_NF_NAT_PROTO_GRE=y
460 CONFIG_IP_NF_ARPTABLES=y
461 CONFIG_IP_NF_ARPFILTER=y
462 CONFIG_IP_NF_ARP_MANGLE=y
463 CONFIG_NF_DEFRAG_IPV6=y
464 CONFIG_NF_CONNTRACK_IPV6=y
465 CONFIG_IP6_NF_IPTABLES=y
466 CONFIG_IP6_NF_FILTER=y
467 CONFIG_IP6_NF_TARGET_REJECT=y
468 CONFIG_IP6_NF_TARGET_REJECT_SKERR=y
475 CONFIG_NET_EMATCH_STACK=32
476 CONFIG_NET_EMATCH_U32=y
478 CONFIG_NET_SCH_FIFO=y
488 CONFIG_IP_MULTICAST=y
489 CONFIG_IP_ADVANCED_ROUTER=y
490 CONFIG_IP_MULTIPLE_TABLES=y
491 CONFIG_NETFILTER_ADVANCED=y
492 CONFIG_BRIDGE_NETFILTER=y
493 CONFIG_NETFILTER_NETLINK=y
494 CONFIG_NETFILTER_NETLINK_LOG=y
495 CONFIG_NF_CONNTRACK=y
496 CONFIG_NF_CONNTRACK_MARK=y
498 CONFIG_NF_TABLES_INET=y
502 CONFIG_NETFILTER_XTABLES=y
503 CONFIG_NETFILTER_XT_MARK=y
504 CONFIG_NETFILTER_XT_CONNMARK=y
505 CONFIG_NETFILTER_XT_NAT=y
506 CONFIG_NETFILTER_XT_TARGET_TCPMSS=y
507 CONFIG_NETFILTER_XT_MATCH_TCPMSS=y
508 CONFIG_NETFILTER_XT_MATCH_STATE=y
509 CONFIG_NF_DEFRAG_IPV4=y
510 CONFIG_NF_CONNTRACK_IPV4=y
511 CONFIG_NF_TABLES_IPV4=y
512 CONFIG_NFT_CHAIN_ROUTE_IPV4=y
513 CONFIG_NF_REJECT_IPV4=y
515 CONFIG_NFT_CHAIN_NAT_IPV4=y
516 CONFIG_NF_NAT_MASQUERADE_IPV4=y
519 CONFIG_IP_NF_TARGET_MASQUERADE=y
520 CONFIG_IP6_NF_TARGET_MASQUERADE=y
521 CONFIG_IP_NF_MANGLE=y
522 CONFIG_IP6_NF_MANGLE=y
525 CONFIG_BRIDGE_IGMP_SNOOPING=y
526 CONFIG_HAVE_NET_DSA=y
530 # Tizen uses openvpn for vpn service and openvpn requires Universal TUN/TAP
531 # device driver support.
532 # Ref. https://wiki.archlinux.org/index.php/OpenVPN#Kernel_configuration
543 CONFIG_BT_RFCOMM_TTY=y
545 CONFIG_BT_BNEP_MC_FILTER=y
546 CONFIG_BT_BNEP_PROTO_FILTER=y
552 CONFIG_RFKILL_REGULATOR=y
557 # 7-1. BLE Mesh support in BlueZ
559 # Tizen uses BLE Mesh with BlueZ and it requires CRYPTO_USER_API
560 # Ref. https://www.spinics.net/lists/linux-bluetooth/msg72012.html
564 CONFIG_CRYPTO_USER_API=y
565 CONFIG_CRYPTO_USER_API_HASH=y
566 CONFIG_CRYPTO_USER_API_SKCIPHER=y
567 CONFIG_CRYPTO_USER_API_RNG=y
568 CONFIG_CRYPTO_USER_API_AEAD=y
572 # Tizen recommends display with Kernel DRM subsystem to support KMS.
573 # For Display memory, drm gem is mainly used and CMA backend is primary for
574 # drm gem. SYNC framework and SW_SYNC are also recommended.
577 CONFIG_DRM_KMS_HELPER=y
578 CONFIG_DRM_KMS_FB_HELPER=y
579 CONFIG_DRM_FBDEV_EMULATION=y
580 CONFIG_DRM_FBDEV_OVERALLOC=100
581 CONFIG_DRM_GEM_CMA_HELPER=y
582 CONFIG_DRM_KMS_CMA_HELPER=y
585 CONFIG_FB_CFB_FILLRECT=y
586 CONFIG_FB_CFB_COPYAREA=y
587 CONFIG_FB_CFB_IMAGEBLIT=y
588 CONFIG_FB_MODE_HELPERS=y
589 CONFIG_VIDEOMODE_HELPERS=y
591 CONFIG_BACKLIGHT_LCD_SUPPORT=y
592 CONFIG_LCD_CLASS_DEVICE=y
593 CONFIG_BACKLIGHT_CLASS_DEVICE=y
594 CONFIG_DUMMY_CONSOLE=y
595 CONFIG_FRAMEBUFFER_CONSOLE=y
596 CONFIG_FRAMEBUFFER_CONSOLE_DETECT_PRIMARY=y
600 CONFIG_SW_SYNC_USER=y
601 CONFIG_DMA_SHARED_BUFFER=y
604 CONFIG_CMA_ALIGNMENT=4
606 # at least, CONFIG_CMA_SIZE_MBYTES=64
607 CONFIG_CMA_SIZE_MBYTES=256
608 CONFIG_CMA_SIZE_SEL_MBYTES=y
615 CONFIG_INPUT_MATRIXKMAP=y
616 CONFIG_INPUT_MOUSEDEV=y
617 CONFIG_INPUT_JOYDEV=y
619 CONFIG_INPUT_KEYBOARD=y
621 CONFIG_INPUT_JOYSTICK=y
622 CONFIG_INPUT_TOUCHSCREEN=y
625 CONFIG_INPUT_UINPUT=y
635 # Tizen uses audio node for audio module.
645 CONFIG_SND_COMPRESS_OFFLOAD=y
647 CONFIG_SND_VERBOSE_PROCFS=y
655 # 11-1. Video & Camera
656 # Tizen uses v4l2 video node for multimedia module.
658 CONFIG_MEDIA_SUPPORT=y
659 CONFIG_MEDIA_CAMERA_SUPPORT=y
660 CONFIG_MEDIA_RADIO_SUPPORT=y
661 CONFIG_MEDIA_CONTROLLER=y
663 CONFIG_VIDEO_V4L2_SUBDEV_API=y
665 CONFIG_V4L2_MEM2MEM_DEV=y
666 CONFIG_VIDEOBUF2_CORE=y
667 CONFIG_VIDEOBUF2_MEMOPS=y
668 CONFIG_VIDEOBUF2_DMA_CONTIG=y
669 CONFIG_VIDEOBUF2_VMALLOC=y
670 CONFIG_V4L_PLATFORM_DRIVERS=y
671 CONFIG_USB_VIDEO_CLASS=y
672 CONFIG_RADIO_ADAPTERS=y
673 CONFIG_MEDIA_SUBDRV_AUTOSELECT=y
675 CONFIG_MEDIA_TUNER_SIMPLE=y
676 CONFIG_MEDIA_ATTACH=y
678 # 11-2. TV tuner and DVB
679 # Tizen TV uses DVB subsystem and RC subsystem.
681 CONFIG_MEDIA_SUPPORT=y
682 CONFIG_MEDIA_ANALOG_TV_SUPPORT=y
683 CONFIG_MEDIA_DIGITAL_TV_SUPPORT=y
684 CONFIG_MEDIA_RC_SUPPORT=y
685 CONFIG_MEDIA_CONTROLLER=y
687 CONFIG_VIDEO_V4L2_SUBDEV_API=y
690 CONFIG_VIDEOBUF_DVB=y
691 CONFIG_VIDEOBUF2_CORE=y
692 CONFIG_VIDEOBUF2_MEMOPS=y
698 CONFIG_MEDIA_USB_SUPPORT=y
701 CONFIG_VIDEO_IR_I2C=y
704 # 12. Application Framework
707 # 12-1. alarm manager
708 # Alarm manager uses rtc to set alarm timer.
715 CONFIG_RTC_HCTOSYS_DEVICE="rtc0"
717 CONFIG_RTC_INTF_SYSFS=y
718 CONFIG_RTC_INTF_PROC=y
719 CONFIG_RTC_INTF_DEV=y
720 CONFIG_RTC_I2C_AND_SPI=y
723 # 12-2. Application to SD (app2sd)
724 # Application on external storage requires Device Mapper Crpyto and its
729 CONFIG_BLK_DEV_DM_BUILTIN=y
738 CONFIG_CRYPTO_SHA256=y
741 CONFIG_BLK_DEV_LOOP=y
742 CONFIG_BLK_DEV_LOOP_MIN_COUNT=8
743 CONFIG_BLK_DEV_CRYPTOLOOP=y