diff --git a/driveAtlas.sh b/driveAtlas.sh index 2d8eacb..aacd780 100644 --- a/driveAtlas.sh +++ b/driveAtlas.sh @@ -55,6 +55,36 @@ generate_10bay_layout() { printf "└────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘\n" } +generate_micro_layout() { + local hostname=$1 + build_drive_map + + # Check for eMMC storage + local emmc_device="" + if [[ -b /dev/mmcblk0 ]]; then + emmc_device="mmcblk0" + fi + + printf "┌─────────────────────────────────────────────────────────────┐\n" + printf "│ %-57s │\n" "$hostname - Micro SBC" + printf "│ │\n" + + # Show eMMC if present + if [[ -n "$emmc_device" ]]; then + local emmc_size=$(lsblk -d -n -o SIZE "/dev/$emmc_device" 2>/dev/null | xargs) + printf "│ ┌─────────────────────────────────────────────────────┐ │\n" + printf "│ │ Onboard eMMC: %-10s (%s) │ │\n" "$emmc_device" "$emmc_size" + printf "│ └─────────────────────────────────────────────────────┘ │\n" + printf "│ │\n" + fi + + printf "│ SATA Ports (rear): │\n" + printf "│ ┌──────────────┐ ┌──────────────┐ │\n" + printf "│ │ 1: %-9s │ │ 2: %-9s │ │\n" "${DRIVE_MAP[1]:-EMPTY}" "${DRIVE_MAP[2]:-EMPTY}" + printf "│ └──────────────┘ └──────────────┘ │\n" + printf "└─────────────────────────────────────────────────────────────┘\n" +} + generate_large1_layout() { build_drive_map @@ -146,6 +176,14 @@ declare -A SERVER_MAPPINGS=( # TODO: Map actual PCI paths after running diagnose-drives.sh ["large1"]=" " + + # monitor-02 + # ZimaBoard 832 - Single board computer + # 2 SATA ports on rear (currently unused) + # Boot from onboard eMMC (mmcblk0) + # SATA controller would be at a specific PCI address when drives connected + ["monitor-02"]=" + " ) declare -A CHASSIS_TYPES=( @@ -213,7 +251,7 @@ case "$CHASSIS_TYPE" in generate_large1_layout ;; "micro") - echo "Micro server layout not yet implemented" + generate_micro_layout "$HOSTNAME" ;; *) echo "┌─────────────────────────────────────────────────────────┐"