package genconfig

configuration conf {
	//@Runlevel(1) include embox.mem.vmem
	@Runlevel(2) include embox.arch.x86.boot.multiboot(video_mode_set=1, video_width=800, video_height=600, video_depth=32)
	@Runlevel(2) include embox.arch.x86.kernel.cpu_idle
	@Runlevel(2) include embox.arch.x86.kernel.locore
	@Runlevel(2) include embox.arch.x86.kernel.context
	@Runlevel(2) include embox.arch.x86.kernel.interrupt
	include embox.arch.x86.vfork

	include embox.compat.posix.proc.fork_copy_everything

	@Runlevel(2) include embox.arch.x86.libarch
	//include embox.arch.x86.cpu_info_x86

	@Runlevel(2) include embox.arch.x86.stackframe
	@Runlevel(2) include embox.lib.debug.whereami

	@Runlevel(2) include embox.driver.interrupt.i8259
	@Runlevel(2) include embox.driver.clock.pit
	include embox.kernel.time.jiffies(cs_name="pit")

	@Runlevel(2) include embox.driver.serial.i8250_diag(baud_rate=38400)
	@Runlevel(2) include embox.driver.diag(impl="embox__driver__serial__i8250_diag")
	@Runlevel(2) include embox.driver.serial.i8250_ttyS0(baud_rate=38400)

	@Runlevel(2) include embox.driver.net.virtio
	@Runlevel(2) include embox.driver.net.loopback

	@Runlevel(1) include embox.driver.input.mouse.i8042_mouse

	@Runlevel(2) include embox.driver.tty.tty
	@Runlevel(2) include embox.driver.tty.vterm
	@Runlevel(2) include embox.driver.input.keyboard.i8042_keyboard

	@Runlevel(2) include embox.driver.virtual.null
	@Runlevel(2) include embox.driver.virtual.zero

	@Runlevel(1) include embox.driver.video.generic(vendor_id=0x8086,product_id=0xa011,fb_bar=2)
	@Runlevel(1) include embox.driver.video.bochs
	@Runlevel(2) include embox.driver.video.fb

	@Runlevel(1) include embox.driver.ide
	@Runlevel(2) include embox.fs.node(fnode_quantity=1024)
	@Runlevel(2) include embox.fs.driver.fat
	@Runlevel(2) include embox.fs.driver.ext4
	@Runlevel(2) include embox.fs.driver.initfs
	@Runlevel(2) include embox.fs.driver.nfs
	@Runlevel(2) include embox.fs.driver.ramfs

	@Runlevel(2) include embox.fs.rootfs_oldfs

	@Runlevel(1) include embox.kernel.timer.sys_timer
	@Runlevel(1) include embox.kernel.time.kernel_time
	@Runlevel(1) include embox.kernel.thread.core(thread_pool_size=16, thread_stack_size=0x4000000)
	@Runlevel(2) include embox.kernel.stack(stack_size=0x4000000)

	@Runlevel(2) include embox.cmd.sh.tish(builtin_commands="exit logout cd export mount umount texteditor" )

	include embox.cmd.net.arp
	include embox.cmd.net.netstat
	include embox.cmd.net.arping
	include embox.cmd.net.rarping
	include embox.cmd.net.ifconfig
	include embox.cmd.net.ping
	include embox.cmd.net.iptables
	include embox.cmd.net.route
	include embox.cmd.net.telnetd

	include embox.cmd.user.login(security_support = false)

	include embox.cmd.fs.cat
	include embox.cmd.fs.cd
	include embox.cmd.fs.pwd
	include embox.cmd.fs.ls
	include embox.cmd.fs.rm
	include embox.cmd.fs.mkfs
	include embox.cmd.fs.mount
	include embox.cmd.fs.more
	include embox.cmd.fs.umount
	include embox.cmd.fs.stat
	include embox.cmd.fs.echo
	include embox.cmd.fs.touch
	include embox.cmd.fs.mkdir
	include embox.cmd.fs.cp
	include embox.cmd.fs.mv

	include embox.cmd.help
	include embox.cmd.man

	include embox.cmd.sys.uname
	include embox.cmd.sys.env
	include embox.cmd.sys.export
	include embox.cmd.sys.version

	include embox.cmd.lsmod
	include embox.cmd.test

	include embox.cmd.ide
	include embox.cmd.lspci

	include embox.cmd.proc.thread
	include embox.cmd.proc.top

	@Runlevel(2) include embox.net.core
	@Runlevel(2) include embox.net.skbuff(amount_skb=4000)
	@Runlevel(2) include embox.net.skbuff_data(amount_skb_data=4000,data_size=1514,data_align=1,data_padto=1,ip_align=false)
	@Runlevel(2) include embox.net.skbuff_extra(amount_skb_extra=128,extra_size=10,extra_align=1,extra_padto=1)
	@Runlevel(2) include embox.net.socket
	@Runlevel(2) include embox.net.dev
	@Runlevel(2) include embox.net.af_inet
	@Runlevel(2) include embox.net.ipv4
	@Runlevel(2) include embox.net.arp
	@Runlevel(2) include embox.net.rarp
	@Runlevel(2) include embox.net.icmpv4
	@Runlevel(2) include embox.net.udp
	@Runlevel(2) include embox.net.tcp
	@Runlevel(2) include embox.net.udp_sock
	@Runlevel(2) include embox.net.tcp_sock
	@Runlevel(2) include embox.net.raw_sock
	@Runlevel(2) include embox.net.net_entry

	@Runlevel(2) include embox.kernel.sched.strategy.priority_based
	@Runlevel(2) include embox.kernel.timer.sleep
	@Runlevel(2) include embox.kernel.timer.strategy.head_timer
	@Runlevel(2) include embox.kernel.irq
	@Runlevel(2) include embox.kernel.critical

	@Runlevel(2) include embox.mem.pool_adapter
	@Runlevel(2) include embox.kernel.task.kernel_task
	@Runlevel(3) include embox.kernel.task.multi
	@Runlevel(2) include embox.mem.bitmask
	@Runlevel(2) include embox.mem.static_heap(heap_size=671088640)
	@Runlevel(2) include embox.mem.heap_bm(heap_size=335544320)

	@Runlevel(2) include embox.lib.libds
	@Runlevel(2) include embox.framework.LibFramework
	@Runlevel(2) include embox.compat.libc.all
	include embox.compat.libc.math_openlibm
	include embox.compat.libc.stdio.asprintf
	include embox.compat.posix.proc.atexit_stub
	include embox.compat.posix.time.time
	include embox.compat.posix.sys.mman.mprotect

	include third_party.freedesktop.mesa.mesa_osmesa
	include third_party.freedesktop.mesa.libglu_osmesa

	include embox.lib.cxx.libsupcxx_standalone
	include embox.lib.cxx.ConstructionSingleApp
	include embox.lib.cxx.DestructionStatic(table_size=256)

	include embox.cmd.testing.fb_direct_access
	include embox.cmd.osdemo_fb

	include embox.init.system_start_service(tty_dev="ttyS0")
	include embox.init.graphic_init

	include third_party.lib.curl
	include third_party.lib.sdl2(log_level="LOG_NONE")
	include third_party.games.quake3
	@Runlevel(2) include embox.arch.x86.mmu
	@Runlevel(2) include embox.arch.x86.fork
}
