mirror of
https://github.com/dockur/macos.git
synced 2026-03-11 08:34:24 +00:00
fix: Automaticly adjust CPU core count (#47)
This commit is contained in:
parent
c12f9c489b
commit
c4e3ccc43b
2 changed files with 24 additions and 28 deletions
27
readme.md
27
readme.md
|
|
@ -126,33 +126,6 @@ kubectl apply -f kubernetes.yml
|
|||
CPU_CORES: "4"
|
||||
```
|
||||
|
||||
Please be aware that macOS may have issues when the configured CPU core count is not a power of two (2, 4, 8, 16, etc).
|
||||
|
||||
* ### How do I add multiple disks?
|
||||
|
||||
To create additional disks, modify your compose file like this:
|
||||
|
||||
```yaml
|
||||
environment:
|
||||
DISK2_SIZE: "32G"
|
||||
DISK3_SIZE: "64G"
|
||||
volumes:
|
||||
- /home/example:/storage2
|
||||
- /mnt/data/example:/storage3
|
||||
```
|
||||
|
||||
* ### How do I pass-through a disk?
|
||||
|
||||
It is possible to pass-through disk devices directly by adding them to your compose file in this way:
|
||||
|
||||
```yaml
|
||||
devices:
|
||||
- /dev/sdb:/disk1
|
||||
- /dev/sdc:/disk2
|
||||
```
|
||||
|
||||
Use `/disk1` if you want it to become your main drive, and use `/disk2` and higher to add them as secondary drives.
|
||||
|
||||
* ### How do I pass-through a USB device?
|
||||
|
||||
To pass-through a USB device, first lookup its vendor and product id via the `lsusb` command, then add them to your compose file like this:
|
||||
|
|
|
|||
25
src/boot.sh
25
src/boot.sh
|
|
@ -89,7 +89,7 @@ DEFAULT_FLAGS="vendor=GenuineIntel,vmware-cpuid-freq=on,-pdpe1gb"
|
|||
|
||||
if [[ "$CPU_VENDOR" != "GenuineIntel" ]] || [[ "${KVM:-}" == [Nn]* ]]; then
|
||||
[ -z "${CPU_MODEL:-}" ] && CPU_MODEL="Haswell-noTSX"
|
||||
DEFAULT_FLAGS+=",+pcid,+ssse3,+sse4.2,+popcnt,+avx,+avx2,+aes,+fma,+bmi1,+bmi2,+xsave,+xsaveopt,+rdrand,check"
|
||||
DEFAULT_FLAGS+=",+pcid,+ssse3,+sse4.2,+popcnt,+avx,+avx2,+aes,+fma,+bmi1,+bmi2,+smep,+xsave,+xsavec,+xsaveopt,+xgetbv1,+movbe,+rdrand,check"
|
||||
fi
|
||||
|
||||
if [ -z "${CPU_FLAGS:-}" ]; then
|
||||
|
|
@ -98,6 +98,29 @@ else
|
|||
CPU_FLAGS="$DEFAULT_FLAGS,$CPU_FLAGS"
|
||||
fi
|
||||
|
||||
[ -z "${CPU_CORES:-}" ] && CPU_CORES="2"
|
||||
|
||||
if [[ "$CPU_VENDOR" != "GenuineIntel" ]] || [[ "${KVM:-}" == [Nn]* ]]; then
|
||||
SMP="$CPU_CORES,sockets=$CPU_CORES,dies=1,cores=1,threads=1"
|
||||
else
|
||||
case "$CPU_CORES" in
|
||||
"3" ) CPU_CORES="2" ;;
|
||||
"5" ) CPU_CORES="4" ;;
|
||||
"9" ) CPU_CORES="8" ;;
|
||||
esac
|
||||
case "$CPU_CORES" in
|
||||
"1" | "2" | "4" | "8" ) SMP="$CPU_CORES,sockets=1,dies=1,cores=$CPU_CORES,threads=1" ;;
|
||||
"6" | "7" ) SMP="$CPU_CORES,sockets=3,dies=1,cores=2,threads=1" ;;
|
||||
"10" | "11" ) SMP="$CPU_CORES,sockets=5,dies=1,cores=2,threads=1" ;;
|
||||
"12" | "13" ) SMP="$CPU_CORES,sockets=3,dies=1,cores=4,threads=1" ;;
|
||||
"14" | "15" ) SMP="$CPU_CORES,sockets=7,dies=1,cores=2,threads=1" ;;
|
||||
"16" | "32" | "64" ) SMP="$CPU_CORES,sockets=1,dies=1,cores=$CPU_CORES,threads=1" ;;
|
||||
*)
|
||||
error "Invalid amount of CPU_CORES, value \"${CPU_CORES}\" is not a power of 2!" && exit 35
|
||||
;;
|
||||
esac
|
||||
fi
|
||||
|
||||
USB="nec-usb-xhci,id=xhci"
|
||||
USB+=" -device usb-kbd,bus=xhci.0"
|
||||
USB+=" -global nec-usb-xhci.msi=off"
|
||||
|
|
|
|||
Loading…
Reference in a new issue