Action Item #768


Add PiBox FileServer meta build

Added by Hammel almost 4 years ago. Updated over 2 years ago.

Target version:
Start date:
21 Jun 2020
Due date:
% Done:


Estimated time:
02 - High


This should just be a dev platform with nfs-utils enabled (kernel already has nfs enabled) along with, possibly, some utilities for managing nfs mounts. It should be considered a headless system with ssh access, probably using the Ironman network config tools.

Related issues

Related to PiBox - Feature #809: Add configuration and reboot options to piplayer launcherClosedHammel15 Feb 2021

Blocked by pinet - Feature #815: Add headless modeClosedHammel20 Feb 2021

Actions #1

Updated by Hammel almost 4 years ago

Actions #2

Updated by Hammel almost 4 years ago

  • Priority changed from High to Immediate
Actions #3

Updated by Hammel over 3 years ago

This will have the following features
  1. USB drive (should already be there)
  2. SATA drive (via hats of some kind) - should be mounted under /media/sata like USB drives via mdev.conf.
  3. SMB - should just work because USB drivers show up under /media/usb via mdev.conf.
  4. NFS - needs a default NFS export config that exports /media/usb as ro.
  5. A network configuration tool - pinet w/ imwww
References Enclosure

Ideally this should be done with Docker using PiDock.
But this may require building a custom Docker image as opposed to installing one from the official Docker hub.

Actions #4

Updated by Hammel over 3 years ago

  • Status changed from New to In Progress
  • % Done changed from 0 to 10
After thinking this over this should be just about already with the following additions to the PiBox core.
  1. SATA
    1. kernel drivers
    2. mdev.conf
  2. NFS configuration
    1. depends on where sata drives show up
    2. /media/usb should also be exported

This should also use dhcp on wired ethernet and use pinet w/imwww for wireless configuration. pinet will need to display the ether address for both wired and wireless.

Actions #5

Updated by Hammel about 3 years ago

How I want to approach this.

  1. Physical
    1. 128x128, 1.44inch LCD display HAT for Raspberry Pi
      1. See wiki for development details
      2. This support fbtft which means I could run a launcher and apps, just like all other metabuilds.
    2. LCD Hat enclosure should be integrated into the Pi NAS Case so I can have button pushes accessible. Likely have to build custom enclosure.
    3. Route power out the back too - make all connections on the backside, not all four sides, of the Pi.
    4. Only USB disks for first release (no SATA since LCD HAT covers all GPIO pins).
    5. LCD buttons
      1. Button 1: SSH enable/disable
      2. Button 2: Reboot (must be pressed twice within a 2 second time frame)
      3. Button 3: PiNet AP config
      4. Joystick: Cycle through config app data
        1. left-right: move through apps
        2. Up-down: move between apps and config line for launcher
        3. button press: select active item
  2. Apps
    1. piboxd
    2. pinet
    3. imwww
    4. config app (new)
  3. PiNet in headless mode (see RM #815) - dhcp on eth0 plus AP mode on wifi, if supported.
  4. Config App is default UI (no X)
    1. disk storage use, one per page, using LCD joystick to page through disks.
    2. NFS export config
    3. SMB config
    4. SSH status (enabled/not enabled) - this can be changed by pressing one of the buttons on the display.
  5. Export all drives via SMB, NFS as read-only
    1. Pushing data to drives requires ssh, which must be manually configured.
Actions #6

Updated by Hammel over 2 years ago

  • Related to Feature #809: Add configuration and reboot options to piplayer launcher added
Actions #7

Updated by Hammel over 2 years ago

This has changed a bit. I now have a TFT display integrated into PiSentry. I don't need all that hardware, especially now that there is an external project (also named PiBox) that can be an external array via SMB. A variation on the PiSentry build can be used for PiFile (this is the new name of the system, the name of file system management app is PiStore).

So now I just need the apps I'll run on it.

From pisentry's build:
  • appmgr
  • launcher
  • lcdshow
  • piboxd
  • piboxmediaserverui
  • pinet
  • psplash
  • raspi2fb

New for PiFile

  • pistore
Launcher needs some updates (see RM #809).
  • Status bar with
    • Eth0 mac / IP
    • WiFi mac / IP
    • Date/Time
    • Reboot button
  • terminal enabled
  • reboot enabled (but in status bar)
  • netconfig disabled
Actions #8

Updated by Hammel over 2 years ago

  • Status changed from In Progress to Closed
  • % Done changed from 10 to 100

This is much simpler than planned, but that's fine. The pistore app (RM #841) handles file management. The pistore system meta build is complete and tested on hardware.

Closing issue.


Also available in: Atom PDF