Git Product home page Git Product logo

piserver's Introduction

piserver

Raspberry Pi Server wizard to serve Raspbian to network booting Pis

How to rebuild piserver

Get dependencies

On Raspbian install the build dependencies:

sudo apt-get install build-essential devscripts debhelper cmake libldap2-dev libgtkmm-3.0-dev libarchive-dev libcurl4-openssl-dev libcap-dev intltool git

If not using a Pi (or other armhf device), you also need the following runtime dependencies:

sudo apt-get install binfmt-support qemu-user-static

Get the source

git clone --depth 1 https://github.com/raspberrypi/piserver.git

Build the Debian package

cd piserver
debuild -uc -us

debuild will compile everything, create a .deb package and put it in the parent directory. Can install it with dpkg:

cd ..
sudo dpkg -i piserver*.deb

Extra dependencies if NOT running Raspbian or "Debian Stretch with Raspberry Pi desktop"

dnsmasq

Piserver requires dnsmasq version 2.77 or later. If your Linux distribution comes with an older version, compile the latest version from source:

sudo apt-get install libnetfilter-conntrack-dev libidn11-dev libgmp-dev nettle-dev liblua5.2-dev
git clone --depth 1 http://thekelleys.org.uk/git/dnsmasq.git
cd dnsmasq
debuild -uc -us
cd ..
sudo dpkg -i dnsmasq-base_*.deb dnsmasq_*.deb

If you are running Raspbian this is not necessary. Although it is using an older dnsmasq version as well, it has been patched to include the newer features used (--dhcp-reply-delay and tftp-unique-root=mac options).

IP update hook

It is expected that the computer that is running piserver:

  • is configured to use a static IP-address that never changes.
  • -OR- uses dhcpcd as network manager. In which case it will notify piserver automatically if your server's IP ever changes.
  • -OR- that you configure your network manager program (e.g. using a ifup/networkd-dispatcher hook script) to execute "piserver --update-ip" every time the system obtains a new IP lease.

piserver's People

Contributors

ghollingworth avatar jonwitts avatar maxnet avatar qlyoung avatar rexypoo avatar spl237 avatar xecdesign avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

piserver's Issues

Option to add users to sudoers file.

When a user logs in he/she is not listed in the sudoers file.
Please provide an option to add them, or make them member of a group that is allowed to use sudo

gksu has no installation candiate Ubuntu 18.04

> sudo apt install gksu
Reading package lists... Done
Building dependency tree       
Reading state information... Done
Package gksu is not available, but is referred to by another package.
This may mean that the package is missing, has been obsoleted, or
is only available from another source

E: Package 'gksu' has no installation candidate

Maybe this dependency can be released, it seems not being around in any default debian/ubuntu repository... (18.04)

See also: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=867236

New user accounts must be filled...

If you've got a system running with a couple of Pi's and subsequently run PiServer to add a new Pi you don't get the option to skip creating new users.

pi4j not run: "UnsatisfiedLinkError: /tmp/libpi4j.so"

I developed a student program using Pi4j and Java, but it can't run on piSever, and I get an error message:
"UnsatisfiedLinkError: /tmp/libpi4j2288920775624554689.so: failed to map segment from shared object"

I found the reason for the error after searching, because /tmp mounts options containing 'noexec', I deleted it and the program works fine.
For what reason added this 'noexec'? Can it be removed if it is not necessary?

Using tcp instead of udp

How would one configure the nfs in piserver to use tcp instead of udp? This is in the case where the network can become a little unreliable. Thanks.

Mounting /var/log via nfs mount to piserver

I am trying to save the log files as I want to track down instances when the remotely booted pi's become intermittently unresponsive. I thought I could export an nfs export directory on the piserver and then mount the /var/log to this nfs directory. But not having any luck getting it to boot properly. This is what I did:

On piserver machine:

  1. Create directory: cd /; sudo mkdir /rpilogs; sudo chmod go+rwx /rpilogs.
  2. Edit /etc/exports to add the following line: /rpilogs 192.168.1.201(rw,sync,no_subtree_check) where 192.168.1.201 is the IP address of the pi.
  3. Restart nfs exports with: sudo exportfs -ra
  4. I verified that this is exported.

On the pi chroot:

  1. Edit the /etc/fstab to add the following line: piserver:/rpilogs /var/log nfs defaults,nolock 0 0
  2. Earlier I had the logs as tmpfs, I commented out this line. tmpfs /var/log tmpfs defaults,mode=755,size=100m 0 0

But this does not seem to boot the pi properly. The pi is network port is up (can ping) but does not let me ssh into it. This pi is in a remote location with no monitor, keyboard access. I am able to power cycle the pi remotely and can get it back up and running once I remove the offending line in the fstab above. I have tried various options, mode etc but no luck.

Any suggestions on how to keep the logs. Thanks.

PS: I can confirm that regular nfs works. I have been able to mount directories as rw from the command line. For example, mkdir /mnt/rpilogs ; mount -o rw -t nfs piserver:/rpilogs /mnt/rpilogs

installing an up-to-date version of the Arduino IDE

Hi - we are now using PiServer 'in anger' for a School Digital Making Club and have recently started to introduce microcontrollers by using the Pi to program the BBC micro:bit which was easily done by installing mu through the shell of the 'served' Raspbian instance.

But I'm having a bit of difficulty with Arduino, because although its easy to use the standard 'apt-get install' process for the IDE, this installs a very ancient version. Arduino provide downloads of the latest versions (currently 1.8.5) at https://www.arduino.cc/en/Main/Software. Installing the Linux ARM version on a Raspberry Pi with an SD card is very straightforward - you just uncompress the downloaded .tar.xz file and then run the provided install.sh from wherever you did the download/extract. It does give a couple of small install errors about mime files - but it still runs very successfully.

I've tried to mimic this for the PiServer by moving the uncompressed IDE folder to the /tmp folder within the 'served' OS at /var/lib/piserver/os/oursoftwarename/ and then running the install.sh through the served OS shell - and it all goes OK (although it shows the same mime folder errors). But when a client is booted, whilst the Arduino IDE shows up on the Programming menu something is not right as it does not run - and shows an error about the desktop file not being right.

Looking at the installer it seems to set up everything for the 'current' user - which I guess is 'pi' when the install is done on the PiServer machine - but pi obviously doesn't exist in the client environment - so this might be the cause of the problem?

Do you have any advice/suggestions about how to do this type of install more successfully? My knowledge of this stuff is pretty sketchy (sorry couldn't resist a pun). I've attached a .zip of the installer in case this helps.

Also I assume I'm right that the install should use the LinuxARM version - even though the PiServer runs on a x86 machine - because the served code will need to run on the Raspberry Pi.

Thanks

Geoff

arduinoIDEinstaller.zip

Assign static IP

I have setup piserver to be a standalone dhcp server. How can I set the IPs it assigns to be static based on Mac address?

Thanks.

Bridge network adaptors

Hi there,

I am interested in bridging the network adaptors of my PiServer so that my Raspberry Pis can use the internet connection of the WiFi on my PiServer. Is this a configuration that could work with PiServer?

Thanks,
Jon

Add option to name operating system during install

Hi, Would it be possible to add the above to the GUI?

I have accomplished this by renaming the os dir and adjusting the linking in the .json files post install at it works, but it would be nice to be able to do it during the installation process.

Use-case, I want different customised versions of Rasbian for different users / pis, but if you already have one installed called 'Rasbian' the GUI does not let you install another as the name will be the same.

Custom /root and /boot

I want to create a custom install based off the Raspbian Lite along with some additional programs, applications, as well as making some read/write directories. After making changes using the chroot, can I make a custom /root and /boot and install via .tar.xz using piserver? Then I could use these to install on various clients. Can I just go to chroot and do?

cd /
tar -cvpfJ /tmp/root.tar.xz --exclude='./boot'  --exclude='/tmp' .
tar -cvpfJ /tmp/boot.tar.xz boot

Thanks.

Add easy afterboot step

Hello,
Just an idea: add some "afterboot step" like open a web page or play a video file. It'll simplify creation of videowall or information kiosk.

LICENSE

Hi,

Are you planning to add any LICENSE for this project? It would make things more clear.

Currently this can be installed with apt from stretch/main repo, but the included copyright just states

Files: *
Copyright: 2017 Raspberry Pi
License: TBD

Thank you.

client login now provides a drop down list of userIds

Hi - we have been very successfully using piserver for a School-based club for more than 12 months now and I routinely update the piserver machine as well as the 'served' Raspbian version. In the last few weeks however the client login screen has started to provide a drop down list of all the currently available userIds instead of the user having to type in their individual userId.

I don't think this is something I have somehow inadvertently done but revealing all the userIds seems somewhat insecure so could this be simply modified by a config somewhere or would it need a code update?

Thanks

Geoff

piserver tftpboot across subnets

Is it possible for the piserver to work across different subnets? For example, the piserver computer would be at 192.168.1.10 while the clients would be 192.168.2.11-20 and 192.168.3.11-20.

Can't access via SSH after PXE boot

I have 16 Pis boot from x86 piserver,
after the booting process I want to ssh to the 16 Pis
but it shows up "connection reset by client"

2018-08-25 9 08 53

PS. already sudo raspi-config to enable ssh

Changed piserver ip address client kernel panic

Dear sirs,

I've installed piserver on a debian 9, everything works fine except if I change piserver ip address: clients would go in kernel panic at boot:

(mount_block_root) from [<80b017e8>]
(mount_root) from [<80b01990>] (prepare_namespace)
....
[end kernel panic -not syncing: VFS: unable to mount root fs on unknown-block(2,)]

If I set the old ip address of the piserver all client cleanly start without errors.
I've only edited /etc/network/interfaces.d/enp0s3.conf , rebooted, piserver show the correct ip, but fails.
What's missing?

Thanks, BR

Strict sequence on initial use

Hi,
I really like piserver and think that the choice of tools is very good. The only issue I have is that I want to start setting up the user base and software first and than move the server to a place where all the Pis are available. But that doesn't work. For schools the possibility to have different user groups in LDAP would be as well a quite nice thing.
Anyhow, excellent decision to provide piserver to community!
Thanks a lot,
Luis

Docker Image

Is it possible to run PiServer in a Docker image instance?

Improved user management request

Hi - as our use of PiServer in both the local School and at ad hoc local workshops has steadily increased the 'population' of users has expanded. But the users are not a consistent/stable population so it would be useful to have a couple of additional data fields that are attributed to each user so that we can keep better track of the user population and then perhaps off-load/archive data as users 'disappear'.

The things that seem most useful to us at present, that would ideally be shown on the user admin screen are:

  • a timestamp for their last login
  • a simple text field where we could add add some info about the user

Then could something be added to easily off-load/archive an individual user - with the option to bring them back if needed?

Does this all seem like a useful and reasonably easy to implement new set of features for the system?

Thanks

PiServer Setting up a centralized Kiosk Server - Multiple Pis each with different URLs

Here is my issue.

We run a company where we will have multiple Pis out in the field (possibly up to 200)

I would like to design the Pis so they launch basically in Kiosk mode.

This means that each Pi, upon boot, would go to their respective URL.

I want these Pis to be centrally managed because if the URL changes or the OS needs updating or even fixing I can do these from a single location. Since these Pis would be out in a nationwide environment, I would like to prevent 200 of them from shipping back to me so remote access seems the best choice.

Can I do something like this with PiServer in its current implementation?

-Auto login

-Centrally updated if needed

-Separate URLs per Pi

If this requires a separate OS per Pi, this is OK since space is not an issue.

Allow more flexibilty for the location of the user file space and the shared directory

Would it be possible for individual paths to be defined in the GUI for the user file space and the shared directory that is now possible (and works really well!).
I am now working up a PiServer system to use at a school club and am think of getting a reasonably fast laptop with a SSD drive. But a SSD drive may not eventually be big enough to serve the OS images as well as all the shared and user content, so I was going to attach a USB3 drive to the laptop which I'd hoped could be used for the user/shared content storage - but there doesn't seem to be a way at present to change the paths.
I'm a bit of a newbie when it comes to system detail so I couldn't even think of a workaround.

creating custom os

Hello, I'm looking for guidance on creating custom versions of raspbian with piserver. I want to PXE boot my pi's fully configured, one as a pihole, one for FlightRadar24, etc. I'm a linux noob and struggle with CLI work and basic linux directory structures.

So far my understanding of the process is that I need to configure a pi how I want it, and then run one of the scripts in the/var/lib/piserver/scripts directory and point it at my boot and root.tar files and then specify an output image to be copied to and added to the piserver

Is that accurate? and if so, could someone please point me towards the correct script(I'm assuming convert.sh but am not 100%) and the locations of the boot and root.tar files? Thank you for this awesome project, it's something I've been looking to do for a long time and was very excited when I found it.

Add users / passwords from CSV file

Teachers use excel for this kind of stuff, it would be useful if we could open and read passwords from an xls or csv file

Need to think about what happens if you've got a repeated user (or a user that already exists)

Also if you've got a different password to the one that already exists...

Persistence for /home/pi

I've enabled autologin for user pi, but I'm unable to change chromium preferences and customize toolbar.

Where are coming from the home folder files that are loaded as tmpfs from fstab line:
tmpfs /home/pi tmpfs defaults 0 0

If I edit files stored in server /var/lib/piserver/os/Raspbian-2018-07-05/home/pi/Desktop/chromium-browser.desktop there's no effect at client reboot.

Is fstab on the client related to /var/lib/piserver/scripts/convert_chrooted_cmds?

Could you please say me which file need to be edited to make temporarly writable the client desktop?
Thanks, BR

Error Installing Raspbian

Hello, I am getting this error when trying to install Raspbian from the repository:

Error executing 'certtool --generate-self-signed --load-privkey /etc/ldap/piserver.key --template=/etc/ldap/piserver.tpl --outfile=/etc/ssl/certs/piserver.pem'

Any fix?
Thanks

Raspbian "Lite", "Regular", "Full" ?

I see that a new "Rapbian" version is available : "Raspbian Full".
How is it comparing with the regular "Raspbian" and "Raspbian Lite" ?
Thanks and Best Wishes for 2019 !
-marc-

/etc/ld.so.preload ERROR messages

Hi - following some recent updates to our 'served' OS we have started to see the following ERROR message when a client first boots and it is also shown when the Thonny IDE is first started.

ERROR: ld.so: object '/usr/lib/arm-linux-gnueabihf/libarmmem.so' from /etc/ld.so.preload cannot be preloaded (cannot open shared object file): ignored

Obviously not fatal - but quite distracting, especially for students.

Some Googled posts suggest that it can be simply fixed by removing the line from /etc/ld.so.preload - but perhaps it is just a permission thing in the PiServer environment?

What is your advice/suggested fix

Thanks

geoff

theoretical maxima clients

I was wonder is there any limit to max clients that pi-server supported?

may be cause by NFS mount limit or max number of socket on Debian?

and how to increase the limited clients?

Problem with dnsmasq

Normally build on Debian 9 and Ubuntu 16.04, but after find and add some RaspberriPi
in console was written:

Job for dnsmasq.service failed because the control process exited with error code. See "systemctl status dnsmasq.service" and "journalctl -xe" for details.

Try

>PiServ$ systemctl status dnsmasq.service

● dnsmasq.service - dnsmasq - A lightweight DHCP and caching DNS server
   Loaded: loaded (/lib/systemd/system/dnsmasq.service; enabled; vendor preset: enabled)
  Drop-In: /run/systemd/generator/dnsmasq.service.d
           └─50-dnsmasq-$named.conf, 50-insserv.conf-$named.conf
   Active: failed (Result: exit-code) since Вт 2018-01-09 22:54:48 CET; 10min ago
  Process: 86916 ExecStop=/etc/init.d/dnsmasq systemd-stop-resolvconf (code=exited, status=0/SUCCESS)
  Process: 87018 ExecStart=/etc/init.d/dnsmasq systemd-exec (code=exited, status=1/FAILURE)
  Process: 87014 ExecStartPre=/usr/sbin/dnsmasq --test (code=exited, status=0/SUCCESS)
 Main PID: 85948 (code=exited, status=0/SUCCESS)

янв 09 22:54:48 UbntRaspi systemd[1]: Stopped dnsmasq - A lightweight DHCP and caching DNS server.
янв 09 22:54:48 UbntRaspi systemd[1]: Starting dnsmasq - A lightweight DHCP and caching DNS server...
янв 09 22:54:48 UbntRaspi dnsmasq[87014]: dnsmasq: syntax check OK.
янв 09 22:54:48 UbntRaspi dnsmasq[87018]: dnsmasq: extraneous parameter at line 7 of /etc/dnsmasq.d/piserver
янв 09 22:54:48 UbntRaspi systemd[1]: dnsmasq.service: Control process exited, code=exited status=1
янв 09 22:54:48 UbntRaspi systemd[1]: Failed to start dnsmasq - A lightweight DHCP and caching DNS server.
янв 09 22:54:48 UbntRaspi systemd[1]: dnsmasq.service: Unit entered failed state.
янв 09 22:54:48 UbntRaspi systemd[1]: dnsmasq.service: Failed with result 'exit-code'.

And try

>PiServ$ /etc/init.d/dnsmasq systemd-exec

dnsmasq: extraneous parameter at line 7 of /etc/dnsmasq.d/piserver

line 7 is "tftp-unique-root=mac"
seems that parameter "mac" not supported

Version dnsmasq in Ubuntu 16.04:

>PiServ$ dnsmasq -v
Версия dnsmasq 2.75  Copyright (c) 2000-2015 Simon Kelley
Compile time options: IPv6 GNU-getopt DBus i18n IDN DHCP DHCPv6 no-Lua TFTP conntrack ipset auth DNSSEC loop-detect inotify

Version dnsmasq in Debian 9:

>PiServ$ dnsmasq -v
Dnsmasq version 2.76  Copyright (c) 2000-2016 Simon Kelley
Compile time options: IPv6 GNU-getopt DBus i18n IDN DHCP DHCPv6 no-Lua TFTP conntrack ipset auth DNSSEC loop-detect inotify

ssh into the clients without password

Is there any reason why password-less ssh using public key does not work on the net-booting pis? It offers the public key, but that does not seem to allow login. There are no errors reported. I did edit the sshd config files in the chroot to allow for PubKey Authentication.

User log on screen

Hi there,

We have been using PiServer in our school for the whole of this year for three year groups. The issue I have is that at every login users have to scroll through the list of all 150 users to find their own username. It would be far more user-friendly (in my opinion) for users to just have to type their username rather than have the drop-down list.

Is this possible?

Thanks,
Jon

Installing on Ubuntu

Hallo,

I've tried to build & install it on Ubuntu 16.04 LTS because I thought it'll work.
During the building and installation, I had several issues.

  1. missing dependencies: qemu-user-static gksu. I had to install them, fix it with sudo apt -f install and rebuild

  2. The last outputs after the building process was
    Finished running lintian. Now signing changes and any dsc files... signfile piserver_0.1.dsc gpg: » [e-mail address removed] « übersprungen: Geheimer Schlüssel ist nicht vorhanden gpg: /tmp/debsign.NXiSjT3j/piserver_0.1.dsc: clearsign failed: Geheimer Schlüssel ist nicht vorhanden debsign: gpg error occurred! Aborting.... debuild: fatal error at line 1295: running debsign failed

  3. after starting with sudo piserver a get the following but every seemed to work
    (piserver:29770): GLib-GObject-CRITICAL **: g_value_type_transformable: assertion 'G_TYPE_IS_VALUE (src_type)' failed (piserver:29770): Gtk-WARNING **: /build/gtk+3.0-2Ut_nl/gtk+3.0-3.18.9/./gtk/gtkliststore.c:836: Unable to convert from (null) to gchararray (piserver:29770): GLib-GObject-CRITICAL **: g_value_type_transformable: assertion 'G_TYPE_IS_VALUE (src_type)' failed (piserver:29770): Gtk-WARNING **: /build/gtk+3.0-2Ut_nl/gtk+3.0-3.18.9/./gtk/gtkliststore.c:836: Unable to convert from (null) to gchararray (piserver:29770): GLib-GObject-CRITICAL **: g_value_type_transformable: assertion 'G_TYPE_IS_VALUE (src_type)' failed (piserver:29770): Gtk-WARNING **: /build/gtk+3.0-2Ut_nl/gtk+3.0-3.18.9/./gtk/gtkliststore.c:836: Unable to convert from (null) to gchararray (piserver:29770): GLib-GObject-CRITICAL **: g_value_type_transformable: assertion 'G_TYPE_IS_VALUE (src_type)' failed (piserver:29770): Gtk-WARNING **: /build/gtk+3.0-2Ut_nl/gtk+3.0-3.18.9/./gtk/gtkliststore.c:836: Unable to convert from (null) to gchararray

  4. after I select a raspberry pi, user and image I clicked on Install and get the following and PiServer will be aborted:
    Signing certificate... SASL/EXTERNAL authentication started SASL username: gidNumber=0+uidNumber=0,cn=peercred,cn=external,cn=auth SASL SSF: 0 modifying entry "cn=config" Failed to start piserver_ssh.service: Unknown unit: piserver_ssh.service See system logs and 'systemctl status piserver_ssh.service' for details. Gtk-Message: GtkDialog mapped without a transient parent. This is discouraged.

Thank you very much for your support.

Download stalls

I use the latest Github-version. It compiles and runs fine and the download in the "Installation"-section starts. But the speed soon slows down to nothing. I tried many times, it downloads a few megs, then the downloaded counter stops, the speed decrease and hours left just getting higher.

Mount shared directory to all clients

It would be useful to be able to mount a directory from the PiServer to all clients that boot from it. I appreciate that this would be possible by altering the Raspbian image on the PiServer, but would a GUI to achieve this be useful for educators using the PiServer?

Thanks,
Jon

Pis refuse to boot

I'm able to set up the Pis but they refuse to boot. I looked at the logs on the server /var/log/syslog and they seem to get stuck right after the line which has something like vendor encap. The server definitely sees the pis but tftpboot fails. Can I turn on more debugging?

Support k8s Helm-Chart deployments

I'm considering to write an operator for pi-servers, as I have a use case where I want to deploy/take-down pi-servers at disparate remote location connected to a kubernetes cluster to serve all local PIs with centrally managed & standardized images.

However this exciting attempt would require to re implement the pi server as a set of docker-files.

I open this issue to give this idea a voice and have some additional feedback from the core maintainers on how to tackle this...

timeout/hanging initial connection problems with older RPi3s versus newer B+

Hi - we are experiencing some periodic problems with some client machines failing to connect to the server and just hanging. We are only booting 8 or 9 machines at present and these are not permanently set up but are instead set up for periodic 'club' sessions with an ad hoc network using some gigabit switches and individual ethernet cables.

In all cases the client machines that give a problem are older RPi3s and all the newer RPI3 B+ machines (which obviously have the faster ethernet speed) always boot up OK.

Not sure how it all actually works or what options there are for the TFTP PXE session but is there a timeout that could be adjusted or might there be some sort of race condition that could occur when multiple clients try to connect?

Ideally it would be good if the piserver could have some optional client connection diagnostics added e.g. an additional screen that tracks and displays the TFTP sessions that start/complete etc. At the moment everything is obviously just a black box.

Thanks

Geoff

CM3 Support?

just wondering if the compute module 3s will be detected and able to boot (even if i would have to use the same usb/eth controller as on the regular boards with the CM)

Extremely Slow

I am an educator using PiServer and am running a VM of PiDesktop on an iMac Pro with plenty of allocated resources to the VM. This is connected to a network switch that is rated for 1gbps for each port. Each of the 30 raspberry pis are connected to the switch, the iMac is connected to the switch, and the switch is connected to the internet. All with cat6 cable.

Everything is working great, but I can't help but notice that each raspberry pi runs significantly slower. I understand that booting will obviously take longer. I'm fine with that, but even browsing the internet is significantly slow.

I thought it might be the switch, but I connected 30 raspberry pis to the same switch running raspbian off an SD card and they were blazingly fast.

I need that speed, but I need the username control and locale file system so students can login on any raspberry pi.

Is there anyway I can optimize the speed? or other options to maintain username control?

Add Epoptes to the PiServer

Add Epoptes to the PiServer.
http://www.epoptes.org/

It works, but it might needs some tweaks. I did change static ip for the PiServer and added a line to the etc/hosts file.

root@raspberry:/# cat /etc/hosts
127.0.0.1	localhost
::1		localhost ip6-localhost ip6-loopback
ff02::1		ip6-allnodes
ff02::2		ip6-allrouters

127.0.1.1	raspberrypi
192.168.100.100 server
root@raspberry:/# epoptes-client -c
depth=0 C = AU, ST = Some-State, O = Internet Widgits Pty Ltd
verify error:num=18:self signed certificate
verify return:1
depth=0 C = AU, ST = Some-State, O = Internet Widgits Pty Ltd
verify return:1
DONE
Successfully fetched certificate from localhost:789

https://www.raspberrypi.org/forums/viewtopic.php?f=116&t=202184

Best Regards Asmo Koskinen.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.