forked from ivandavidov/minimal
-
Notifications
You must be signed in to change notification settings - Fork 0
/
.config
230 lines (212 loc) · 10.3 KB
/
.config
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
# If this is the first time you build 'Minimal Linux Live', then I suggest you
# go through the README file first.
###################################################
# #
# This section contains the main source bundles #
# #
###################################################
# You can find the latest Linux kernel source bundles here:
#
# https://kernel.org
#
KERNEL_SOURCE_URL=https://mirrors.edge.kernel.org/pub/linux/kernel/v$(echo $KERNEL_VERSION | cut -d '.' -f 1).x/linux-$KERNEL_VERSION.tar.xz
# You can find the latest GNU C library source bundles here:
#
# https://gnu.org/software/libc
#
GLIBC_SOURCE_URL=https://ftp.gnu.org/gnu/glibc/glibc-$GLIBC_VERSION.tar.bz2
# You can find the latest Busybox source bundles here:
#
# https://busybox.net
#
BUSYBOX_SOURCE_URL=https://busybox.net/downloads/busybox-$BUSYBOX_VERSION.tar.bz2
# You can find the latest Syslinux source bundles here:
#
# https://syslinux.org (official website)
#
# https://kernel.org/pub/linux/utils/boot/syslinux
#
SYSLINUX_SOURCE_URL=https://kernel.org/pub/linux/utils/boot/syslinux/syslinux-6.03.tar.xz
# You can find the latest 'systemd-boot' source bundles here:
#
# https://github.com/ivandavidov/systemd-boot
#
SYSTEMD-BOOT_SOURCE_URL=https://github.com/ivandavidov/systemd-boot/releases/download/systemd-boot_26-May-2018/systemd-boot_26-May-2018.tar.xz
####################################################
# #
# This section contains configuration properties #
# #
####################################################
# This property defines the firmware compatibility, i.e. on which systems MLL
# will be bootable.
#
# bios - the generated ISO image will be compatible with legacy BIOS systems.
# This is the default option and it does not require root privileges.
#
# uefi - the generated ISO image will be compatible with UEFI systems. This
# option requires root privileges.
#
# both - the generated ISO image will be compatible with both legacy BIOS and
# modern UEFI systems. This option requires root privileges.
#
FIRMWARE_TYPE=bios
# Use predefined '.config' file when building the kernel. This overrides the
# config generation in 'xx_build_kernel.sh' and the build process uses the
# config file provided in this parameter. Place the configuration file here:
#
# minimal_config/kernel.config
#
USE_PREDEFINED_KERNEL_CONFIG=true
# Build kernel modules and make them available in the overlayfs / rootfs in the
# /lib/modules directory. The modules can be loaded via 'insmod' to support
# additional periphery and software devices.
# Note however, that the essential drivers to load the overlayfs have to be
# included in the kernel as the overlayfs might not be loaded otherwise.
BUILD_KERNEL_MODULES=false
# Use predefined '.config' file when building Busybox. This overrides the
# config generation in 'xx_build_busybox.sh' and the build process uses the
# config file provided in this parameter. Place the configuration file here:
#
# minimal_config/busybox.config
#
USE_PREDEFINED_BUSYBOX_CONFIG=true
# Define the overlay type to use. Possible values are 'sparse' and 'folder'.
# You can use any other value, no value, or comment the property in order to
# disable it. Put your overlay content in the folder 'minimal_overlay/rootfs'
# and it will be automatically merged with the root file system on boot. The
# build process creates either '/minimal.img/rootfs' or '/minimal/rootfs' (read
# below) and this folder contains all overlay content in it. The build process
# also creates '/minimal.img/work' or '/minimal/work'. This folder is used by
# the overlay driver to store modifications related to the read only storage.
# If the overlay media is writeable, then all changes on the root filesystem
# are automatically persisted and preserved on reboot.
#
# sparse - use sparse file 'minimal.img' with hardcoded maximal size of 3MB
# (see 'xx_generate_overlay.sh'). The generated ISO image is larger,
# because the sparse file is treated as regular file. This option
# requires root permissions or otherwise sparse file generation is
# silently skipped. Sparse file is treated as separate disk image and
# works fine on FAT.
#
# folder - use normal folder structure (/minimal/). Note that this doesn't work
# if the file system is FAT because FAT requires special handling,
# e.g. POSIX overlay (http://sf.net/p/posixovl). This is the default
# option because it doesn't require root permissions.
#
OVERLAY_TYPE=folder
# This property defines one or more additional overlay software pieces which
# will be generated and placed in the directory 'work/overlay_rootfs'. These
# software pieces will be visible and fully usable after boot. Note that the
# build process for most of the overlay bundles depends on the softawre that
# is already installed on the host machine. The only overlay bundles that are
# guaranteed to work are the ones declared by default. The build process for
# most of the other overlay bundles may fail and therefore these bundles are
# not enabled by default. It is up to you to prepare your host environment and
# install all prerequisites for the overlay bundles that you want to build.
# For starters, you might want to install the 'libncurses-dev' library which
# is required by some of the overlay bundles.
#
# In the future Minimal Linux Live aims to provide fully functional 'sysroot'
# and all development host dependencies should be eliminated. However, for now
# it is up to you to maintain your host build environment.
#
# Note that if you build any overlay software and you are using sparse image
# file for the overlay structure then most probably something will go wrong,
# because the overlay software requires more than 3MB free space. The solution
# is to use folder overlay or to edit the script 'xx_generate_overlay.sh' and
# modify it to create sparse image file with bigger size.
#
# Currently available overlay software:
#
# all - all available overlay bundles.
# glibc_full - all core GNU C libraries.
#
# adopt_openjdk - JDK from AdoptOpenJDK with either HotSpot or OpenJ9.
# bosh_cli - BOSH CLI (command line interface).
# c2048 - console version of the game 2048.
# cf_cli - Cloud Foundry CLI (command line interface).
# cf_tools - all BOSH and Cloud Foundry tools.
# coreutils - set of commonly used GNU executable utilities.
# dhcp - DHCP and DNS functionality.
# dialog - shell scripting for ncurses
# dropbear - SSH server and client.
# felix - Apache Felix OSGi framework.
# fio - I/O load generator.
# golang - Google's Go programming language.
# graalvm - VM for Java, JavaScript, Python, Ruby, R, LLVM.
# kbd - keyboard utilities.
# kernel_modules - default MLL kernel modules and 'mdev' hotplug manager.
# kexec_tools - execute another kernel from userspace
# libevent - event notification library.
# links - text browser for the web.
# lua - scripting language.
# make - GNU make utility.
# mll_hello - simple educational overlay bundle. Type 'hello' to run it.
# mll_logo - custom MLL boot logo.
# mll_nikola - the meaning of life.
# mll_utils - set of executable utilities (mll-*).
# mll_source - MLL source code provided in directory '/usr/src'.
# nano - simple command-line text editor with on-screen shortcuts.
# ncurses - 'GUI-like' API that runs within a terminal emulator.
# nweb - simple mini http server.
# openjdk - installs Open JDK. All operations are automated.
# python - Python3 scripting support (pip and packages optional).
# screen - GNU screen utility to interact with VT100 terminals
# static_get - portable binaries for Linux (http://s.minos.io).
# stress - CPU and RAM load generator.
# util_linux - executable utilities distributed by the Linux Kernel org.
# vim - advanced text editor.
# vitetris - console mode tetris game.
# zlib - DEFLATE compression/decompression library.
# zulujdk - Zulu is certified build of OpenJDK with better support.
#
# Refer to the README file for more information.
#
# Each bundle can have separate '.config' file which overrides any property
# which has been provided in this configuration file. Refer to the README
# file for more information.
#
# The line below is sample which provides Open JDK, Apache Felix and Links.
# There is also network functionality provided by the 'dhcp' overlay bundle.
#
# OVERLAY_BUNDLES=dhcp,felix,links,openjdk
#
# The default overlay bundles are:
# * dhcp
# * mll_hello
# * mll_logo
# * mll_source
#
OVERLAY_BUNDLES=$ADD_BUNDLES
# The location where the overlay bundle software will be stored.
#
# rootfs - all overlay bundles will be embedded in the initramfs. In this way
# the software will be available on boot but the initramfs size may
# grow significantly and MLL will require more RAM in order to boot.
#
# iso - all overlay bundles will be packed in the ISO image structure. The
# actual location depends on the value of the configuration property
# 'OVERLAY_TYPE'.
#
OVERLAY_LOCATION=iso
# Always use local source bundles. This is useful when you have downloaded the
# sources and have no internet connection, or if you want to share your version
# of 'Minimal Linux Live' with predefined sources.
#
USE_LOCAL_SOURCE=true
# This property enables the standard penguin boot logo in the upper left corner
# of the screen. The property is used in 'xx_build_kernel.sh'. The default
# value is 'true' for demonstration purposes.
#
USE_BOOT_LOGO=true
# This property is the multiplicator which is used during the build process.
# The total number of each 'make' jobs will be equal to the number of detected
# CPU cores mutiplied by this property. For example, if you set this property
# with value '2' and if your CPU has 4 cores, then the number of 'make' jobs
# will be 4 * 2 = 8.
#
JOB_FACTOR=1
# This property defines the default GCC flags to be used during the compilation
# process. You can use your own flags here or even completely remove the flags.
#
CFLAGS=-Os -s -fno-stack-protector -fomit-frame-pointer -U_FORTIFY_SOURCE