Raspi-Mobile

From Coolscript
Jump to navigation Jump to search
The printable version is no longer supported and may have rendering errors. Please update your browser bookmarks and please use the default browser print function instead.

Intro

Raspi-Mobile is designed to run as a Mobile Device together with your Tablet or Laptop, prepared for conditions such as in a Train, Flight, Hotel and so on.
The project has its focus to run as a Streaming Server next to common features like Wireless and Internet-Routing support.

Two interesting Raspberry/Linux issues are solved:

  • True automatic mounting of USB flush drives
    • Plugin any USB flush drives and mount the device automatically, supporting the filesystems ntfs, vfat and exfat
  • Graceful shutdown
    • This solves the issue of preventing disk damages in case of losing electricity power.
    • No need to login or connecting a keyboard and monitor to shutdown the device graceful, just plugin the shutdown usb device to initiate an instant and graceful shutdown

Features

  • Easy to setup just download one of the available image and write it to your memory card.
  • Supporting the Raspberry4. The project was developed on Raspian 10 and Raspian 11
  • Slim image file download, the image size is less than 2GB
  • Automatic mounting and un-mounting USB flash drives
    • Supported file systems: ntfs,ext32 and vfat
  • Graceful shutdown using a special prepared USB flash drive labeled with RASPI-CLEAN-SHUTDOWN
  • Wireless support, the device has a mangement web to customize WiFi settings like SID and password
  • Routing support together with ethernet connectivity, all interfaces are using DHCP
  • Support OpenVPN
  • Support of common protocols for streaming:
    • SMB/CIFS
    • WebDav
    • SFTP
    • HTTP

Easy Installation

  • Write the image to a Micro SD Card with the size of equal or better greater than 2GB, there is no limit, use any size of your Micro SD Card
    • To write the Image you may use tools like DiskImager
  • Insert the Micro SD Card to your Raspberry and start it
    • The disk will get automatically expanded to the maximum size during the first boot
      • Optional you may check the disk size by logging in via ssh and then run raspi-config, goto advanced and then expand filesystem, finish and reboot
  • Installation finished

Default Username and Password

  • Username pi
  • Password raspberry

Hostname and Aliases

Note: Hostname resolution is only available when connected through WiFi

  • Hostname raspberrypi
  • Aliases
    • raspi
    • raspberry
  • IP (alias to eth0, works even if eth0 is disconnected)
    • 192.168.5.1

SSH

ssh pi@raspi
ssh pi@192.168.5.1
  • Become root
sudo -i

Wireless default access

  • WiFi SID
    • Raspi-Mobile
  • WiFi Passwd
    • raspberry
  • RaspAP Web-Interface
http://raspi:8080 
http://192.168.5.1:8080

Change the password for the pi user

Connect using SSH

Change the Linux Password

Note: Changing the Linux password will cover sftp too

ssh pi@raspi
  • Type
pi@raspberrypi:~ $ sudo -i
root@raspberrypi:~# passwd pi
New password:
Retype new password:
passwd: password updated successfully

Change the SMB/CIFS Password

This might need a new windows login after the change

pi@raspberrypi:~ $ sudo -i
root@raspberrypi:~# smbpasswd pi
New SMB password:
Retype new SMB password:

Change the HTTP/WebDav Password

htpasswd /etc/apache2/.htpasswd pi

Add a new user

Add a new user to Linux

This example will add the user admin
Note: Changing the Linux password will cover sftp too

  • Login first
ssh pi@raspi
  • Type
root@raspberrypi:/# adduser admin
Adding user `admin' ...
Adding new group `admin' (1002) ...
Adding new user `admin' (1001) with group `admin' ...
Creating home directory `/home/admin' ...
Copying files from `/etc/skel' ...
New password:
Retype new password:
passwd: password updated successfully
Changing the user information for admin
Enter the new value, or press ENTER for the default
       Full Name []: Raspi Admin
       Room Number []:
       Work Phone []:
       Home Phone []:
       Other []:
Is the information correct? [Y/n] Y
  • Add the new user to the sudo group in order to allow the user to become root
usermod -a -G sudo admin

Add a new user to SMB/CIFS

pi@raspberrypi:~ $ sudo -i
root@raspberrypi:~# smbpasswd -a admin
New SMB password:
Retype new SMB password:
  • Add the new user to the samba group
usermod -a -G sambagrp admin

Add a new user to HTTP/WebDav

htpasswd /etc/apache2/.htpasswd admin
New password:
Re-type new password:
Adding password for user admin

Change the WiFi SID and Password

OR

  • SSH to the Raspberry, then edit /etc/hostapd/hostapd.conf

Unexpected Shutdown

The Raspberry should never get shutdown unexpected during a write operation (eg by pulling the power cable),
this may result in a data loss or filesystem damage.

The reason for this is the behavior of the SD card, see a very good explanation for this here

For security reasons the syslog facility has been turned off, this way there is less writing activity which protects the filesystem in case of a unexpected shutdown.
To enable syslog in case of debugging:

systemctl enable syslog.socket rsyslog.service 
systemctl start syslog.socket rsyslog.service

Graceful Shutdown

Raspi-Mobile has a preconfigured udev rule configured to allow a greaceful shutdown by conneting a special prepared USB flash drive,

  • The drive label RASPI-CLEAN-SHUTDOWN will instantly shut down the device.

  • Example of changing the drive label on Windows



  • Once connected then please give the device a few seconds to complete the shutdown

Known Problems

Problem:
In case of unplugging eth0 while wlan0 is active then it can happen that the SID is no more visible even after reboot
Solution:
Shut down the Raspi and start again without eth0, then shutdown again, plugin eth0 and start again.


Download

Links