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=12288
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 # Web engine requires squashfs to access library with compressed fs.
47 # Also, IoT device with small size storage uses squashfs compressed fs.
50 CONFIG_SQUASHFS_FILE_CACHE=y
51 CONFIG_SQUASHFS_DECOMP_SINGLE=y
52 CONFIG_SQUASHFS_XATTR=y
53 CONFIG_SQUASHFS_ZLIB=y
55 CONFIG_SQUASHFS_4K_DEVBLK_SIZE=y
56 CONFIG_SQUASHFS_FRAGMENT_CACHE_SIZE=3
58 # MSDOS paritions made from other system on external storage should be
59 # recognized in Tizen. Also, EXT2/3 compatiblity and VFAT are recommeded for
60 # compatibility of external storage.
63 CONFIG_PARTITION_ADVANCED=y
64 CONFIG_MSDOS_PARTITION=y
65 CONFIG_EXT4_USE_FOR_EXT23=y
68 CONFIG_FAT_DEFAULT_CODEPAGE=437
69 CONFIG_FAT_DEFAULT_IOCHARSET="iso8859-1"
72 # 1-2. Systemd support
73 # Ref. https://github.com/systemd/systemd/blob/master/README
76 # Tizen uses systemd and required config for systemd.
86 # CONFIG_SYSFS_DEPRECATED is not set
91 CONFIG_CRYPTO_SHA256=y
92 CONFIG_UEVENT_HELPER=y
93 CONFIG_UEVENT_HELPER_PATH=""
100 # Tizen requies sysv ipc including msgq.
103 CONFIG_SYSVIPC_SYSCTL=y
106 # 1-4. TLM user login support
109 # Tizen uses tlm for user session and it requires vt.
114 # 1-5. Other Tizen Booting
117 # Tizen requies devtmpfs auto-mount and tmpfs.
119 CONFIG_DEVTMPFS_MOUNT=y
126 # 2-1. Access Control
127 # Ref. https://wiki.tizen.org/Security:SmackConfiguration
130 # Tizen uses ACL and Security SMACK.
134 CONFIG_SECURITY_NETWORK=y
136 CONFIG_FS_POSIX_ACL=y
137 CONFIG_EXT4_FS_POSIX_ACL=y
138 CONFIG_TMPFS_POSIX_ACL=y
141 CONFIG_SECURITY_SMACK=y
142 CONFIG_DEFAULT_SECURITY_SMACK=y
143 CONFIG_DEFAULT_SECURITY="smack"
144 CONFIG_SECURITY_SMACK_APPEND_SIGNALS=y
147 # To check non privileged access try, AUDIT is recomended.
150 CONFIG_AUDIT_GENERIC=y
151 CONFIG_AUDITSYSCALL=y
155 # Ref. https://wiki.tizen.org/Security:Nether
159 CONFIG_NETWORK_SECMARK=y
160 CONFIG_SECURITY_SMACK_NETFILTER=y
161 CONFIG_NETFILTER_XT_MARK=y
162 CONFIG_NETFILTER_XT_CONNMARK=y
163 CONFIG_NETFILTER_XT_TARGET_NFQUEUE=y
164 CONFIG_IP_NF_TARGET_REJECT=y
165 CONFIG_NETFILTER_XT_TARGET_AUDIT=y
166 CONFIG_NETFILTER_XT_MATCH_ONWER=y
174 CONFIG_CRYPTO_SHA256=y
176 CONFIG_CRYPTO_ALGAPI=y
177 CONFIG_CRYPTO_ALGAPI2=y
179 CONFIG_CRYPTO_AEAD2=y
180 CONFIG_CRYPTO_BLKCIPHER=y
181 CONFIG_CRYPTO_BLKCIPHER2=y
183 CONFIG_CRYPTO_HASH2=y
186 CONFIG_CRYPTO_PCOMP2=y
187 CONFIG_CRYPTO_MANAGER=y
188 CONFIG_CRYPTO_MANAGER2=y
189 CONFIG_CRYPTO_MANAGER_DISABLE_TESTS=y
190 CONFIG_CRYPTO_GF128MUL=y
192 CONFIG_CRYPTO_WORKQUEUE=y
193 CONFIG_CRYPTO_AUTHENC=y
196 CONFIG_CRYPTO_SEQIV=y
198 CONFIG_CRYPTO_GHASH=y
199 CONFIG_CRYPTO_CRC32C=y
202 CONFIG_CRYPTO_SHA256=y
206 CONFIG_CRYPTO_TWOFISH=y
207 CONFIG_CRYPTO_TWOFISH_COMMON=y
208 CONFIG_CRYPTO_DEFLATE=y
210 CONFIG_CRYPTO_ANSI_CPRNG=y
215 # Ref. https://wiki.tizen.org/System:Deviced
218 # 3-1. deviced tzip feature
219 # deviced requires FUSE for tzip feature to support mount of zip file.
225 # 3-2. deviced extcon uevent and usb feature
226 # deviced optionally requires EXTCON to get external connector event like
227 # USB device port and HDMI.
228 # USB host and its class drivers are also recommended.
235 CONFIG_USB_DEFAULT_PERSIST=y
238 CONFIG_USB_NOTIFY_LAYER=y
239 CONFIG_USB_HOST_NOTIFY=y
240 CONFIG_USB_NOTIFIER=y
241 CONFIG_USB_EXTERNAL_DETECT=y
243 CONFIG_USB_LIBCOMPOSITE=y
245 CONFIG_USB_F_ACM_SELECTOR=y
246 CONFIG_USB_U_SERIAL=y
247 CONFIG_USB_F_ACM_REQ_U_SERIAL=y
248 CONFIG_USB_U_SERIAL_SELECTOR=y
250 CONFIG_USB_CONFIGFS=y
251 CONFIG_USB_FUNCTIONFS=y
252 CONFIG_USB_FUNCTIONFS_GENERIC=y
255 # 3-3. deviced led feature
256 # deviced optionally requires LED to show system state.
261 CONFIG_LEDS_CLASS_FLASH=y
263 CONFIG_LEDS_TRIGGERS=y
264 CONFIG_LEDS_TRIGGER_HEARTBEAT=y
268 # Ref. https://wiki.tizen.org/3.0_Porting_Guide/System#dlog
272 CONFIG_ANDROID_LOGGER=y
274 CONFIG_MULTIPLE_KMSG=y
278 # Ref. https://wiki.tizen.org/3.0_Porting_Guide/System#resourced
281 CONFIG_CGROUP_SCHED=y
286 CONFIG_CGROUP_FREEZER=y
289 CONFIG_MEMCG_SWAP_ENABLED=y
291 CONFIG_ZRAM_LZ4_COMPRESS=y
297 # 6-1. Ethernet and WLAN driver
307 CONFIG_CFG80211_DEFAULT_PS=y
308 CONFIG_CFG80211_WEXT=y
309 CONFIG_CFG80211_ALLOW_RECONNECT=y
313 CONFIG_USB_NET_DRIVERS=y
316 # 6-2. Smart Traffic Control (STC) manager
322 CONFIG_DEFAULT_HOSTNAME="(none)"
327 CONFIG_NET_CLS_CGROUP=y
334 CONFIG_NET_IPGRE_DEMUX=y
335 CONFIG_NET_IP_TUNNEL=y
338 CONFIG_INET_XFRM_MODE_TRANSPORT=y
339 CONFIG_INET_XFRM_MODE_TUNNEL=y
340 CONFIG_INET_XFRM_MODE_BEET=y
342 CONFIG_INET_TCP_DIAG=y
343 CONFIG_TCP_CONG_CUBIC=y
344 CONFIG_DEFAULT_TCP_CONG="cubic"
346 CONFIG_IPV6_PRIVACY=y
347 CONFIG_IPV6_ROUTER_PREF=y
348 CONFIG_IPV6_ROUTE_INFO=y
349 CONFIG_IPV6_OPTIMISTIC_DAD=y
352 CONFIG_INET6_IPCOMP=y
354 CONFIG_INET6_XFRM_TUNNEL=y
355 CONFIG_INET6_TUNNEL=y
356 CONFIG_INET6_XFRM_MODE_TRANSPORT=y
357 CONFIG_INET6_XFRM_MODE_TUNNEL=y
358 CONFIG_INET6_XFRM_MODE_BEET=y
360 CONFIG_IPV6_NDISC_NODETYPE=y
362 CONFIG_IPV6_MULTIPLE_TABLES=y
363 CONFIG_IPV6_SUBTREES=y
364 CONFIG_NET_ACTIVITY_STATS=y
365 CONFIG_NETFILTER_NETLINK_ACCT=y
366 CONFIG_NETFILTER_NETLINK_QUEUE=y
367 CONFIG_NETFILTER_NETLINK_LOG=y
368 CONFIG_NF_CONNTRACK=y
369 CONFIG_NF_CONNTRACK_MARK=y
370 CONFIG_NF_CONNTRACK_PROCFS=y
371 CONFIG_NF_CONNTRACK_EVENTS=y
372 CONFIG_NF_CT_PROTO_DCCP=y
373 CONFIG_NF_CT_PROTO_GRE=y
374 CONFIG_NF_CT_PROTO_SCTP=y
375 CONFIG_NF_CT_PROTO_UDPLITE=y
376 CONFIG_NF_CONNTRACK_AMANDA=y
377 CONFIG_NF_CONNTRACK_FTP=y
378 CONFIG_NF_CONNTRACK_H323=y
379 CONFIG_NF_CONNTRACK_IRC=y
380 CONFIG_NF_CONNTRACK_BROADCAST=y
381 CONFIG_NF_CONNTRACK_NETBIOS_NS=y
382 CONFIG_NF_CONNTRACK_PPTP=y
383 CONFIG_NF_CONNTRACK_SANE=y
384 CONFIG_NF_CONNTRACK_SIP=y
385 CONFIG_NF_CONNTRACK_TFTP=y
386 CONFIG_NF_CT_NETLINK=y
388 CONFIG_NF_NAT_NEEDED=y
389 CONFIG_NF_NAT_PROTO_DCCP=y
390 CONFIG_NF_NAT_PROTO_UDPLITE=y
391 CONFIG_NF_NAT_PROTO_SCTP=y
392 CONFIG_NF_NAT_AMANDA=y
397 CONFIG_NETFILTER_TPROXY=y
398 CONFIG_IP_NF_TARGET_REJECT_SKERR=y
399 CONFIG_NETFILTER_XT_TARGET_CLASSIFY=y
400 CONFIG_NETFILTER_XT_TARGET_CONNMARK=y
401 CONFIG_NETFILTER_XT_TARGET_LOG=y
402 CONFIG_NETFILTER_XT_TARGET_MARK=y
403 CONFIG_NETFILTER_XT_TARGET_NETMAP=y
404 CONFIG_NETFILTER_XT_TARGET_NFLOG=y
405 CONFIG_NETFILTER_XT_TARGET_REDIRECT=y
406 CONFIG_NETFILTER_XT_TARGET_TPROXY=y
407 CONFIG_NETFILTER_XT_TARGET_TRACE=y
408 CONFIG_NETFILTER_XT_TARGET_SECMARK=y
409 CONFIG_NETFILTER_XT_MATCH_CGROUP=y
410 CONFIG_NETFILTER_XT_MATCH_COMMENT=y
411 CONFIG_NETFILTER_XT_MATCH_CONNLIMIT=y
412 CONFIG_NETFILTER_XT_MATCH_CONNMARK=y
413 CONFIG_NETFILTER_XT_MATCH_CONNTRACK=y
414 CONFIG_NETFILTER_XT_MATCH_ECN=y
415 CONFIG_NETFILTER_XT_MATCH_HASHLIMIT=y
416 CONFIG_NETFILTER_XT_MATCH_HELPER=y
417 CONFIG_NETFILTER_XT_MATCH_HL=y
418 CONFIG_NETFILTER_XT_MATCH_IPRANGE=y
419 CONFIG_NETFILTER_XT_MATCH_LENGTH=y
420 CONFIG_NETFILTER_XT_MATCH_LIMIT=y
421 CONFIG_NETFILTER_XT_MATCH_MAC=y
422 CONFIG_NETFILTER_XT_MATCH_MARK=y
423 CONFIG_NETFILTER_XT_MATCH_MULTIPORT=y
424 CONFIG_NETFILTER_XT_MATCH_NFACCT=y
425 CONFIG_NETFILTER_XT_MATCH_POLICY=y
426 CONFIG_NETFILTER_XT_MATCH_PKTTYPE=y
427 CONFIG_NETFILTER_XT_MATCH_QUOTA=y
428 CONFIG_NETFILTER_XT_MATCH_QUOTA2=y
429 CONFIG_NETFILTER_XT_MATCH_QUOTA2_LOG=y
430 CONFIG_NETFILTER_XT_MATCH_SOCKET=y
431 CONFIG_NETFILTER_XT_MATCH_STATE=y
432 CONFIG_NETFILTER_XT_MATCH_STATISTIC=y
433 CONFIG_NETFILTER_XT_MATCH_STRING=y
434 CONFIG_NETFILTER_XT_MATCH_TIME=y
435 CONFIG_NETFILTER_XT_MATCH_U32=y
436 CONFIG_NF_CONNTRACK_PROC_COMPAT=y
437 CONFIG_IP_NF_IPTABLES=y
438 CONFIG_IP_NF_MATCH_AH=y
439 CONFIG_IP_NF_MATCH_ECN=y
440 CONFIG_IP_NF_MATCH_TTL=y
441 CONFIG_IP_NF_FILTER=y
443 CONFIG_IP_NF_TARGET_NETMAP=y
444 CONFIG_IP_NF_TARGET_REDIRECT=y
445 CONFIG_NF_NAT_PROTO_GRE=y
449 CONFIG_IP_NF_ARPTABLES=y
450 CONFIG_IP_NF_ARPFILTER=y
451 CONFIG_IP_NF_ARP_MANGLE=y
452 CONFIG_NF_DEFRAG_IPV6=y
453 CONFIG_NF_CONNTRACK_IPV6=y
454 CONFIG_IP6_NF_IPTABLES=y
455 CONFIG_IP6_NF_FILTER=y
456 CONFIG_IP6_NF_TARGET_REJECT=y
457 CONFIG_IP6_NF_TARGET_REJECT_SKERR=y
464 CONFIG_NET_EMATCH_STACK=32
465 CONFIG_NET_EMATCH_U32=y
467 CONFIG_NET_SCH_FIFO=y
477 CONFIG_IP_MULTICAST=y
478 CONFIG_IP_ADVANCED_ROUTER=y
479 CONFIG_IP_MULTIPLE_TABLES=y
480 CONFIG_NETFILTER_ADVANCED=y
481 CONFIG_BRIDGE_NETFILTER=y
482 CONFIG_NETFILTER_NETLINK=y
483 CONFIG_NETFILTER_NETLINK_LOG=y
484 CONFIG_NF_CONNTRACK=y
485 CONFIG_NF_CONNTRACK_MARK=y
487 CONFIG_NF_TABLES_INET=y
491 CONFIG_NETFILTER_XTABLES=y
492 CONFIG_NETFILTER_XT_MARK=y
493 CONFIG_NETFILTER_XT_CONNMARK=y
494 CONFIG_NETFILTER_XT_NAT=y
495 CONFIG_NETFILTER_XT_TARGET_TCPMSS=y
496 CONFIG_NETFILTER_XT_MATCH_TCPMSS=y
497 CONFIG_NETFILTER_XT_MATCH_STATE=y
498 CONFIG_NF_DEFRAG_IPV4=y
499 CONFIG_NF_CONNTRACK_IPV4=y
500 CONFIG_NF_TABLES_IPV4=y
501 CONFIG_NF_TABLES_IPV4=y
502 CONFIG_NFT_CHAIN_ROUTE_IPV4=y
503 CONFIG_NF_REJECT_IPV4=y
505 CONFIG_NFT_CHAIN_NAT_IPV4=y
506 CONFIG_NF_NAT_MASQUERADE_IPV4=y
509 CONFIG_IP_NF_TARGET_MASQUERADE=y
510 CONFIG_IP6_NF_TARGET_MASQUERADE=y
511 CONFIG_IP_NF_MANGLE=y
512 CONFIG_IP6_NF_MANGLE=y
515 CONFIG_BRIDGE_IGMP_SNOOPING=y
516 CONFIG_HAVE_NET_DSA=y
520 # Tizen uses openvpn for vpn service and openvpn requires Universal TUN/TAP
521 # device driver support.
522 # Ref. https://wiki.archlinux.org/index.php/OpenVPN#Kernel_configuration
533 CONFIG_BT_RFCOMM_TTY=y
535 CONFIG_BT_BNEP_MC_FILTER=y
536 CONFIG_BT_BNEP_PROTO_FILTER=y
542 CONFIG_RFKILL_REGULATOR=y
547 # 7-1. BLE Mesh support in BlueZ
549 # Tizen uses BLE Mesh with BlueZ and it requires CRYPTO_USER_API
550 # Ref. https://www.spinics.net/lists/linux-bluetooth/msg72012.html
554 CONFIG_CRYPTO_USER_API=y
555 CONFIG_CRYPTO_USER_API_HASH=y
556 CONFIG_CRYPTO_USER_API_SKCIPHER=y
557 CONFIG_CRYPTO_USER_API_RNG=y
558 CONFIG_CRYPTO_USER_API_AEAD=y
562 # Tizen recommends display with Kernel DRM subsystem to support KMS.
563 # For Display memory, drm gem is mainly used and CMA backend is primary for
564 # drm gem. SYNC framework and SW_SYNC are also recommended.
567 CONFIG_DRM_KMS_HELPER=y
568 CONFIG_DRM_KMS_FB_HELPER=y
569 CONFIG_DRM_FBDEV_EMULATION=y
570 CONFIG_DRM_FBDEV_OVERALLOC=100
571 CONFIG_DRM_GEM_CMA_HELPER=y
572 CONFIG_DRM_KMS_CMA_HELPER=y
575 CONFIG_FB_CFB_FILLRECT=y
576 CONFIG_FB_CFB_COPYAREA=y
577 CONFIG_FB_CFB_IMAGEBLIT=y
578 CONFIG_FB_MODE_HELPERS=y
579 CONFIG_VIDEOMODE_HELPERS=y
581 CONFIG_BACKLIGHT_LCD_SUPPORT=y
582 CONFIG_LCD_CLASS_DEVICE=y
583 CONFIG_BACKLIGHT_CLASS_DEVICE=y
584 CONFIG_DUMMY_CONSOLE=y
585 CONFIG_FRAMEBUFFER_CONSOLE=y
586 CONFIG_FRAMEBUFFER_CONSOLE_DETECT_PRIMARY=y
590 CONFIG_SW_SYNC_USER=y
591 CONFIG_DMA_SHARED_BUFFER=y
594 CONFIG_CMA_ALIGNMENT=4
596 # at least, CONFIG_CMA_SIZE_MBYTES=64
597 CONFIG_CMA_SIZE_MBYTES=256
598 CONFIG_CMA_SIZE_SEL_MBYTES=y
605 CONFIG_INPUT_MATRIXKMAP=y
606 CONFIG_INPUT_MOUSEDEV=y
607 CONFIG_INPUT_JOYDEV=y
609 CONFIG_INPUT_KEYBOARD=y
611 CONFIG_INPUT_JOYSTICK=y
612 CONFIG_INPUT_TOUCHSCREEN=y
615 CONFIG_INPUT_UINPUT=y
625 # Tizen uses audio node for audio module.
635 CONFIG_SND_COMPRESS_OFFLOAD=y
637 CONFIG_SND_VERBOSE_PROCFS=y
645 # 11-1. Video & Camera
646 # Tizen uses v4l2 video node for multimedia module.
648 CONFIG_MEDIA_SUPPORT=y
649 CONFIG_MEDIA_CAMERA_SUPPORT=y
650 CONFIG_MEDIA_RADIO_SUPPORT=y
651 CONFIG_MEDIA_CONTROLLER=y
653 CONFIG_VIDEO_V4L2_SUBDEV_API=y
655 CONFIG_V4L2_MEM2MEM_DEV=y
656 CONFIG_VIDEOBUF2_CORE=y
657 CONFIG_VIDEOBUF2_MEMOPS=y
658 CONFIG_VIDEOBUF2_DMA_CONTIG=y
659 CONFIG_VIDEOBUF2_VMALLOC=y
660 CONFIG_V4L_PLATFORM_DRIVERS=y
661 CONFIG_USB_VIDEO_CLASS=y
662 CONFIG_RADIO_ADAPTERS=y
663 CONFIG_MEDIA_SUBDRV_AUTOSELECT=y
665 CONFIG_MEDIA_TUNER_SIMPLE=y
666 CONFIG_MEDIA_ATTACH=y
668 # 11-2. TV tuner and DVB
669 # Tizen TV uses DVB subsystem and RC subsystem.
671 CONFIG_MEDIA_SUPPORT=y
672 CONFIG_MEDIA_ANALOG_TV_SUPPORT=y
673 CONFIG_MEDIA_DIGITAL_TV_SUPPORT=y
674 CONFIG_MEDIA_RC_SUPPORT=y
675 CONFIG_MEDIA_CONTROLLER=y
677 CONFIG_VIDEO_V4L2_SUBDEV_API=y
680 CONFIG_VIDEOBUF_DVB=y
681 CONFIG_VIDEOBUF2_CORE=y
682 CONFIG_VIDEOBUF2_MEMOPS=y
688 CONFIG_MEDIA_USB_SUPPORT=y
691 CONFIG_VIDEO_IR_I2C=y
694 # 12. Application Framework
697 # 12-1. alarm manager
698 # Alarm manager uses rtc to set alarm timer.
705 CONFIG_RTC_HCTOSYS_DEVICE="rtc0"
707 CONFIG_RTC_INTF_SYSFS=y
708 CONFIG_RTC_INTF_PROC=y
709 CONFIG_RTC_INTF_DEV=y
710 CONFIG_RTC_I2C_AND_SPI=y
713 # 12-2. Application to SD (app2sd)
714 # Application on external storage requires Device Mapper Crpyto and its
719 CONFIG_BLK_DEV_DM_BUILTIN=y
728 CONFIG_CRYPTO_SHA256=y
731 CONFIG_BLK_DEV_LOOP=y
732 CONFIG_BLK_DEV_LOOP_MIN_COUNT=8
733 CONFIG_BLK_DEV_CRYPTOLOOP=y