Computers & Hardware > Other Technologies & Hardware

O/S installation + config of Raspberry Pi from bare metal, while bed-bound

(1/3) > >>

Weaver:
[apol in advance for such a long, and whinging post  ;D  ???  :no:]

Setting up a raspberry pi -disability

I have a new model of Raspberry Pi, but have not set it up yet, it's been sitting round for quite a few weeks. The reason is that when I read up on the setup procedure to install an OS, Linux xxx, BSD xxx, or Windows 10 IOT, I realised that I don't necessarily have all of the required hardware. But more importantly, I can't sit or stand for long periods, sometimes I can't use my hands because of pain and numbness and I am dizzy, often in pain and confused/foggy. Because of pain and confusion I am effectively confined to bed all the time, although I can physically make it unaided to the adjoining bathroom by reaching out and holding on to things.

I wonder if practically the best thing to do is

1. buy a raspberry pi from somewhere (where?) that (a) comes with an o/s pre installed on a large SD card or whatever. I don't know if this is possible. For this to be usable, it would have to also (b) be preconfigured to allow remote access over Ethernet. I don't know if that second requirement is a killer.

2. Try and find a setup procedure that allows os installation from nothing using remote control using some sort of hardware that interfaces peripherals to Bluetooth (less preferred) or to an Ethernet remote access protocol. The second option would be better. I have no idea if this is feasible and in any case, it might be too much practically for someone who is in pain and very fuzzy, too much cognitive load. A possible recipe for failure, frustration and disappointment, coupled with financial outlay for extra peripheral interface conversion kit.

3. Finding a good soul who would be willing to install an OS for me, for suitable payment for the work done. This person would have to be trustworthy, technically suitably capable to do the job well, and trusted not to install anything broken or malicious. This latter point is very important as blind trust might be a way of importing a malicious agent into my network.

Regarding point 3, I don't know if it is possible to check a eg Linux installation including its kernel for malicious content. It would be necessary to have a rootkit-capable low level, bare metal scanner that did not run under the OS in question, so that it had physical access to all disks’ contents, and could not be fooled by a lying, concealing rootkitted OS.

In all cases, a killer requirement is (4) to be able to administer and have admin shell access to an OS remotely over Ethernet ideally, and also (5) remote access has to be available using an iOS client, as I'm confined to using an iPad these days. All of my various PCs and laptops using MS Windows are no longer accessible, because I can't sit at a desk for long periods and my hands are no good - I'm writing a lot of my text on an iPad by using voice dictation and then using my hands sparingly to correct all the errors.

So options 1 to 3 are also conditional on extra requirements (4) and (5). So all told, it's quite a tall order. This is basically an awkward kind of bootstrapping problem: how do I get from nothing to a remote admin-capable system with access from an iPad client over Ethernet. (Or over Bluetooth? - far less desirable and probably unworkable because of the presumed lack of a suitable iOS app).

So any thoughts?

* Which o/s? * Would like advice.

a. Linux *: Good apps, well adapted to pi hardware presumably, mature. But which distro? Requirements 4 & 5. Many experts, friends, acquaintances for support.

b. BSD: Like the idea, possibly no apps. Less support as fewer experts available close by. No idea about Pi support.

c. Windows 10 IOT: A completely unknown quantity, no apps. A plus point is familiarity with WinNT architecture although this package may be so unlike traditional Windows, stripped down too much or different in so many ways that the term ‘Windows’ is just marketing/farketing fluff. No support. Probably a ‘no’ straight up.

So much as I like the idea of BSD, I think it has to be Linux. But again which distro ? No idea. Requirements (4) and (5) are the killer for distro choice. The system will be a server, to play with in various roles, and also used for running the GCC and GDC compilers to learn. Probably no GUI necessary, nor graphics, so X client not a requirement. I need plenty of storage on it, no mechanical hard disk, too unreliable.

Important: I definitely want to just wait and do nothing until an Aarch64 kernel is available for Raspberry Pi. I don't care about a delay. I believe current Pi Linuxes are 32-bit ARM code? The reason is that I want to do some ARM Aarch64 asm on the box, for self-education. There's no point in having to do a new o/s overwrite installation and lose a load of work when a 32-bit OS is upgraded to an Aarch64 kernel. I've used a version of GCC that builds for Aarch64 targets, but I think it was a cross-compiler hosted on Linux/AMD64. Would obviously need a native Aarch64 version of GCC, to run on the Pi itself. (Someone having of course originally built the first Aarch64 OS using a cross-compiler, to bootstrap the whole idea.)

Ideas for usage:

I might try to use it as a storage server, don't know what that might mean yet. Don't know for example if iOS clients can somehow be enabled to access SMB / Samba. Recent iOS releases can allow apps to access file systems through various other apps’ services (eg ‘Documents’ app by Readdle, Textastic text editor app) that expose file system services. However, the pathetic iOS doesn't seem to be extensible to add in remote file systems at a system-wide level. This may be a non-starter.

I certainly want to use it as a DHCP6 server if possible, to aid in system admin and config.

I don't know if it is possible to use it as a second DNS server - for naming hosts on the LAN only, not resolving Internet queries in general - because the Firebrick router that I use already provides relay DNS (and presumably caching), and can't have two servers fighting, so the DNS server thing is probably nonsensical / unrealistic.

(6) I can't have the LAN config fail or hosts unhappy because a pi isn't up, so that's also a general requirement.

I suspect that having the pi set up with a static IPv4 address would be simplest. It has to (7) support IPv6 more-or-less from day one, or help be available to get IPv6 configured. Is it possible to get help to set it up with two static, known addresses for each interface? That is, both a link-local (iirc, ff80:: is it?) and a global routable address (within my 2001:xxxx:xxxx::/64, at somewhere suitable for a server) per interface. (It's got Ethernet and Wifi NICs as I understand it, and USB is possibly usable, depending on software stack - tip from kindly person in earlier thread re hardware i/f for this.

Sorry it's such a long post. I'm really stuck and I've made the mistake of underestimating the physical and cognitive requirements of pulling myself up by my bootstraps with a pi, when I know absolutely zilch about *nix admin or she'll usage,

Apart from being an extremely experienced (10 yrs) C programmer which doesn't count at all as none of it was on *nix, all for various processor targets, and targets were various new o/s developments and bare metal, other targets: VAX/VMS, MS-DOS, Win16. Admin of WinNT, lots of. Always used VMS, DOS and WinNT as development platforms, never *nix unfortunately. Four years full-time in various different assemblers and nothing else. Also masses of shell scripting for wrong OS: WinNT cmd language tons of shell programming (ugly, but getting better), also VAX/VMS DCL shell scripting languages (quite nice). Tried PowerShell: fail, got completed lost, just too stupid and too many commands to look up all the time; would need two windows open, one for code, the other to look things up somehow all the time.

So hacking and protocols literate, zero *nix (always wrong OS, WinNT for 16 yrs) and zero UNIX shells experience, although I'm sure I can pick that up, I've done so much other foreign shell stuff. In my heart I'm an asm programmer, love modern C compilers as they are fantastically clever and take a lot of the work out of things. Am learning D (DLang) as fast as I can.

God, this is a long post, apol. It's grown and grown into a monster.  :-[

gt94sss2:
I am writing this post on the basis that I have previously got a Pi 3 up and running but would in no way describe myself as an expert :)

I don't think any of your 5 prerequisites are show stoppers in themselves

In no particular order:

1. For Command Line access on an iPad try either Command Pi or SimpleSSH. SSH is enabled by default in Raspbian in NOOBS version 1.3.10 (and above I presume)

2. I gather you already have an Raspberry Pi 3 - so you don't need to buy a new one. If you also already have an SD card, its possible to download and install either NOOBS or Raspbian on it (the official/best supported OS on the Pi).  If you don't than you can buy an SD Card that comes pre-installed with either NOOBS or Raspbian (second set of links go thepihut.com [other shops are available])

3. If the Pi is connected to a HDMI output, the OS should just install automatically on first boot. If its not connected to a HDMI output, the instructions I used for a headless set-up where from here and require some editing of the SD card files so it can do a slient install

I think your biggest issue will be finding a 64bit version of a Pi OS.. and that you might well have to settle for a 32bot one.

Weaver:
@gt94sss2 - many thanks for your help. Just to confirm my understanding, does even NOOBS speak SSH straight out of the box ?

gt94sss2:
I can't say - I had to do a headless install as I forgot to order a HDMI with the Pi!

This was fine as I could edit the SD card files using my laptop though I understand that might not be an option for you.

The Readme file for NOOBS is here but I can't see any reference to SSH being enabled by default there

To be safe, if you are thinking of doing it yourself and can't conenct it to a HMMI output during the install, I would just use Raspbian which is SSH enabled by default rather than NOOBS which looks like it may not be..

[Moderator edited to fix the broken link.]

Weaver:
Is it possible to purchase Raspbian bootable SD cards? A large SD card is obviously highly desirable as then there will be space for user files. As you say, purchasing a pre-installed o/s would be better as it avoids the problem of headless NOOBS operation.

Astonishing level of ignorance, I know.  :-[

Navigation

[0] Message Index

[#] Next page

Go to full version