1# This file defines the content of the minimum Haiku image. 2 3SYSTEM_BIN = [ FFilterByBuildFeatures 4 addattr 5 alert 6 arp 7 autologin 8 beep 9 bfsinfo 10 catattr 11 checkfs 12 checkitout 13 chop 14 clear 15 collectcatkeys 16 copyattr 17 desklink 18 df 19 diskimage 20 draggers 21 driveinfo 22 dstcheck 23 dumpcatalog 24 eject 25 error 26 fdinfo 27 ffm 28 filepanel 29 finddir 30 findpaths 31 fortune 32 fstrim 33 ftpd 34 getarch 35 groupadd 36 groupdel 37 groupmod 38 hd 39 hey 40 ifconfig 41 iroster 42 isvolume 43 kernel_debugger 44 keymap 45 keystore 46 launch_roster 47 linkcatkeys 48 listarea 49 listattr 50 listimage 51 listdev 52 listfont 53 listport 54 listres 55 listsem 56 listusb 57 locale 58 logger 59 login 60 lsindex 61 makebootable 62 message 63 mimeset 64 mkfs 65 mkindex 66 modifiers 67 mount 68 mountvolume 69 netstat 70 notify 71 open 72 package 73 package_repo 74 passwd 75 pc 76 ping 77 pkgman 78 prio 79 profile 80 ps 81 query 82 quit 83 ramdisk 84 rc 85 reindex 86 release 87 renice 88 resattr 89 resizefs 90 rmattr 91 rmindex 92 roster 93 route 94 safemode 95 screen_blanker 96 screeninfo 97 screenmode 98 setarch 99 setmime 100 settype 101 setversion 102 setvolume 103 shutdown 104 strace 105 su 106 sysinfo 107 system_time 108 tcptester 109 telnet 110 telnetd 111 top 112 traceroute 113 trash 114 unchop 115 unmount 116 urlwrapper 117 useradd 118 userdel 119 version 120 vmstat 121 waitfor 122 watch 123 writembr@x86,x86_64 124 xres 125] ; 126 127SYSTEM_APPS = [ FFilterByBuildFeatures 128 AboutSystem 129 BootManager@x86,x86_64 130 CharacterMap 131 Debugger@libedit 132 DeskCalc 133 Devices 134 DiskProbe 135 DiskUsage 136 DriveSetup 137 Expander 138 Installer 139 NetworkStatus 140 ProcessController 141 ShowImage 142 StyledEdit 143 Terminal 144 TextSearch 145 Workspaces 146] ; 147 148DESKBAR_APPLICATIONS = 149 CharacterMap 150 DeskCalc 151 Devices 152 DiskProbe 153 DiskUsage 154 DriveSetup 155 Expander 156 Installer 157 StyledEdit 158 Terminal 159; 160 161DESKBAR_DESKTOP_APPLETS = 162 NetworkStatus 163 ProcessController 164 Workspaces 165; 166 167SYSTEM_PREFERENCES = [ FFilterByBuildFeatures 168 Appearance 169 Backgrounds 170 <preference>Deskbar 171 FileTypes 172 Input 173 Keymap 174 Locale 175 Network 176 Notifications 177 Screen 178 Shortcuts 179 Time 180 <preference>Tracker 181 VirtualMemory 182] ; 183 184SYSTEM_DEMOS = ; 185 186 187rule HaikuImageGetSystemLibs 188{ 189 return 190 # libs with special grist 191 [ MultiArchDefaultGristFiles libroot.so : revisioned ] 192 [ Libstdc++ForImage ] 193 # libs with standard grist 194 [ MultiArchDefaultGristFiles [ FFilterByBuildFeatures 195 libbe.so 196 libbsd.so 197 libbnetapi.so 198 libdebug.so 199 libdebugger.so@primary 200 libdevice.so 201 libgnu.so 202 libnetwork.so 203 libpackage.so 204 libtextencoding.so 205 libtracker.so 206 libtranslation.so 207 ] ] 208 ; 209} 210 211 212rule HaikuImageGetPrivateSystemLibs 213{ 214 return [ MultiArchDefaultGristFiles [ FFilterByBuildFeatures 215 libalm.so 216 libpackage-add-on-libsolv.so 217 libroot-addon-icu.so 218 ] ] ; 219} 220 221 222SYSTEM_SERVERS = [ FFilterByBuildFeatures 223 app_server 224 debug_server 225 dns_resolver_server 226 input_server 227 keystore_server 228 launch_daemon 229 mount_server 230 net_server 231 notification_server 232 package_daemon 233 power_daemon 234 registrar 235 syslog_daemon 236] ; 237 238SYSTEM_NETWORK_DEVICES = 239 ethernet 240 loopback 241 tunnel 242; 243 244SYSTEM_NETWORK_DATALINK_PROTOCOLS = 245 <module>arp 246 ethernet_frame 247 ipv6_datagram 248 loopback_frame 249; 250 251#SYSTEM_NETWORK_PPP = ipcp modem pap pppoe KPPPManager ; 252 253SYSTEM_NETWORK_PROTOCOLS = 254 icmp 255 icmp6 256 ipv4 257 ipv6 258 tcp 259 udp 260 unix 261; 262 263SYSTEM_ADD_ONS_ACCELERANTS = [ FFilterByBuildFeatures 264 framebuffer.accelerant 265 x86,x86_64 @{ 266 vesa.accelerant 267 }@ # x86,x86_64 268 riscv64 @{ 269 # ati for qemu, radeon_hd for unmatched 270 ati.accelerant 271 radeon_hd.accelerant 272 }@ # riscv64 273] ; 274 275SYSTEM_ADD_ONS_TRANSLATORS = 276 STXTTranslator 277; 278 279SYSTEM_ADD_ONS_LOCALE_CATALOGS = 280 <catalog-addon>plaintext 281; 282 283SYSTEM_ADD_ONS_MEDIA = ; 284 285SYSTEM_ADD_ONS_MEDIA_PLUGINS = ; 286 287SYSTEM_ADD_ONS_PRINT = ; 288 289SYSTEM_ADD_ONS_PRINT_TRANSPORT = ; 290 291SYSTEM_ADD_ONS_SCREENSAVERS = ; 292 293SYSTEM_ADD_ONS_DRIVERS_AUDIO = ; 294 295SYSTEM_ADD_ONS_DRIVERS_AUDIO_OLD = ; 296 297SYSTEM_ADD_ONS_DRIVERS_GRAPHICS = [ FFilterByBuildFeatures 298 framebuffer 299 x86,x86_64 @{ 300 vesa 301 }@ # x86,x86_64 302 riscv64 @{ 303 # ati for qemu, radeon_hd for unmatched 304 ati 305 radeon_hd 306 }@ # riscv64 307] ; 308 309SYSTEM_ADD_ONS_DRIVERS_MIDI = ; 310 311SYSTEM_ADD_ONS_DRIVERS_NET = [ FFilterByBuildFeatures 312 x86,x86_64,riscv64 @{ 313 3com 314 atheros813x 315 atheros81xx 316 attansic_l1 317 attansic_l2 318 broadcom440x 319 broadcom570x 320 dec21xxx 321 ipro100 322 ipro1000 323 intel22x 324 jmicron2x0 325 marvell_yukon 326 nforce 327 pcnet 328 rtl8125 329 rtl8139 330 rtl81xx 331 sis19x 332 sis900 333 syskonnect 334 via_rhine 335 vmxnet 336 vt612x 337 }@ # x86,x86_64,riscv64 338 339 etherpci 340 pegasus 341 usb_asix 342 usb_davicom 343 usb_rndis 344 wb840 345] ; 346 347SYSTEM_ADD_ONS_DRIVERS_POWER = [ FFilterByBuildFeatures 348 acpi_button@x86,x86_64 349] ; 350 351SYSTEM_ADD_ONS_DRIVERS_SENSOR = [ FFilterByBuildFeatures 352 acpi_als@x86,x86_64 353] ; 354 355 356SYSTEM_ADD_ONS_BUS_MANAGERS = [ FFilterByBuildFeatures 357 acpi@x86,x86_64,arm64 358 agp_gart@x86,x86_64 359 ata 360 i2c@x86,x86_64 361 isa@x86,x86_64 362 mmc 363 scsi 364 pci 365 ps2@x86,x86_64 366 fdt@riscv64,arm,arm64 367 random 368 usb 369 virtio 370] ; 371 372SYSTEM_ADD_ONS_FILE_SYSTEMS = 373 attribute_overlay 374 bfs 375 bindfs 376 btrfs 377 exfat 378 ext2 379 fat 380 iso9660 381 log_overlay 382 ntfs 383 packagefs 384 ramfs 385 reiserfs 386 udf 387 write_overlay 388; 389 390# symlink to home on desktop 391AddSymlinkToHaikuImage home Desktop : /boot/home : Home ; 392 393# global settings when a package is installed in ~/config 394AddDirectoryToHaikuImage home config settings global ; 395 396# user scripts and data files 397local userBootScripts = UserBootscript UserSetupEnvironment.sample ; 398SEARCH on $(userBootScripts) = [ FDirName $(HAIKU_TOP) data config boot ] ; 399AddFilesToHaikuImage home config settings boot : $(userBootScripts) ; 400 401SEARCH on <user-first-login>first_login 402 = [ FDirName $(HAIKU_TOP) data settings ] ; 403AddFilesToHaikuImage home config settings : <user-first-login>first_login ; 404 405local etcDir = [ FDirName $(HAIKU_TOP) data etc ] ; 406local etcFiles = inputrc profile ; 407etcFiles = $(etcFiles:G=etc) ; 408SEARCH on $(etcFiles) = $(etcDir) ; 409AddFilesToHaikuImage system settings etc : $(etcFiles) ; 410 411local profileFiles = [ Glob $(etcDir)/profile.d : *.sh ] ; 412profileFiles = $(profileFiles:G=profile-d) ; 413AddDirectoryToHaikuImage system settings etc profile.d ; 414AddFilesToHaikuImage system settings etc profile.d : $(profileFiles) ; 415 416local driverSettingsFiles = <driver-settings>kernel ; 417SEARCH on $(driverSettingsFiles) 418 = [ FDirName $(HAIKU_TOP) data settings kernel drivers ] ; 419AddFilesToHaikuImage home config settings kernel drivers 420 : $(driverSettingsFiles) ; 421 422local networkSettingsFiles = <network-settings>services 423 <network-settings>hosts ; 424 425SEARCH on $(networkSettingsFiles) 426 = [ FDirName $(HAIKU_TOP) data settings network ] ; 427AddFilesToHaikuImage system settings network : $(networkSettingsFiles) ; 428 429# repository config and cache files 430local repository ; 431for repository in $(HAIKU_REPOSITORIES) { 432 local config = [ on $(repository) return $(HAIKU_REPOSITORY_CONFIG_FILE) ] ; 433 local cache = [ on $(repository) return $(HAIKU_REPOSITORY_CACHE_FILE) ] ; 434 if $(HAIKU_UPDATE_ALL_PACKAGES) { 435 HAIKU_INCLUDE_IN_IMAGE on $(config) $(cache) = 1 ; 436 } 437 AddFilesToHaikuImage system settings package-repositories 438 : $(config) : $(repository:G=) ; 439 AddFilesToHaikuImage system cache package-repositories 440 : $(cache) : $(repository:G=) ; 441} 442