update all docs: Orange Pi 3B 8GB purchased (89)
- docs/sbc-selection.md: full rewrite for OPi 3B specs (RK3566, 8GB, 256GB eMMC, built-in WiFi) - README.md: SBC description, checklist, components table, quick ref, cost estimate - docs/parts-list.md: SBC marked purchased, eMMC/controller/WiFi changes - docs/design-decisions.md: WiFi exclusion reason, native eDP, power input - docs/salvage-analysis.md: WiFi card not needed, cooling fan, summary tables - docs/storage-architecture.md: rewritten for 256GB eMMC primary boot - docs/usb-expansion.md: 2x USB3 native, port allocation, power budget - docs/port-layout.md: OPi3B port differences (eDP, power-only USB-C, built-in WiFi) - docs/power-system.md: lower power draw context
This commit is contained in:
parent
ef9a7f40a8
commit
3c11190822
9 changed files with 330 additions and 347 deletions
|
|
@ -1,128 +1,133 @@
|
|||
# Storage Architecture
|
||||
|
||||
**Strategy:** SD card for boot/root, USB for data
|
||||
**Strategy:** 256GB onboard eMMC for boot/root/data. SD card and M.2 for expansion.
|
||||
|
||||
---
|
||||
|
||||
## Design Principles
|
||||
|
||||
1. **Simplicity:** SD card boots out of the box, no U-Boot complexity
|
||||
2. **Reliability:** Endurance-rated SD cards last longer
|
||||
3. **Flexibility:** USB storage can be swapped/upgraded easily
|
||||
4. **Cost:** Minimal investment, repurpose existing drives
|
||||
1. **Simplicity:** eMMC boots out of the box, faster and more reliable than SD
|
||||
2. **Speed:** eMMC ~300 MB/s read — comparable to a SATA SSD
|
||||
3. **Capacity:** 256GB onboard is plenty for OS + apps + projects + media
|
||||
4. **Flexibility:** MicroSD and M.2 slots available for expansion
|
||||
5. **Cost:** Included with SBC — no separate purchase needed
|
||||
|
||||
---
|
||||
|
||||
## Layer 1: Boot/Root (MicroSD)
|
||||
## Layer 1: Boot/Root (eMMC)
|
||||
|
||||
### Card Selection
|
||||
The Orange Pi 3B boots from its onboard 256GB eMMC by default. This is the primary storage:
|
||||
|
||||
| Attribute | Recommendation |
|
||||
|-----------|----------------|
|
||||
| Capacity | 64GB minimum, 128 GB preferred |
|
||||
| Type | Endurance-rated or Industrial |
|
||||
| Brands | SanDisk Endurance, Samsung PRO Endurance |
|
||||
### eMMC Performance
|
||||
|
||||
**Why endurance cards:**
|
||||
| Attribute | Value |
|
||||
|-----------|-------|
|
||||
| Capacity | 256GB |
|
||||
| Interface | eMMC 5.1 |
|
||||
| Sequential read | ~300 MB/s |
|
||||
| Sequential write | ~200 MB/s |
|
||||
| Reliability | Significantly better than SD cards |
|
||||
|
||||
Consumer SD cards are rated for bursts of writes (camera use). OS usage is constant logging, updates, cache writes. Endurance cards are rated for:
|
||||
### Partition Layout (Suggested)
|
||||
|
||||
- 5000+ hours of continuous recording
|
||||
- 1000+ write cycles per sector
|
||||
- 5-10× longer lifespan than consumer cards
|
||||
```
|
||||
/dev/mmcblk1 (eMMC, 256GB)
|
||||
├── /dev/mmcblk1p1 → /boot (fat32, ~500MB)
|
||||
├── /dev/mmcblk1p2 → / (ext4, ~80GB)
|
||||
├── /dev/mmcblk1p3 → /home (ext4, ~170GB)
|
||||
└── (remaining for swap or data)
|
||||
```
|
||||
|
||||
**Cost:**$10-15 for 64GB
|
||||
Or simpler:
|
||||
|
||||
```
|
||||
/dev/mmcblk1p1 → /boot (fat32, ~500MB)
|
||||
/dev/mmcblk1p2 → / (ext4, all remaining)
|
||||
/home → subdirectory, not separate partition
|
||||
```
|
||||
|
||||
256GB is large enough that separate partitions are optional. A single root partition with everything under it works fine.
|
||||
|
||||
### Boot Configuration
|
||||
|
||||
Default Orange Pi 5 boots from SD:
|
||||
|
||||
```
|
||||
/dev/mmcblk0 (SD card)
|
||||
├── /dev/mmcblk0p1 → /boot (fat32, ~200MB)
|
||||
├── /dev/mmcblk0p2 → / (ext4, ~60GB)
|
||||
└── /dev/mmcblk0p3 → /home (ext4, remaining)
|
||||
```
|
||||
|
||||
Or single partition with separate mount points:
|
||||
|
||||
```
|
||||
/dev/mmcblk0p2 → / (ext4, all space)
|
||||
/home → bind mount or subdirectory
|
||||
```
|
||||
|
||||
### Root-on-USB (Optional)
|
||||
|
||||
For faster I/O, copy root to USB SSD:
|
||||
|
||||
1. Boot from SD, insert USB SSD
|
||||
2. `sudo rsync -ax / /mnt/usb/`
|
||||
3. Edit `/boot/extlinux/extlinux.conf`:
|
||||
```
|
||||
append root=/dev/sda1
|
||||
```
|
||||
4. Boot from USB, SD only handles bootloader
|
||||
|
||||
**Tradeoff:** More complexity, faster app loading.
|
||||
Default OPi3B boots from eMMC when populated. No configuration needed.
|
||||
|
||||
---
|
||||
|
||||
## Layer 2: Data Storage (USB)
|
||||
## Layer 2: Expansion (MicroSD + M.2)
|
||||
|
||||
### MicroSD
|
||||
|
||||
| Attribute | Value |
|
||||
|-----------|-------|
|
||||
| Slot | Standard push-push |
|
||||
| Max capacity | Up to 512GB |
|
||||
| Use | Backup, media library, test OS images |
|
||||
|
||||
No need for endurance-rated card — the SD slot is now secondary storage, not primary boot.
|
||||
|
||||
### M.2 M-key
|
||||
|
||||
| Interface | Speed | Notes |
|
||||
|-----------|-------|-------|
|
||||
| PCIe 2.0 x1 | ~300 MB/s | Slightly slower than eMMC |
|
||||
| SATA III | ~550 MB/s | Faster than eMMC (if SATA SSD) |
|
||||
|
||||
Can add NVMe or SATA SSD for bulk storage if 256GB eMMC fills up. M.2 slot shares bandwidth with USB 3.0 — both use the same PCIe controller.
|
||||
|
||||
---
|
||||
|
||||
## Layer 3: Data Storage (USB)
|
||||
|
||||
Optional external storage for:
|
||||
- Large media libraries
|
||||
- Project archives
|
||||
- System backups
|
||||
|
||||
### Options
|
||||
|
||||
| Option | Speed | Cost | Notes |
|
||||
|--------|-------|------|-------|
|
||||
| USB flash drive | 100-150 MB/s | $12-20 | Cheap, limited endurance |
|
||||
| USB 3.0 SATA enclosure | ~400 MB/s | $10-15 + drive | Reuse 2.5" drives |
|
||||
| USB 3.0 NVMe enclosure | ~400 MB/s | $8-15 + drive | Compact, fast |
|
||||
| USD 3.0 flash drive (fast) | 200-400 MB/s | $20-40 | Kingston DataTraveler, Samsung BAR |
|
||||
|
||||
### Recommendation
|
||||
|
||||
**USB 3.0 SATA enclosure with salvaged 2.5" SSD.**
|
||||
|
||||
If you have a spare 2.5" SATA SSD from another build/upgrade:
|
||||
- Enclosure cost: $10-15
|
||||
- Speed: ~400 MB/s (SATAIII limit over USB 3.0)
|
||||
- Capacity: whatever the drive is
|
||||
|
||||
If no spare drive:
|
||||
- USB 3.0 flash drive (128GB): $15-25
|
||||
- Or NVMe enclosure ($10) + budget NVMe drive ($20-30)
|
||||
| USB 3.0 SATA enclosure | ~400 MB/s | $10-15 | Reuse 2.5" drives |
|
||||
| USB 3.0 NVMe enclosure | ~400 MB/s | $8-15 | Compact |
|
||||
| USB flash drive (fast) | 200-400 MB/s | $15-25 | Kingston, Samsung BAR |
|
||||
|
||||
### Mount Strategy
|
||||
|
||||
```bash
|
||||
# /etc/fstab
|
||||
UUID=<ssd-uuid>/mnt/data ext4 defaults,noatime 0 2
|
||||
# /etc/fstab (optional USB storage)
|
||||
UUID=<ssd-uuid> /mnt/data ext4 defaults,noatime 0 2
|
||||
/mnt/data/projects /home/jez/projects none bind 0 0
|
||||
/mnt/data/media /home/jez/media none bind 0 0
|
||||
```
|
||||
|
||||
Mount on-demand or at boot, depending on use case.
|
||||
|
||||
---
|
||||
|
||||
## Storage Layout
|
||||
|
||||
```
|
||||
┌─────────────────────────────────────┐
|
||||
│ MicroSD Card (/dev/mmcblk0) │
|
||||
│ SanDisk Endurance 64GB │
|
||||
│ ├── /boot (fat32, 200MB) │
|
||||
│ ├── / (ext4, 25GB) │
|
||||
│ └── /home (ext4, 38GB) │
|
||||
│ Basic config, small files │
|
||||
│ eMMC (/dev/mmcblk1) │
|
||||
│ 256GB onboard │
|
||||
│ ├── /boot (fat32, 500MB) │
|
||||
│ ├── / (ext4, ~80GB) │
|
||||
│ └── /home (ext4, ~175GB) │
|
||||
│ OS + apps + projects + media │
|
||||
└─────────────────────────────────────┘
|
||||
|
||||
┌─────────────────────────────────────┐
|
||||
│ USB SSD (/dev/sda) │
|
||||
│ SATA or NVMe in USB 3.0 enclosure │
|
||||
│ MicroSD (/dev/mmcblk0) │
|
||||
│ Optional expansion │
|
||||
│ ├── OS images / boot tests │
|
||||
│ └── Media library / backups │
|
||||
└─────────────────────────────────────┘
|
||||
|
||||
┌─────────────────────────────────────┐
|
||||
│ USB SSD (/dev/sda) │
|
||||
│ Optional — only if eMMC fills up │
|
||||
│ ├── /mnt/data/projects │
|
||||
│ ├── /mnt/data/media │
|
||||
│ └── /mnt/data/backup │
|
||||
│ Mounted on-demand │
|
||||
└─────────────────────────────────────┘
|
||||
```
|
||||
|
||||
|
|
@ -130,18 +135,16 @@ Mount on-demand or at boot, depending on use case.
|
|||
|
||||
## Backup Strategy
|
||||
|
||||
### SD Card Imaging
|
||||
### eMMC Imaging
|
||||
|
||||
```bash
|
||||
# Backup
|
||||
sudo dd if=/dev/mmcblk0 of=cyberdeck-sd-backup.img bs=4M status=progress
|
||||
# Backup entire eMMC to USB drive
|
||||
sudo dd if=/dev/mmcblk1 of=/mnt/data/cyberdeck-emmc-backup.img bs=4M status=progress
|
||||
|
||||
# Restore
|
||||
sudo dd if=cyberdeck-sd-backup.img of=/dev/mmcblk0 bs=4M status=progress
|
||||
sudo dd if=/mnt/data/cyberdeck-emmc-backup.img of=/dev/mmcblk1 bs=4M status=progress
|
||||
```
|
||||
|
||||
Or use **Pi Imager** / **BalenaEtcher** for GUI imaging.
|
||||
|
||||
### Data Backup
|
||||
|
||||
- Timeshift for system snapshots
|
||||
|
|
@ -152,31 +155,22 @@ Or use **Pi Imager** / **BalenaEtcher** for GUI imaging.
|
|||
|
||||
## Performance Expectations
|
||||
|
||||
| Operation | SD Card | USB SSD |
|
||||
|-----------|---------|---------|
|
||||
| Boot time | 8-12s | 5-8s (root-on-USB) |
|
||||
| App launch | 1-3s | 0.5-1s |
|
||||
| File read (1GB) | 40-90s | 3-5s |
|
||||
| File write (1GB) | 60-120s | 3-5s |
|
||||
| Random I/O | Slow | Fast |
|
||||
| Operation | eMMC | MicroSD | USB SSD |
|
||||
|-----------|------|---------|---------|
|
||||
| Boot time | ~5-8s | ~10-15s | ~5-8s |
|
||||
| App launch | 0.5-1s | 1-3s | 0.5-1s |
|
||||
| File read (1GB) | ~3-4s | ~40-90s | ~3-5s |
|
||||
| Reliability | Excellent | Poor (wear) | Good |
|
||||
|
||||
**SD card is fine forOS and light use. USB SSD for anything I/O intensive.**
|
||||
eMMC is the clear winner for boot and everyday use. SD card and USB storage are optional extras.
|
||||
|
||||
---
|
||||
|
||||
## Cost Summary
|
||||
|
||||
| Item | Low | High |
|
||||
|------|-----|------|
|
||||
| MicroSD 64GB Endurance | $10 | $15 |
|
||||
| USB 3.0 SATA enclosure | $10 | $15 |
|
||||
| (Assume spare SSD) | $0 | $0 |
|
||||
| **Total** | **$20** | **$30** |
|
||||
|
||||
If no spare SSD:
|
||||
|
||||
| Item | Low | High |
|
||||
|------|-----|------|
|
||||
| MicroSD 64GB Endurance | $10 | $15 |
|
||||
| USB 3.0 flash drive 128GB | $15 | $25 |
|
||||
| **Total** | **$25** | **$40** |
|
||||
| Item | Low | High | Status |
|
||||
|------|-----|------|--------|
|
||||
| 256GB eMMC | $0 | $0 | **Included with SBC** |
|
||||
| MicroSD (optional) | $0 | $15 | Only if needed |
|
||||
| USB enclosure (optional) | $0 | $15 | Only if eMMC fills up |
|
||||
| **Total** | **$0** | **$30** | |
|
||||
Loading…
Add table
Add a link
Reference in a new issue