I know this is an old post, but I am a new brain, or fairly new. I am a biologist (marine biologist, officially, but evolution biologist in heart, and head), And, while studying for an undergrad degree at the University of Rhode Island (conferred, August 2002), I encountered the book "Darwin's Dangerous Idea". It was a time of intellectual ferment (and foment) and, long story short, after my four year degree I spent the next five years on basic electrical and optical engineering, and computer science, assembly language (minimal x86, but much 6502). Then ten more years trying to match the basic physics and history of computer science, to the "actual market", of expectations, and real goods. Long story short, I find Linux in 2016 (Congratulations "automatic-update-Windiows-10", your crap-@$$ business tactics, and frozen-slow-bulky-OS just lost you one of your smarter customers), the FOSS movement, and the-not-quite-pure-as-the-driven-snow, Raspberry pi (zero). It IS the right price, for the processing power I want and need, and for its ability to ask and answer my questions about the nature of Natural Intelligence, and Artificial Intelligence (Strong AI).
So, why post a long-ish monologue/diatribe here? Seemed like an interesting thing to do? But not completely off-topic, as I am intensely interested in R-pi cluster computers (and, as floundering and hopeless as I am in the field of computer science, I ALWAYS NEED HELP!). So, after dancing around the idea of "ethernet gadget" for about 6 mos. to 1 yr., I think I might NOT do that. As I understand it, ether-gadg. involves powering the "slave/device/client" pis, through its "data+power" micro-USB port, and leaving the power micro-USB port empty. For my purposes, this seems inadequate, as the "master/host/server" pi then must push about 150 mA to each of the "slave-device-client" pis. I have 5 or 6 such pi zeros, already, and this could add up, especially if I want to do something with them other than boot them and let them sit idle.
I have a wall power supply (12-ish USB power-only ports, of varying amperages; 1.0A to 3.5A; will too many amps be bad? probably not? The pi will draw what it wants/needs, right? Basic EE; Ohms Law!?), though ""wall tethered", should be adequate for now. So, assume I acquire about 5 more pi zeros, boot them all with a single SD card (piCore, at 50 MB, "bare metal"), powered and wired with the flotsam and jetsam of the "wireless society" (curious the wireless revolution should product such prodigious VOLUMES of e-junk wires, i.e. "USB chargers"; the salvation army/goodwill stores are buried in USB wires! And none of them properly marked, as to "data" or "data+power"!), and all with their "data-USB" hooked to a 10-USB-port "strip-hub". One pi to rule them all... right? ... And in their pi-ness bind them? Or free them (from slavish weak-AI, to freedom of Strong-AI?! Are not my cells and tissues slaves to physics and chemistry, yet my mind ... marginally, nominally "free"?). The master-pi, also hooks to the 10-USB-port "strip hub", and he/she/it is "The Boss" (sorry Bruce, the 80's were great, and we were "Born to Run", but there's a new Boss in Town!).
I get ahead of myself. True Strong-AI must have "smellivison" (and associated "taste-o-vision") first, and I see no IC chips of that sort, yet (though perhaps, some kind of multi-sensor, SAW sensors, SAW-array sensor? I posit it, and hypothesize it, but the task is/would-be monumental! How many unique chemicals must we design such an array for? And is the "sensation process" consumptive of the sensation medium?) Unfortunately, much of that SAW-chemical research is military, and only sniffs weapons, exposives, war-chemicals, etc. Anyhoo, I've digressed.
Back to the subject at hand. Sd-cardless, cluster-pis! I will follow some more of what gavinmc42 has said, and trace some of his other trains of thought. I found my way to raspberry pi official github page, and dl-ed / cloned usbboot-master.zip ; and I got one pi zero booted (through CLI, through a single USB wire connected to the pi-zero "data+power" micro-USB, hooked to one of my kali linux laptop's USB-A ports) past the rainbow screen, to the black-screen-plus-top-left-corner-large-rapsberry-logo, but I can't find the website I read (about a year back) that explains "where" in the boot process that puts me? I would like CLI, if possible? Any suggestions? (I will post the Kali CLI output that results when I use this boot method, below, as this message is cluttered enough with "big ideas"; minutiae would bog it down irreparably!).
So, I guess, I am admitting to farting around (due to my general ignorance and incompetence) with the wrong process for about a year! Ethernet gadget is not what I want. I found the raspberry pi foundation official pages on "boot processes", yesterday (about two years too late!), and there are some in depth discussions of "USB Host Boot" and "USB Device Boot". These are still inchoate in my mind, but the language is more similar to the things I already know about USB (I read books, sometimes; had several Jan Axelson books on USB; but landlord/troglodytic-philistine "stole" them.). Whenever I read about "ethernet gadget" I was always perplexed by the complete lack of "Host" and "Device" terminology? As if programmers do not need to know what they are doing?
So, I also read, somewhere, that raspberry pis have trouble enumerating more than 8 devices? More than 8 "gadget" or "device' pis, for the one "master/Host" pi? Is this just the not-so-great advice of an inexperienced user? Or is the pi-zero limited as a USB master/host, in some way I am unaware of? USB standards do provide for a ridiculously large number of devices, I think?
Also, do note, the Kali-forced, USB-boot, only sent some of piCore 9.x.? ; the parts I deemed essential; the parts I placed in the boot folder. Perhaps, my first mistake? If I put the whole 50 MB in, maybe I'll get past the big-raspberry-screen? Maybe, for completions sake, the "minutiae post" below this "big idea" post, could include this information; i.e. which parts I put in the boot folder. I'll probably do that.
Also, looking forward, into the future, I have downloaded TC.tcz, separately, using the FetchExt.sh script designed by Rich (Moderator here at tinycore forum), so that I can run all piCore, for every pi zero. Right now, the one I intend to be "master" is running raspbian-buster, for ease of use, and desktop GUI. So, looking forward, can I have one tcz folder; one central location of extensions, from which, all pi zeros, either master or slave, will draw from, when booting, or when needed, and thus, save space? Can I have the "master" pi core dish out the extensions, when requested by the "slaves"? (Can I co-opt the shell script already written by Rich, for this purpose? I'll bet I can!)
One more aspect I have neglected to mention; for strong-AI, one must have a "human-like" body, to match and facilitate a "human-like" mind; thus, the rpi zeros will be distributed, across the 12 "nodal points", namely, the major musculo-skelatal joints of the anthropoid body (wrists, elbows, shoulders, hips, knees, ankles.).
In the future, with SSH (and one-time pads) I will be comfortable enough to buy 12 r-pi zero Ws, but at present, I am not master hacker enough to keep secure, and I want a PERFECTLY controlled experiment (or as close as possible). Using the zero-Ws would save on weight (wires), in the final robot. However, wireless might have some latency issues? Have to carefully balance these concerns, moving forward, and ultimately, it will be a question of bandwidth, A.I. or N.I., bandwidth. ("human bandwidth"),
Sight? Sound? Touch? These problems, largely solved, elsewhere, by a little thing we call "humanity", (or "science"; see the previous 100 to 500 years, for proof positive of this statement!).
So, to summarize the relevant questions, and chart a path forward (1) can a pi cluster master/host enumerate more than 8 devices?, (2) USB Host Boot, Device Boot, or SD card-picore remove and reinsert, method, (3) how to make one r-pi-zero a master/host, and the rest slave/devices, (4) Are IPs needed for local networking of pis through the USB? Static IPs, in particular?, (5)How to distribute the relevant/requisite .tcz files throughout the "robot frame", i.e. musculo-skeletal system (one pi-zero at each "nodal point", for "distributed computing"), (6) "where" is my usb-boot, when it is at the large-raspberry screen? How to go forward in this "cardless" boot process, to get to CLI, and eventually, a TC.tcz, GUI?. I guess that's everything? See post below, if I have any minutiae data to add to this essay/book.