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