Overview

HTTPS SSH

LIttle LinUx

This project aims to build, with the help of buildroot, a lightweight linux

  • Install to old thin clients (neoware, hp, ...)
  • Auto allow a SSH session through ethernet or wifi
  • Auto connect to a specific WIFI SSID if exists and ethernet died
  • Accept file transfer to a specific folder
  • Transfer file to Super Magic Drive with the help of the well known ucon64
  • Transfer file to Everdrive with the help of a custom tool
  • Relay USB serial data over the net (ser2net?)

Status

  • LiveCD
  • LiveUSB (CD mode)
  • Neoware CA21 support
  • VMWare support
  • SSH client
  • uCON64
  • built on BuildRoot 2018.02.x

TODO

  • Mount FlashDisk
  • Reduce Linux kernel to bare minimum (still some unneeded driver)
  • Use multi config to allow bare minimum per board
  • LiveUSB (Disk mode) to allow write

How to

  • Build LiLU

su
apt-get install git
apt-get install build-essential
apt-get install libncurses5-dev
apt-get install mtools
exit
git clone http://bitbucket.org/SpriteMind/lilu.git
git submodule sync
git submodule update --init --recursive
make -f Makefile.toolchain
make distclean
make

  • Use LiLU

Burn the lilu-cd.iso to a CD or dd lilu-disk.img to an USB thumbdrive
Insert the media on your remote
Adjust BIOS boot setting
Reboot
LiLU will startup and launch itself on memory
Pro : nothing is done to your remote disk
Con : everything is dropped at shutdown/reboot

  • Connect to remote LiLU

    ssh <user>@<lilu_hostname_or_ip>

First time, it will ask you if you want to continue connecting : type 'yes' and remote LiLU will be added to the trusted SSH servers list

If it asks for genny password : type 'genny'

  • Execute command on LiLU remote
    ssh <user>@<lilu_hostname_or_ip> <command>

  • Transfert ROM to remote LiLU

    scp <file> genny@<lilu_hostname_or_ip>:<destination_folder>

First time, it will ask you if you want to continue connecting : type 'yes' and remote LiLU will be added to the trusted SSH servers list

If it asks for genny password : type 'genny'

  • Upload ROM to SuperMagicDrive on LiLU remote
    scp <file> genny@<lilu_hostname_or_ip>:<destination_folder>
    ssh <user>@<lilu_hostname_or_ip> ucon64 --gen --smd --pad --chk --xsmd <destination_folder>/<file>

  • Add your host SSH to LiLU to avoid typing password every time

This is needed on every host and every time you reboot

if not already done, generate your RSA key
ssh-keygen

Copy your public key on LiLU remote
ssh-copy-id genny@<lilu_hostname_or_ip>

It will ask you for genny password : type 'genny'

  • SSH reset

@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@ WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED! @
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@

Everytime you build LiLU, its SSH keys are generated.
So, you'll need to reset them on you host PC :
ssh-keygen -f "/home/<user>/.ssh/known_hosts" -R <lilu_hostname_or_ip>

  • use it from a Windows host / from SGDK

If you use a Windows host, using SGDK from example, you'll need to install PuTTY.
PuTTY comes with a PSCP, to help transfert file to/from a SSH server.
To use it, simple type
PSCP -ssh -l genny -pw genny -batch <file> genny@<lilu_hostname_or_ip>:<destination_folder>

Note : see -i option and ssh key copy if you don't want to use password on command

  • update buildroot version

Change branch in submodule (through git or editing .gitmodules)
git submodule sync
git submodule update

Review options, be sure to validate Legacy option
make menuconfig

Rebuild with last buildroot and options uptodate
make distclean
make
make distclean
make