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 # MSDOS paritions made from other system on external storage should be
47 # recognized in Tizen. Also, EXT2/3 compatiblity and VFAT are recommeded for
48 # compatibility of external storage.
51 CONFIG_PARTITION_ADVANCED=y
52 CONFIG_MSDOS_PARTITION=y
53 CONFIG_EXT4_USE_FOR_EXT23=y
56 CONFIG_FAT_DEFAULT_CODEPAGE=437
57 CONFIG_FAT_DEFAULT_IOCHARSET="iso8859-1"
59 # IoT device with small size storage optionally uses squashfs compressed fs.
62 CONFIG_SQUASHFS_FILE_CACHE=y
63 CONFIG_SQUASHFS_DECOMP_SINGLE=y
64 CONFIG_SQUASHFS_XATTR=y
65 CONFIG_SQUASHFS_ZLIB=y
67 CONFIG_SQUASHFS_4K_DEVBLK_SIZE=y
68 CONFIG_SQUASHFS_FRAGMENT_CACHE_SIZE=3
71 # 1-2. Systemd support
72 # Ref. https://github.com/systemd/systemd/blob/master/README
75 # Tizen uses systemd and required config for systemd.
85 # CONFIG_SYSFS_DEPRECATED is not set
90 CONFIG_CRYPTO_SHA256=y
91 CONFIG_UEVENT_HELPER=y
92 CONFIG_UEVENT_HELPER_PATH=""
99 # Tizen requies sysv ipc including msgq.
102 CONFIG_SYSVIPC_SYSCTL=y
105 # 1-4. TLM user login support
108 # Tizen uses tlm for user session and it requires vt.
113 # 1-5. Other Tizen Booting
116 # Tizen requies devtmpfs auto-mount and tmpfs.
118 CONFIG_DEVTMPFS_MOUNT=y
125 # 2-1. Access Control
126 # Ref. https://wiki.tizen.org/Security:SmackConfiguration
129 # Tizen uses ACL and Security SMACK.
133 CONFIG_SECURITY_NETWORK=y
135 CONFIG_FS_POSIX_ACL=y
136 CONFIG_EXT4_FS_POSIX_ACL=y
137 CONFIG_TMPFS_POSIX_ACL=y
140 CONFIG_SECURITY_SMACK=y
141 CONFIG_DEFAULT_SECURITY_SMACK=y
142 CONFIG_DEFAULT_SECURITY="smack"
143 CONFIG_SECURITY_SMACK_APPEND_SIGNALS=y
146 # To check non privileged access try, AUDIT is recomended.
149 CONFIG_AUDIT_GENERIC=y
150 CONFIG_AUDITSYSCALL=y
154 # Ref. https://wiki.tizen.org/Security:Nether
158 CONFIG_NETWORK_SECMARK=y
159 CONFIG_SECURITY_SMACK_NETFILTER=y
160 CONFIG_NETFILTER_XT_MARK=y
161 CONFIG_NETFILTER_XT_CONNMARK=y
162 CONFIG_NETFILTER_XT_TARGET_NFQUEUE=y
163 CONFIG_IP_NF_TARGET_REJECT=y
164 CONFIG_NETFILTER_XT_TARGET_AUDIT=y
172 CONFIG_CRYPTO_SHA256=y
174 CONFIG_CRYPTO_ALGAPI=y
175 CONFIG_CRYPTO_ALGAPI2=y
177 CONFIG_CRYPTO_AEAD2=y
178 CONFIG_CRYPTO_BLKCIPHER=y
179 CONFIG_CRYPTO_BLKCIPHER2=y
181 CONFIG_CRYPTO_HASH2=y
184 CONFIG_CRYPTO_PCOMP2=y
185 CONFIG_CRYPTO_MANAGER=y
186 CONFIG_CRYPTO_MANAGER2=y
187 CONFIG_CRYPTO_MANAGER_DISABLE_TESTS=y
188 CONFIG_CRYPTO_GF128MUL=y
190 CONFIG_CRYPTO_WORKQUEUE=y
191 CONFIG_CRYPTO_AUTHENC=y
194 CONFIG_CRYPTO_SEQIV=y
196 CONFIG_CRYPTO_GHASH=y
197 CONFIG_CRYPTO_CRC32C=y
200 CONFIG_CRYPTO_SHA256=y
204 CONFIG_CRYPTO_TWOFISH=y
205 CONFIG_CRYPTO_TWOFISH_COMMON=y
206 CONFIG_CRYPTO_DEFLATE=y
208 CONFIG_CRYPTO_ANSI_CPRNG=y
213 # Ref. https://wiki.tizen.org/System:Deviced
216 # 3-1. deviced tzip feature
217 # deviced requires FUSE for tzip feature to support mount of zip file.
223 # 3-2. deviced extcon uevent and usb feature
224 # deviced optionally requires EXTCON to get external connector event like
225 # USB device port and HDMI.
226 # USB host and its class drivers are also recommended.
233 CONFIG_USB_DEFAULT_PERSIST=y
236 CONFIG_USB_NOTIFY_LAYER=y
237 CONFIG_USB_HOST_NOTIFY=y
238 CONFIG_USB_NOTIFIER=y
239 CONFIG_USB_EXTERNAL_DETECT=y
241 CONFIG_USB_LIBCOMPOSITE=y
243 CONFIG_USB_F_ACM_SELECTOR=y
244 CONFIG_USB_U_SERIAL=y
245 CONFIG_USB_F_ACM_REQ_U_SERIAL=y
246 CONFIG_USB_U_SERIAL_SELECTOR=y
248 CONFIG_USB_CONFIGFS=y
249 CONFIG_USB_FUNCTIONFS=y
250 CONFIG_USB_FUNCTIONFS_GENERIC=y
253 # 3-3. deviced led feature
254 # deviced optionally requires LED to show system state.
259 CONFIG_LEDS_CLASS_FLASH=y
261 CONFIG_LEDS_TRIGGERS=y
262 CONFIG_LEDS_TRIGGER_HEARTBEAT=y
266 # Ref. https://wiki.tizen.org/3.0_Porting_Guide/System#dlog
270 CONFIG_ANDROID_LOGGER=y
272 CONFIG_MULTIPLE_KMSG=y
276 # Ref. https://wiki.tizen.org/3.0_Porting_Guide/System#resourced
279 CONFIG_CGROUP_SCHED=y
284 CONFIG_CGROUP_FREEZER=y
287 CONFIG_MEMCG_SWAP_ENABLED=y
289 CONFIG_ZRAM_LZ4_COMPRESS=y
295 # 6-1. Ethernet and WLAN driver
305 CONFIG_CFG80211_DEFAULT_PS=y
306 CONFIG_CFG80211_WEXT=y
307 CONFIG_CFG80211_ALLOW_RECONNECT=y
311 CONFIG_USB_NET_DRIVERS=y
314 # 6-2. Smart Traffic Control (STC) manager
320 CONFIG_DEFAULT_HOSTNAME="(none)"
325 CONFIG_NET_CLS_CGROUP=y
332 CONFIG_NET_IPGRE_DEMUX=y
333 CONFIG_NET_IP_TUNNEL=y
336 CONFIG_INET_XFRM_MODE_TRANSPORT=y
337 CONFIG_INET_XFRM_MODE_TUNNEL=y
338 CONFIG_INET_XFRM_MODE_BEET=y
340 CONFIG_INET_TCP_DIAG=y
341 CONFIG_TCP_CONG_CUBIC=y
342 CONFIG_DEFAULT_TCP_CONG="cubic"
344 CONFIG_IPV6_PRIVACY=y
345 CONFIG_IPV6_ROUTER_PREF=y
346 CONFIG_IPV6_ROUTE_INFO=y
347 CONFIG_IPV6_OPTIMISTIC_DAD=y
350 CONFIG_INET6_IPCOMP=y
352 CONFIG_INET6_XFRM_TUNNEL=y
353 CONFIG_INET6_TUNNEL=y
354 CONFIG_INET6_XFRM_MODE_TRANSPORT=y
355 CONFIG_INET6_XFRM_MODE_TUNNEL=y
356 CONFIG_INET6_XFRM_MODE_BEET=y
358 CONFIG_IPV6_NDISC_NODETYPE=y
360 CONFIG_IPV6_MULTIPLE_TABLES=y
361 CONFIG_IPV6_SUBTREES=y
362 CONFIG_NET_ACTIVITY_STATS=y
363 CONFIG_NETFILTER_NETLINK_ACCT=y
364 CONFIG_NETFILTER_NETLINK_QUEUE=y
365 CONFIG_NETFILTER_NETLINK_LOG=y
366 CONFIG_NF_CONNTRACK=y
367 CONFIG_NF_CONNTRACK_MARK=y
368 CONFIG_NF_CONNTRACK_PROCFS=y
369 CONFIG_NF_CONNTRACK_EVENTS=y
370 CONFIG_NF_CT_PROTO_DCCP=y
371 CONFIG_NF_CT_PROTO_GRE=y
372 CONFIG_NF_CT_PROTO_SCTP=y
373 CONFIG_NF_CT_PROTO_UDPLITE=y
374 CONFIG_NF_CONNTRACK_AMANDA=y
375 CONFIG_NF_CONNTRACK_FTP=y
376 CONFIG_NF_CONNTRACK_H323=y
377 CONFIG_NF_CONNTRACK_IRC=y
378 CONFIG_NF_CONNTRACK_BROADCAST=y
379 CONFIG_NF_CONNTRACK_NETBIOS_NS=y
380 CONFIG_NF_CONNTRACK_PPTP=y
381 CONFIG_NF_CONNTRACK_SANE=y
382 CONFIG_NF_CONNTRACK_SIP=y
383 CONFIG_NF_CONNTRACK_TFTP=y
384 CONFIG_NF_CT_NETLINK=y
386 CONFIG_NF_NAT_NEEDED=y
387 CONFIG_NF_NAT_PROTO_DCCP=y
388 CONFIG_NF_NAT_PROTO_UDPLITE=y
389 CONFIG_NF_NAT_PROTO_SCTP=y
390 CONFIG_NF_NAT_AMANDA=y
395 CONFIG_NETFILTER_TPROXY=y
396 CONFIG_IP_NF_TARGET_REJECT_SKERR=y
397 CONFIG_NETFILTER_XT_TARGET_CLASSIFY=y
398 CONFIG_NETFILTER_XT_TARGET_CONNMARK=y
399 CONFIG_NETFILTER_XT_TARGET_LOG=y
400 CONFIG_NETFILTER_XT_TARGET_MARK=y
401 CONFIG_NETFILTER_XT_TARGET_NETMAP=y
402 CONFIG_NETFILTER_XT_TARGET_NFLOG=y
403 CONFIG_NETFILTER_XT_TARGET_REDIRECT=y
404 CONFIG_NETFILTER_XT_TARGET_TPROXY=y
405 CONFIG_NETFILTER_XT_TARGET_TRACE=y
406 CONFIG_NETFILTER_XT_TARGET_SECMARK=y
407 CONFIG_NETFILTER_XT_MATCH_CGROUP=y
408 CONFIG_NETFILTER_XT_MATCH_COMMENT=y
409 CONFIG_NETFILTER_XT_MATCH_CONNLIMIT=y
410 CONFIG_NETFILTER_XT_MATCH_CONNMARK=y
411 CONFIG_NETFILTER_XT_MATCH_CONNTRACK=y
412 CONFIG_NETFILTER_XT_MATCH_ECN=y
413 CONFIG_NETFILTER_XT_MATCH_HASHLIMIT=y
414 CONFIG_NETFILTER_XT_MATCH_HELPER=y
415 CONFIG_NETFILTER_XT_MATCH_HL=y
416 CONFIG_NETFILTER_XT_MATCH_IPRANGE=y
417 CONFIG_NETFILTER_XT_MATCH_LENGTH=y
418 CONFIG_NETFILTER_XT_MATCH_LIMIT=y
419 CONFIG_NETFILTER_XT_MATCH_MAC=y
420 CONFIG_NETFILTER_XT_MATCH_MARK=y
421 CONFIG_NETFILTER_XT_MATCH_MULTIPORT=y
422 CONFIG_NETFILTER_XT_MATCH_NFACCT=y
423 CONFIG_NETFILTER_XT_MATCH_POLICY=y
424 CONFIG_NETFILTER_XT_MATCH_PKTTYPE=y
425 CONFIG_NETFILTER_XT_MATCH_QTAGUID=y
426 CONFIG_NETFILTER_XT_MATCH_QUOTA=y
427 CONFIG_NETFILTER_XT_MATCH_QUOTA2=y
428 CONFIG_NETFILTER_XT_MATCH_QUOTA2_LOG=y
429 CONFIG_NETFILTER_XT_MATCH_SOCKET=y
430 CONFIG_NETFILTER_XT_MATCH_STATE=y
431 CONFIG_NETFILTER_XT_MATCH_STATISTIC=y
432 CONFIG_NETFILTER_XT_MATCH_STRING=y
433 CONFIG_NETFILTER_XT_MATCH_TIME=y
434 CONFIG_NETFILTER_XT_MATCH_U32=y
435 CONFIG_NF_CONNTRACK_PROC_COMPAT=y
436 CONFIG_IP_NF_IPTABLES=y
437 CONFIG_IP_NF_MATCH_AH=y
438 CONFIG_IP_NF_MATCH_ECN=y
439 CONFIG_IP_NF_MATCH_TTL=y
440 CONFIG_IP_NF_FILTER=y
442 CONFIG_IP_NF_TARGET_NETMAP=y
443 CONFIG_IP_NF_TARGET_REDIRECT=y
444 CONFIG_NF_NAT_PROTO_GRE=y
448 CONFIG_IP_NF_ARPTABLES=y
449 CONFIG_IP_NF_ARPFILTER=y
450 CONFIG_IP_NF_ARP_MANGLE=y
451 CONFIG_NF_DEFRAG_IPV6=y
452 CONFIG_NF_CONNTRACK_IPV6=y
453 CONFIG_IP6_NF_IPTABLES=y
454 CONFIG_IP6_NF_FILTER=y
455 CONFIG_IP6_NF_TARGET_REJECT=y
456 CONFIG_IP6_NF_TARGET_REJECT_SKERR=y
463 CONFIG_NET_EMATCH_STACK=32
464 CONFIG_NET_EMATCH_U32=y
466 CONFIG_NET_SCH_FIFO=y
476 CONFIG_IP_MULTICAST=y
477 CONFIG_IP_ADVANCED_ROUTER=y
478 CONFIG_IP_MULTIPLE_TABLES=y
479 CONFIG_NETFILTER_ADVANCED=y
480 CONFIG_BRIDGE_NETFILTER=y
481 CONFIG_NETFILTER_NETLINK=y
482 CONFIG_NETFILTER_NETLINK_LOG=y
483 CONFIG_NF_CONNTRACK=y
484 CONFIG_NF_CONNTRACK_MARK=y
486 CONFIG_NF_TABLES_INET=y
490 CONFIG_NETFILTER_XTABLES=y
491 CONFIG_NETFILTER_XT_MARK=y
492 CONFIG_NETFILTER_XT_CONNMARK=y
493 CONFIG_NETFILTER_XT_NAT=y
494 CONFIG_NETFILTER_XT_TARGET_TCPMSS=y
495 CONFIG_NETFILTER_XT_MATCH_STATE=y
496 CONFIG_NF_DEFRAG_IPV4=y
497 CONFIG_NF_CONNTRACK_IPV4=y
498 CONFIG_NF_TABLES_IPV4=y
499 CONFIG_NF_TABLES_IPV4=y
500 CONFIG_NFT_CHAIN_ROUTE_IPV4=y
501 CONFIG_NF_REJECT_IPV4=y
503 CONFIG_NFT_CHAIN_NAT_IPV4=y
504 CONFIG_NF_NAT_MASQUERADE_IPV4=y
507 CONFIG_IP_NF_TARGET_MASQUERADE=y
508 CONFIG_IP6_NF_TARGET_MASQUERADE=y
509 CONFIG_IP_NF_MANGLE=y
510 CONFIG_IP6_NF_MANGLE=y
513 CONFIG_BRIDGE_IGMP_SNOOPING=y
514 CONFIG_HAVE_NET_DSA=y
518 # Tizen uses openvpn for vpn service and openvpn requires Universal TUN/TAP
519 # device driver support.
520 # Ref. https://wiki.archlinux.org/index.php/OpenVPN#Kernel_configuration
531 CONFIG_BT_RFCOMM_TTY=y
533 CONFIG_BT_BNEP_MC_FILTER=y
534 CONFIG_BT_BNEP_PROTO_FILTER=y
540 CONFIG_RFKILL_REGULATOR=y
547 # Tizen recommends display with Kernel DRM subsystem to support KMS.
548 # For Display memory, drm gem is mainly used and CMA backend is primary for
549 # drm gem. SYNC framework and SW_SYNC are also recommended.
552 CONFIG_DRM_KMS_HELPER=y
553 CONFIG_DRM_KMS_FB_HELPER=y
554 CONFIG_DRM_FBDEV_EMULATION=y
555 CONFIG_DRM_FBDEV_OVERALLOC=100
556 CONFIG_DRM_GEM_CMA_HELPER=y
557 CONFIG_DRM_KMS_CMA_HELPER=y
560 CONFIG_FB_CFB_FILLRECT=y
561 CONFIG_FB_CFB_COPYAREA=y
562 CONFIG_FB_CFB_IMAGEBLIT=y
563 CONFIG_FB_MODE_HELPERS=y
564 CONFIG_VIDEOMODE_HELPERS=y
566 CONFIG_BACKLIGHT_LCD_SUPPORT=y
567 CONFIG_LCD_CLASS_DEVICE=y
568 CONFIG_BACKLIGHT_CLASS_DEVICE=y
569 CONFIG_DUMMY_CONSOLE=y
570 CONFIG_FRAMEBUFFER_CONSOLE=y
571 CONFIG_FRAMEBUFFER_CONSOLE_DETECT_PRIMARY=y
575 CONFIG_SW_SYNC_USER=y
576 CONFIG_DMA_SHARED_BUFFER=y
579 CONFIG_CMA_ALIGNMENT=4
581 # at least, CONFIG_CMA_SIZE_MBYTES=64
582 CONFIG_CMA_SIZE_MBYTES=256
583 CONFIG_CMA_SIZE_SEL_MBYTES=y
590 CONFIG_INPUT_MATRIXKMAP=y
591 CONFIG_INPUT_MOUSEDEV=y
592 CONFIG_INPUT_JOYDEV=y
594 CONFIG_INPUT_KEYBOARD=y
596 CONFIG_INPUT_JOYSTICK=y
597 CONFIG_INPUT_TOUCHSCREEN=y
600 CONFIG_INPUT_UINPUT=y
610 # Tizen uses audio node for audio module.
620 CONFIG_SND_COMPRESS_OFFLOAD=y
622 CONFIG_SND_VERBOSE_PROCFS=y
630 # 11-1. Video & Camera
631 # Tizen uses v4l2 video node for multimedia module.
633 CONFIG_MEDIA_SUPPORT=y
634 CONFIG_MEDIA_CAMERA_SUPPORT=y
635 CONFIG_MEDIA_RADIO_SUPPORT=y
636 CONFIG_MEDIA_CONTROLLER=y
638 CONFIG_VIDEO_V4L2_SUBDEV_API=y
640 CONFIG_V4L2_MEM2MEM_DEV=y
641 CONFIG_VIDEOBUF2_CORE=y
642 CONFIG_VIDEOBUF2_MEMOPS=y
643 CONFIG_VIDEOBUF2_DMA_CONTIG=y
644 CONFIG_VIDEOBUF2_VMALLOC=y
645 CONFIG_V4L_PLATFORM_DRIVERS=y
646 CONFIG_USB_VIDEO_CLASS=y
647 CONFIG_RADIO_ADAPTERS=y
648 CONFIG_MEDIA_SUBDRV_AUTOSELECT=y
650 CONFIG_MEDIA_TUNER_SIMPLE=y
651 CONFIG_MEDIA_ATTACH=y
653 # 11-2. TV tuner and DVB
654 # Tizen TV uses DVB subsystem and RC subsystem.
656 CONFIG_MEDIA_SUPPORT=y
657 CONFIG_MEDIA_ANALOG_TV_SUPPORT=y
658 CONFIG_MEDIA_DIGITAL_TV_SUPPORT=y
659 CONFIG_MEDIA_RC_SUPPORT=y
660 CONFIG_MEDIA_CONTROLLER=y
662 CONFIG_VIDEO_V4L2_SUBDEV_API=y
665 CONFIG_VIDEOBUF_DVB=y
666 CONFIG_VIDEOBUF2_CORE=y
667 CONFIG_VIDEOBUF2_MEMOPS=y
673 CONFIG_MEDIA_USB_SUPPORT=y
676 CONFIG_VIDEO_IR_I2C=y
679 # 12. Application Framework
682 # 12-1. alarm manager
683 # Alarm manager uses rtc to set alarm timer.
690 CONFIG_RTC_HCTOSYS_DEVICE="rtc0"
692 CONFIG_RTC_INTF_SYSFS=y
693 CONFIG_RTC_INTF_PROC=y
694 CONFIG_RTC_INTF_DEV=y
695 CONFIG_RTC_I2C_AND_SPI=y
698 # 12-2. Application to SD (app2sd)
699 # Application on external storage requires Device Mapper Crpyto and its
704 CONFIG_BLK_DEV_DM_BUILTIN=y
713 CONFIG_CRYPTO_SHA256=y
716 CONFIG_BLK_DEV_LOOP=y
717 CONFIG_BLK_DEV_LOOP_MIN_COUNT=8
718 CONFIG_BLK_DEV_CRYPTOLOOP=y