The CD now boots directly from the ISO 9660 filesystem instead of using MBR partitioning with Minix file systems. This saves some space on the CD and reduces memory requirements by some unknown amount as the root ramdisk is completely eliminated. The setup is also modified to be more NetBSD-like (unpacking sets tarballs instead of blindly copying the CD contents). This allows massive space savings because only the base system used for installation is stored uncompressed and more modularity (to be exploited at a later time). The sets themselves are to be refined, but are enough for now. Those two steps are melded together because copying the CD contents with isofs as the root filesystem results in some failed tests in minix-posix, probably due to some obscure corner-case bugs in isofs. Having a read-only root filesystem outputs some error messages because it isn't properly supported. Ramdisks on /var and /tmp are used to mitigate this, but the clean solution would involve union mounts, something Minix 3 doesn't support for the time being. Change-Id: Ib4700d9f10c5b4b297e0994b5338847951fc79b4
752 lines
12 KiB
Plaintext
752 lines
12 KiB
Plaintext
#
|
|
# Boot system services in the boot image
|
|
#
|
|
|
|
service rs
|
|
{
|
|
uid 0;
|
|
ipc ALL; # ALL ipc targets allowed
|
|
system ALL; # ALL kernel calls allowed
|
|
vm # Extra VM calls allowed:
|
|
RS_SET_PRIV # 37
|
|
RS_UPDATE # 41
|
|
RS_MEMCTL # 42
|
|
PROCCTL
|
|
;
|
|
io NONE; # No I/O range allowed
|
|
irq NONE; # No IRQ allowed
|
|
sigmgr SELF; # Signal manager is SELF
|
|
scheduler KERNEL; # Scheduler is KERNEL
|
|
priority 4; # priority queue 4
|
|
quantum 500; # default server quantum
|
|
};
|
|
|
|
service ds
|
|
{
|
|
uid 0;
|
|
ipc ALL_SYS; # All system ipc targets allowed
|
|
system ALL; # ALL kernel calls allowed
|
|
vm BASIC; # Only basic VM calls allowed
|
|
io NONE; # No I/O range allowed
|
|
irq NONE; # No IRQ allowed
|
|
sigmgr rs; # Signal manager is RS
|
|
scheduler KERNEL; # Scheduler is KERNEL
|
|
priority 4; # priority queue 4
|
|
quantum 500; # default server quantum
|
|
};
|
|
|
|
service vm
|
|
{
|
|
uid 0;
|
|
ipc ALL; # ALL ipc targets allowed
|
|
system ALL; # ALL kernel calls allowed
|
|
vm NONE; # No VM calls allowed
|
|
io NONE; # No I/O range allowed
|
|
irq NONE; # No IRQ allowed
|
|
sigmgr rs; # Signal manager is RS
|
|
scheduler KERNEL; # Scheduler is KERNEL
|
|
priority 2; # priority queue 2
|
|
quantum 500; # default server quantum
|
|
};
|
|
|
|
service pm
|
|
{
|
|
uid 0;
|
|
ipc ALL; # ALL ipc targets allowed
|
|
system ALL; # ALL kernel calls allowed
|
|
vm # Extra VM calls allowed:
|
|
EXIT # 00
|
|
FORK # 01
|
|
EXEC_NEWMEM # 03
|
|
WILLEXIT # 05
|
|
NOTIFY_SIG # 39
|
|
;
|
|
io NONE; # No I/O range allowed
|
|
irq NONE; # No IRQ allowed
|
|
sigmgr rs; # Signal manager is RS
|
|
scheduler KERNEL; # Scheduler is KERNEL
|
|
priority 4; # priority queue 4
|
|
quantum 500; # default server quantum
|
|
};
|
|
|
|
service sched
|
|
{
|
|
uid 0;
|
|
ipc ALL_SYS; # All system ipc targets allowed
|
|
system ALL; # ALL kernel calls allowed
|
|
vm BASIC; # Only basic VM calls allowed
|
|
io NONE; # No I/O range allowed
|
|
irq NONE; # No IRQ allowed
|
|
sigmgr rs; # Signal manager is RS
|
|
scheduler KERNEL; # Scheduler is KERNEL
|
|
priority 4; # priority queue 4
|
|
quantum 500; # default server quantum
|
|
};
|
|
|
|
service vfs
|
|
{
|
|
uid 0;
|
|
ipc ALL; # ALL ipc targets allowed
|
|
system # Extra kernel calls allowed:
|
|
KILL # 06
|
|
UMAP # 14
|
|
VIRCOPY # 15
|
|
MEMSET
|
|
;
|
|
vm PROCCTL
|
|
VFS_MMAP
|
|
VFS_REPLY
|
|
;
|
|
io NONE; # No I/O range allowed
|
|
irq NONE; # No IRQ allowed
|
|
sigmgr rs; # Signal manager is RS
|
|
scheduler KERNEL; # Scheduler is KERNEL
|
|
priority 5; # priority queue 5
|
|
quantum 500; # default server quantum
|
|
};
|
|
|
|
service mfs
|
|
{
|
|
ipc ALL_SYS; # All system ipc targets allowed
|
|
system BASIC; # Only basic kernel calls allowed
|
|
vm MAPCACHEPAGE SETCACHEPAGE CLEARCACHE;
|
|
io NONE; # No I/O range allowed
|
|
irq NONE; # No IRQ allowed
|
|
sigmgr rs; # Signal manager is RS
|
|
scheduler sched; # Scheduler is sched
|
|
priority 5; # priority queue 5
|
|
quantum 500; # default server quantum
|
|
};
|
|
|
|
service ntfs-3g
|
|
{
|
|
uid SELF; # Use uid of user starting service
|
|
ipc ALL_SYS; # All system ipc targets allowed
|
|
system BASIC; # Only basic kernel calls allowed
|
|
vm BASIC; # Only basic VM calls allowed
|
|
io NONE; # No I/O range allowed
|
|
irq NONE; # No IRQ allowed
|
|
sigmgr rs; # Signal manager is RS
|
|
scheduler sched; # Scheduler is sched
|
|
priority 5; # priority queue 5
|
|
quantum 500; # default server quantum
|
|
};
|
|
|
|
service ext2
|
|
{
|
|
ipc ALL_SYS; # All system ipc targets allowed
|
|
system BASIC; # Only basic kernel calls allowed
|
|
vm MAPCACHEPAGE SETCACHEPAGE CLEARCACHE;
|
|
io NONE; # No I/O range allowed
|
|
irq NONE; # No IRQ allowed
|
|
sigmgr rs; # Signal manager is RS
|
|
scheduler sched; # Scheduler is sched
|
|
priority 5; # priority queue 5
|
|
quantum 500; # default server quantum
|
|
};
|
|
|
|
service pfs
|
|
{
|
|
ipc ALL_SYS; # All system ipc targets allowed
|
|
system BASIC; # Only basic kernel calls allowed
|
|
vm MAPCACHEPAGE SETCACHEPAGE CLEARCACHE;
|
|
io NONE; # No I/O range allowed
|
|
irq NONE; # No IRQ allowed
|
|
sigmgr rs; # Signal manager is RS
|
|
scheduler sched; # Scheduler is sched
|
|
priority 5; # priority queue 5
|
|
quantum 500; # default server quantum
|
|
};
|
|
|
|
service tty
|
|
{
|
|
uid 0;
|
|
ipc ALL_SYS; # All system ipc targets allowed
|
|
system # Extra kernel calls allowed:
|
|
KILL # 06
|
|
UMAP # 14
|
|
VIRCOPY # 15
|
|
PHYSCOPY # 16
|
|
IRQCTL # 19
|
|
INT86 # 20
|
|
DEVIO # 21
|
|
SDEVIO # 22
|
|
VDEVIO # 23
|
|
ABORT # 27
|
|
IOPENABLE # 28
|
|
READBIOS # 35
|
|
;
|
|
vm BASIC; # Only basic VM calls allowed
|
|
io ALL; # ALL I/O ranges allowed
|
|
irq NONE; # No IRQ allowed
|
|
sigmgr rs; # Signal manager is RS
|
|
scheduler KERNEL; # Scheduler is KERNEL (prevents console stalls)
|
|
priority 1; # priority queue 1
|
|
quantum 50; # default driver quantum
|
|
};
|
|
|
|
service memory
|
|
{
|
|
uid 0;
|
|
ipc ALL_SYS; # All system ipc targets allowed
|
|
system # Extra kernel calls allowed:
|
|
UMAP # 14
|
|
VIRCOPY # 15
|
|
PHYSCOPY # 16
|
|
IRQCTL # 19
|
|
INT86 # 20
|
|
DEVIO # 21
|
|
SDEVIO # 22
|
|
VDEVIO # 23
|
|
IOPENABLE # 28
|
|
;
|
|
vm BASIC; # Only basic VM calls allowed
|
|
io NONE; # No I/O range allowed
|
|
irq NONE; # No IRQ allowed
|
|
sigmgr rs; # Signal manager is RS
|
|
scheduler KERNEL; # Scheduler is KERNEL
|
|
priority 3; # priority queue 3
|
|
quantum 50; # default driver quantum
|
|
};
|
|
|
|
service log
|
|
{
|
|
ipc SYSTEM vfs rs vm;
|
|
priority 2;
|
|
};
|
|
|
|
service init
|
|
{
|
|
uid 0;
|
|
ipc # ipc targets allowed:
|
|
pm vfs rs vm
|
|
;
|
|
system NONE; # No kernel calls allowed
|
|
vm BASIC; # Only basic VM calls allowed
|
|
io NONE; # No I/O range allowed
|
|
irq NONE; # No IRQs allowed
|
|
sigmgr pm; # Signal manager is PM
|
|
};
|
|
|
|
#
|
|
# Dynamically started system services
|
|
#
|
|
|
|
service floppy
|
|
{
|
|
irq 6;
|
|
io 3f0:8
|
|
0:10 # DMA controller
|
|
81 # Also DMA
|
|
;
|
|
system
|
|
UMAP # 14
|
|
IRQCTL # 19
|
|
DEVIO # 21
|
|
VDEVIO # 23
|
|
;
|
|
};
|
|
|
|
service dp8390
|
|
{
|
|
system
|
|
IRQCTL # 19
|
|
DEVIO # 21
|
|
SDEVIO # 22
|
|
;
|
|
pci device 10ec:8029;
|
|
io
|
|
300:20
|
|
;
|
|
irq 9;
|
|
};
|
|
|
|
service dpeth
|
|
{
|
|
system
|
|
IRQCTL # 19
|
|
DEVIO # 21
|
|
SDEVIO # 22
|
|
;
|
|
uid 0;
|
|
};
|
|
|
|
service inet
|
|
{
|
|
uid 0;
|
|
};
|
|
|
|
service lwip
|
|
{
|
|
uid 0;
|
|
};
|
|
|
|
service random
|
|
{
|
|
};
|
|
|
|
service readclock.drv
|
|
{
|
|
ipc ALL;
|
|
io 70:2;
|
|
system
|
|
PRIVCTL # 4
|
|
UMAP # 14
|
|
VIRCOPY # 15
|
|
DEVIO # 21
|
|
READBIOS # 35
|
|
;
|
|
uid 0;
|
|
};
|
|
|
|
service is
|
|
{
|
|
vm
|
|
INFO
|
|
;
|
|
uid 0;
|
|
};
|
|
|
|
service acpi
|
|
{
|
|
io ALL;
|
|
system
|
|
PRIVCTL # 4
|
|
DEVIO # 21
|
|
;
|
|
uid 0;
|
|
};
|
|
|
|
service pci
|
|
{
|
|
io cf8:8 # PCI bus controller
|
|
4d0:2 # PIIX
|
|
;
|
|
system
|
|
PRIVCTL # 4
|
|
DEVIO # 21
|
|
;
|
|
uid 0;
|
|
};
|
|
|
|
service ahci
|
|
{
|
|
system
|
|
UMAP # 14
|
|
VUMAP # 18
|
|
IRQCTL # 19
|
|
;
|
|
pci class
|
|
1/6/1 # Mass storage / SATA / AHCI
|
|
;
|
|
};
|
|
|
|
service virtio_blk
|
|
{
|
|
system
|
|
UMAP
|
|
VUMAP
|
|
IRQCTL
|
|
DEVIO
|
|
;
|
|
|
|
pci device 1af4:1001;
|
|
};
|
|
|
|
service at_wini
|
|
{
|
|
io 1f0:8 # Controller 0
|
|
3f6 # Also controller 0
|
|
170:8 # Controller 1
|
|
376 # Also controller 1
|
|
;
|
|
irq
|
|
14 # Controller 0
|
|
15 # Controller 1
|
|
;
|
|
system
|
|
UMAP # 14
|
|
IRQCTL # 19
|
|
DEVIO # 21
|
|
SDEVIO # 22
|
|
VDEVIO # 23
|
|
;
|
|
pci class # Match these PCI classes:
|
|
1/1 # Mass storage / IDE
|
|
;
|
|
pci device # In addition, match these devices:
|
|
1106:3149 # VIA VT6420 RAID (1/4)
|
|
1095:3512/1095:6512 # Silicon Image SATA RAID (1/4)
|
|
1095:3114/1095:3114 # Silicon Image SATA RAID (1/80)
|
|
;
|
|
};
|
|
|
|
service procfs
|
|
{
|
|
system
|
|
VIRCOPY # 15
|
|
;
|
|
vm
|
|
INFO
|
|
SETCACHEPAGE
|
|
CLEARCACHE
|
|
;
|
|
uid 0;
|
|
};
|
|
|
|
service isofs
|
|
{
|
|
ipc ALL_SYS; # All system ipc targets allowed
|
|
system BASIC; # Only basic kernel calls allowed
|
|
vm MAPCACHEPAGE SETCACHEPAGE CLEARCACHE;
|
|
io NONE; # No I/O range allowed
|
|
irq NONE; # No IRQ allowed
|
|
sigmgr rs; # Signal manager is RS
|
|
scheduler sched; # Scheduler is sched
|
|
priority 5; # priority queue 5
|
|
quantum 500; # default server quantum
|
|
uid 0;
|
|
};
|
|
|
|
service hgfs
|
|
{
|
|
ipc
|
|
SYSTEM pm vfs rs vm
|
|
;
|
|
vm
|
|
SETCACHEPAGE
|
|
CLEARCACHE
|
|
;
|
|
};
|
|
|
|
service vbfs
|
|
{
|
|
ipc
|
|
SYSTEM pm vfs rs ds vm vbox
|
|
;
|
|
vm
|
|
SETCACHEPAGE
|
|
CLEARCACHE
|
|
;
|
|
};
|
|
|
|
service printer
|
|
{
|
|
io 378:4 # LPT1
|
|
278:4 # LPT2
|
|
;
|
|
irq
|
|
7 # PRINTER_IRQ
|
|
;
|
|
system
|
|
KILL # 6
|
|
UMAP # 14
|
|
IRQCTL # 19
|
|
DEVIO # 21
|
|
VDEVIO # 23
|
|
READBIOS # 35
|
|
;
|
|
};
|
|
|
|
service orinoco
|
|
{
|
|
system
|
|
PRIVCTL # 4
|
|
UMAP # 14
|
|
IRQCTL # 19
|
|
DEVIO # 21
|
|
VM_MAP # 30
|
|
;
|
|
pci device 1260:3873;
|
|
pci device 1186:1300;
|
|
uid 0;
|
|
};
|
|
|
|
service es1370
|
|
{
|
|
system
|
|
UMAP # 14
|
|
IRQCTL # 19
|
|
DEVIO # 21
|
|
;
|
|
pci device 1274:5000;
|
|
};
|
|
|
|
service es1371
|
|
{
|
|
system
|
|
UMAP # 14
|
|
IRQCTL # 19
|
|
DEVIO # 21
|
|
;
|
|
pci device 1274:1371;
|
|
};
|
|
|
|
service ti1225
|
|
{
|
|
system
|
|
IRQCTL # 19
|
|
;
|
|
pci device 104c:ac1c;
|
|
};
|
|
|
|
service amddev
|
|
{
|
|
pci device 1022:1103;
|
|
system
|
|
UMAP_REMOTE # 17
|
|
;
|
|
vm
|
|
ADDDMA # 12
|
|
DELDMA # 13
|
|
GETDMA # 14
|
|
;
|
|
uid 0;
|
|
};
|
|
|
|
service osscore
|
|
{
|
|
system
|
|
PRIVCTL # 4
|
|
UMAP # 14
|
|
IRQCTL # 19
|
|
DEVIO # 21
|
|
SDEVIO # 22
|
|
;
|
|
pci class
|
|
4/1 # Multimedia / Audio device
|
|
;
|
|
ipc
|
|
SYSTEM pm rs tty ds vfs vm
|
|
pci inet lwip amddev
|
|
;
|
|
uid 0;
|
|
};
|
|
|
|
service filter
|
|
{
|
|
ipc
|
|
SYSTEM pm vfs rs ds vm
|
|
at_wini
|
|
;
|
|
control
|
|
at_wini
|
|
;
|
|
};
|
|
|
|
service input
|
|
{
|
|
ipc SYSTEM pm vfs rs ds tty vm;
|
|
priority 1;
|
|
};
|
|
|
|
|
|
service pckbd
|
|
{
|
|
system
|
|
IRQCTL # 19
|
|
DEVIO # 21
|
|
;
|
|
io 60:8; # Keyboard, keyboard command/status
|
|
irq
|
|
1 # Keyboard
|
|
12 # Auxiliary input (mouse)
|
|
;
|
|
ipc SYSTEM pm rs ds vm input;
|
|
priority 1;
|
|
};
|
|
|
|
service hello
|
|
{
|
|
system
|
|
IRQCTL # 19
|
|
DEVIO # 21
|
|
;
|
|
ipc
|
|
SYSTEM pm rs tty ds vm vfs
|
|
pci inet lwip amddev
|
|
;
|
|
uid 0;
|
|
};
|
|
|
|
|
|
service devman
|
|
{
|
|
uid 0;
|
|
vm
|
|
SETCACHEPAGE
|
|
CLEARCACHE
|
|
;
|
|
};
|
|
|
|
service mmc
|
|
{
|
|
system
|
|
PRIVCTL # 4
|
|
IRQCTL # 19
|
|
;
|
|
# Interrupts allowed
|
|
irq
|
|
64
|
|
83
|
|
; # IRQs allowed
|
|
priority 4; # priority queue 4
|
|
};
|
|
|
|
service fb
|
|
{
|
|
system
|
|
UMAP # 14
|
|
DEVIO # 21
|
|
PRIVCTL # 4
|
|
;
|
|
ipc
|
|
SYSTEM pm rs ds vm vfs cat24c256 tda19988
|
|
;
|
|
};
|
|
|
|
service gpio
|
|
{
|
|
system
|
|
PRIVCTL # 4
|
|
IRQCTL # 19
|
|
PADCONF # 57
|
|
;
|
|
vm
|
|
SETCACHEPAGE
|
|
CLEARCACHE
|
|
;
|
|
irq
|
|
29 # GPIO module 1 (dm37xx)
|
|
30 # GPIO module 2 (dm37xx)
|
|
31 # GPIO module 3 (dm37xx)
|
|
32 # GPIO module 4 (dm37xx) / module 2a (am335x)
|
|
33 # GPIO module 5 (dm37xx) / module 2b (am335x)
|
|
34 # GPIO module 6 (dm37xx)
|
|
62 # GPIO module 3a (am335x)
|
|
63 # GPIO module 3b (am335x)
|
|
96 # GPIO module 0a (am335x)
|
|
97 # GPIO module 0b (am335x)
|
|
98 # GPIO module 1a (am335x)
|
|
99 # GPIO module 1b (am335x)
|
|
;
|
|
|
|
};
|
|
|
|
service i2c
|
|
{
|
|
system
|
|
PRIVCTL # 4
|
|
IRQCTL # 19
|
|
PADCONF # 57
|
|
;
|
|
irq
|
|
# DM37XX (BeagleBoard-xM)
|
|
56 # I2C module 1
|
|
57 # I2C module 2
|
|
61 # I2C module 3
|
|
# AM335X (BeagleBone)
|
|
70 # I2C module 1
|
|
71 # I2C module 2
|
|
30 # I2C module 3
|
|
;
|
|
ipc SYSTEM RS DS;
|
|
};
|
|
|
|
service cat24c256
|
|
{
|
|
ipc SYSTEM RS DS i2c;
|
|
};
|
|
|
|
service tda19988
|
|
{
|
|
ipc SYSTEM RS DS i2c;
|
|
};
|
|
|
|
service tps65217
|
|
{
|
|
uid 0; # needed for doing reboot()
|
|
system IRQCTL PRIVCTL;
|
|
irq 7; # NNMI pin on BeagleBone / BeagleBone Black
|
|
ipc SYSTEM RS DS PM i2c;
|
|
};
|
|
|
|
service tps65950
|
|
{
|
|
ipc SYSTEM RS DS i2c readclock.drv;
|
|
};
|
|
|
|
service tsl2550
|
|
{
|
|
ipc SYSTEM RS DS i2c;
|
|
};
|
|
|
|
service sht21
|
|
{
|
|
ipc SYSTEM RS DS i2c;
|
|
};
|
|
|
|
service bmp085
|
|
{
|
|
ipc SYSTEM RS DS i2c;
|
|
};
|
|
|
|
service vbox
|
|
{
|
|
system
|
|
UMAP # 14
|
|
VUMAP # 18
|
|
IRQCTL # 19
|
|
DEVIO # 21
|
|
;
|
|
pci device 80ee:cafe;
|
|
ipc
|
|
SYSTEM
|
|
PM
|
|
RS
|
|
VM
|
|
pci
|
|
;
|
|
uid 0;
|
|
};
|
|
|
|
service fbd
|
|
{
|
|
ipc
|
|
SYSTEM vfs rs ds vm
|
|
ahci
|
|
at_wini
|
|
;
|
|
};
|
|
|
|
service vnd
|
|
{
|
|
ipc
|
|
SYSTEM vfs rs vm
|
|
;
|
|
uid 0; # only for copyfd(2)
|
|
};
|
|
|
|
service uds
|
|
{
|
|
ipc
|
|
SYSTEM vfs rs vm
|
|
;
|
|
uid 0; # only for checkperms(2) and copyfd(2)
|
|
};
|
|
|
|
service pty
|
|
{
|
|
system
|
|
KILL # 06
|
|
;
|
|
ipc
|
|
SYSTEM vfs rs vm
|
|
;
|
|
};
|
|
|
|
service edfictl
|
|
{
|
|
ipc ALL;
|
|
};
|