forked from iiab/iiab
-
Notifications
You must be signed in to change notification settings - Fork 2
SD Card Duplication Explorations
georgejhunt edited this page Jun 20, 2018
·
5 revisions
- Dupping requires src and dest to be data, rather than being open as running filesystem.
- Curating -- dubbing (adding and subtracting content) is best done via IIAB, and Tim's admin console.
- Windows laptops are the norm (age range 2005-2018), and the target platform.
- Hard disk sizes in the 2005 time frame were 320GB (and may not have 128GB free today) -- therefore might require USB adapter for SD card (0)
- Skill sets preclude terminal interactive solutions (preferable -- menu driven similar to raspi-config).
- A solution we provide should run on any x86 machine (legacy and EFI loaders)
- We should verify that dest is large enough before attempt to copy.
- We should minify/truncate to a size that is just small enough to accommodate smallest SD automatically, (removes the expand step).
- Our dupping solution should use gettext to adapt the menus to proper language.
- If possible, the driving script should run on rpi headless, and with connected keyboard and monitor (but only if it does not add too much complexity).
- If possible, the minify function should permit downgrade to 64GB and 32GB SD cards.
- This dupping script/function should be part of the IIAB base.
- Adam says dupping == dubbing -- same thing
- Adam takes issue with #2, claiming that etcher.io GUI is similar to adding content -- though constitutes a separate/larger challenge with interactive-not-batch workflow/GUI questions.
- Adam thinks most hard disks on TLC's laptops will have 128GB free space -- laptops newer than 2005
- Adam suggests vnc from windows machine to a GUI on the rpi.
- Adam thinks that English is suficient for current customers
- Adam seems to really be pushing Etcher. I wonder what benefits he sees that I do not. Much of their code is written in javascript, and introduces a lot of complexity. In linux, some error checking, and a simple "dd" is all that we really need. And Etcher needs to be specially crafted for each base operating system, rather than a one size fits all (that tiny core provides)
- Tim thinks older (2005) machines may be 32bit -- suggests that our solution should be 32bit --requires less memory also.
- Tim asks whether script runs on rpi or windows. I was hoping that tiny core solution would run at either.
- Tim thinks the SD copy function belongs in iiab-factory
- Tim responds http://www.imgburn.com/ could also be a model -- my quick browse suggests that it is mostly aboout CD's and DVD's -- not much about SD's and MMC's.
- Tim wants device to device rather than device->image->new device. I agree
- Tim wants rpi to be a client drive. I think nfs does that, but when I google, what surfaces is Samba, which my experience says can become complicated in a hurry. see https://blogs.msdn.microsoft.com/saponsqlserver/2011/02/03/installation-configuration-of-windows-nfs-client-to-enable-windows-to-mount-a-unix-file-system/
- OS and software already installed
- User experience already in place, either with keyboard/monitor, or headless via ssh. Nothing new.
- GUI simulation (similar to raspi-config) available for both #1 and #2 above
- Requires fast USB stick for booting the OS (so that source is data -- not running OS).
- Requires SD card adapter
- Requires correct USB stick for running OS -- not all sticks work.
- Source SD card must be inserted into the motherboard after boot has begun, to force booting from the USB stick -- cumbersome.
- Technology Learning Coordinator (TLC) is likely to need some time (2-7 hours) to perform the copy, and is likely to need to take the rpi home. (potential to forget at least one of the pieces (Power supply, rpi, USB stick, source SD, destination SD, SD adapter).
- Then TLC needs to get all the pieces back the next day, and properly assembled, and tested.
- Can run on both MBR and UEFI loaders, 32Bit and 64Bit machines (one size fits all)
- Simple requirements -- Download an image, and burn it to a USB stick -- already done with rpi images.
- Takes advantage of almost universal SD card slot on most laptops.
- With the addition of SD to USB adapter, can accommodate device to device copying.
- Lets the TLC, with the new image stored on her laptop, become an agent in supplying updates to neighboring schools.
- Running on a laptop, the copy has a better chance of running to completion, if it has the energy stored in the laptop battery to take over when the power fails).
- A runaway untested script wiped out the Windows 10 on my test laptop.
- I've learned how to create mbr/uefi dual boot sticks.
- Need to automate the creation of sticks, because getting the right packages by hand is too error prone.
- Initial copy rate of dd'ing onto hard disk was disappointing -- only 6.6MB/sec.
- But rate in #4 was copying 512 byte sectors. Increasing the buffer space to 4096 yields a 20MB/sec rate (this may be close to the SD's max read speed -- class 10)
- Functions at the main menu:
- Copy SD card to hard disk, or another SD card
- Shrink hard disk image
- Copy a hard disk image to SD card
- Delete hard disk image
- Exit to terminal
- Hard disk image name includes user name, and a label field (also includes the git hash, date of copy)
- Out of memory symptoms, not yet diagnosed
- Main menu functions #2, #4, #4 not yet implemented.