My Pi 4 and a question

I learned of Raspberry Pi for the first time from John Walker a few weeks ago, with his announcement of the debut of Pi 4. As they are in great demand, it took nearly 2 weeks to get a hold of one with 4Gb RAM. I recall John advising to always get as much RAM as possible – I did so.

I needed a small monitor and researched them thoroughly. There are many, many choices. Since I am old and have tired eyes, I opted for a 20 inch screen. I bought a Sceptre with 1600 X 900 resolution. It isn’t IPS, but cost only $66. From the PiShop, I also got the wireless keyboard & mouse as well as Raspbian OS on a 32MG flash card. It started easily and runs flawlessly. My only addition was to tack a book light onto the keyboard in order to illuminate the keys, which have blue letters/numbers on black surface, i.e. very difficult to see without direct light. What do you want for $19.95?

In sum, I have a moderately powerful desktop for a total cost of $180. My main purpose in buying this is to learn more about how computers work – stuff like shells, kernels, BIOS, and more. I think that means I want to learn computer architecture and I also want to overcome my phobia of the command line in terminal mode. I apologize for the poor photo of my apparatus. Think of it as exemplary of my computer skills.

I have found many courses and/or books on the web. They are legion. I would much appreciate any advice as to what would be the best resource for a beginner like me.

9+

Users who have liked this post:

  • avatar
  • avatar
  • avatar
  • avatar
  • avatar
  • avatar
  • avatar
  • avatar
  • avatar

Author: civil westman

Driven to achieve outward and visible things, I became a pilot, a doctor and a lawyer. Eventually, I noticed the world had still not beat a path to my door with raves. Now, as a septuagenarian I still work anesthesia part-time, fly my flight simulator to keep my brain sparking and try to elude that nagging, intrusive reminder that my clock is running out. Before it does, I am trying, earnestly, to find a theory of everything - to have even a brief "God's-eye" view of it all before the "peace which passeth all understanding."

5 thoughts on “My Pi 4 and a question”

  1. Congratulations!  Here is the system narrative for my Pi3, which is now almost three years old.  Don’t be intimidated by this: I was doing some crazy things, such as moving from the Raspbian pre-installed on the NOOBS card to my own 128 Gb card for more storage capacity, then setting up the system to boot from a USB drive.  Few people will ever want to do the latter, and in fact the reason I expected to need this evaporated after I’d gone to the trouble to get it working.

    2016 November 24
    
    Installed.
    
    Booted as:
        Linux raspberrypi 4.1.19-v7+ #858 SMP Tue Mar 15 15:56:00 GMT 2016 armv7l GNU/Linux
    
    Ran:
        apt-get update
        apt-get upgrade
    This installed 236 MB of packages.
    
    After upgrade 2.1 G available of 6.0 on /dev/root.
    
    Rebooted.
    
    Some packages were held back on the upgrade, so:
        apt-get update
        apt-get dist-upgrade
    The first time the update failed with a bunch of screwball messages.
    Tried it a few minutes later and it was OK.
    The dist-upgrade installed 127 Mb of packages.
    
    Ran:
        apt-get autoremove
    as suggested after upgrade.
    
    We're now down to 2.0 Gb available.
    
    DHCP IP is 10.1.2.248.
    
    After reboot, warned that old config files are in:
        /home/pi/oldconffiles
    
    Now we're 10.1.2.118.
    
    Now running on:
         Linux raspberrypi 4.4.32-v7+ #924 SMP Tue Nov 15 18:11:28 GMT 2016 armv7l GNU/Linux
    
    In Raspberry Pi Configuration:
        Set time zone to Europe/Zurich.
    
        Set WiFi country code to CH.
    
    Rebooted.
    
    Disabled beep on keyboard error.
    
    Delay on network access after reboot is due to obtaining a new IP with
    DHCP every time.
    
    2016 November 25
    
    Permanent network configuration:
        IP          10.1.0.140/16  (ex-ovni)
        Mask        255.255.0.0
        Gateway     10.1.0.4
        DNS         208.67.222.222, 208.67.220.220
        Search      lan.fourmilab.ch,dmz.fourmilab.ch,fourmilab.ch
    
    Note that you have to specify the netmask as part of the IP; otherwise
    it will default to /8 based on non-routing address group.
    
    If you need to manually edit network config, it's in /etc/dhcpcd.conf.
    
    Set keyboard layout to U.S.  It came set to GB.
    
    Installed:
        apt-get install obconf
    to allow window system configuration.
    
    Used obconf to set
        Mouse/Focus windows when the mouse pointer moves over them
    
    Obconf can now be run from the main Preferences menu: Openbox.
    
    2016 November 29
    
    Copied the running SD card to my home directory on Hayek with:
        sudo su
        dd if=/dev/mmcblk0 bs=1M | ssh kelvin@hayek "cat >/home/kelvin/booboo.bin"
    
    Shut down Pi, dismounted SD card.
    
    Copied image from card to hayek:~/linuxtools/raspbian_image_2016-11-29.bin:
        dd if=/dev/sde of=raspbian_image_2016-11-29.bin bs=1M
    
    Copied image to new Samsung 128 Gb card with inverse dd command.
    
    Ran fsck on /dev/sde5 and /dev/sde7 just to be sure.
    
    Here is the partitioning of the Samsung card after the image copy.
    
    Disk /dev/sde: 119.2 GiB, 128026935296 bytes, 250052608 sectors
    Units: sectors of 1 * 512 = 512 bytes
    Sector size (logical/physical): 512 bytes / 512 bytes
    I/O size (minimum/optimal): 512 bytes / 512 bytes
    Disklabel type: dos
    Disk identifier: 0x0004b2bb
    
    Device     Boot   Start      End  Sectors  Size Id Type
    /dev/sde1          8192  2289062  2280871  1.1G  e W95 FAT16 (LBA)
    /dev/sde2       2289063 15507455 13218393  6.3G  5 Extended
    /dev/sde5       2293760  2359293    65534   32M 83 Linux
    /dev/sde6       2359296  2488319   129024   63M  c W95 FAT32 (LBA)
    /dev/sde7       2490368 15507455 13017088  6.2G 83 Linux
    
    Modified the partition table as follows:
        gparted
    
            unit chs    # set to work in cylinder, head, sector (numbered from 0)
    
            print
    
            Model: Generic STORAGE DEVICE (scsi)
            Disk /dev/sde: 15565,14,0
            Sector size (logical/physical): 512B/512B
            BIOS cylinder,head,sector geometry: 15565,255,63.  Each cylinder is 8225kB.
            Partition Table: msdos
            Disk Flags:
    
            Number  Start       End         Type      File system  Flags
             1      0,130,2     142,124,20  primary   fat32        lba
             2      142,124,21  965,75,5    extended
             5      142,198,56  146,219,6   logical   ext4
             6      146,219,9   154,227,8   logical   fat16        lba
             7      155,4,41    965,75,5    logical   ext4
    
            resizepart 2 15564,254,62   # resize the extended container partition
    
            print
    
            Model: Generic STORAGE DEVICE (scsi)
            Disk /dev/sde: 15565,14,0
            Sector size (logical/physical): 512B/512B
            BIOS cylinder,head,sector geometry: 15565,255,63.  Each cylinder is 8225kB.
            Partition Table: msdos
            Disk Flags:
    
            Number  Start       End           Type      File system  Flags
             1      0,130,2     142,124,20    primary   fat32        lba
             2      142,124,21  15564,254,62  extended
             5      142,198,56  146,219,6     logical   ext4
             6      146,219,9   154,227,8     logical   fat16        lba
             7      155,4,41    965,75,5      logical   ext4
    
            resizepart 7 15564,254,62   # resize the /root partition
    
            print
    
            Model: Generic STORAGE DEVICE (scsi)
            Disk /dev/sde: 15565,14,0
            Sector size (logical/physical): 512B/512B
            BIOS cylinder,head,sector geometry: 15565,255,63.  Each cylinder is 8225kB.
            Partition Table: msdos
            Disk Flags:
    
            Number  Start       End           Type      File system  Flags
             1      0,130,2     142,124,20    primary   fat32        lba
             2      142,124,21  15564,254,62  extended
             5      142,198,56  146,219,6     logical   ext4
             6      146,219,9   154,227,8     logical   fat16        lba
             7      155,4,41    15564,254,62  logical   ext4
    
            quit
    
    Re-checked the resized root partition:
        fsck -f /dev/sde7
    
    Resize the root file system to use all free space in partition.
            resize2fs /dev/sde7
            resize2fs 1.42.13 (17-May-2015)
            Resizing the filesystem on /dev/sde7 to 30945169 (4k) blocks.
            The filesystem on /dev/sde7 is now 30945169 (4k) blocks long.
    
    Installed the 128 Gb SD in the Pi and booted.  After the boot:
        $ df -h
        Filesystem      Size  Used Avail Use% Mounted on
        /dev/root       117G  3.8G  107G   4% /
        devtmpfs        459M     0  459M   0% /dev
        tmpfs           463M     0  463M   0% /dev/shm
        tmpfs           463M  6.4M  457M   2% /run
        tmpfs           5.0M  4.0K  5.0M   1% /run/lock
        tmpfs           463M     0  463M   0% /sys/fs/cgroup
        /dev/mmcblk0p6   63M   21M   43M  33% /boot
        tmpfs            93M     0   93M   0% /run/user/1000
        /dev/mmcblk0p5   30M  398K   28M   2% /media/pi/SETTINGS
    
    Edited /etc/group and /etc/gshadow to change uucp:x:10 to wheel:x:10.
    
    Created my user account with:
        adduser --uid 3099 --ingroup wheel kelvin
    I specified the customary password.
    
    Installed my ~/.ssh file to permit password-less logins.
    
    Mathematica activation key is:
        REDACTED
    
    Built our magic "super" program in ~/linuxtools/super and installed
    in /bin.
    
    Added user kelvin to /etc/sudoers with all privileges.
    
    Installed:
        apt-get install gedit
    
    Built Bacula client in:
        /home/kelvin/linuxtools/bacula/bacula-5.2.10/bacula
    and installed in ~/bacula.
    
    Edited Bacula file daemon configuration in:
        /home/kelvin/bacula/etc/bacula-fd.conf
    
    Added IP address for pi to /etc/hosts.
    
    Changed hostname in /etc/hostname to "pi".  This may require a
    reboot to take effect.
    
    Added Pi to Bacula configuration on Pallas and ran a full backup.
    
    Installed /root/.ssh from Hayek to allow password-less root logins.
    
    Made bidirectional SSH introductions to Hayek and Pallas for root.
    
    Configured Perl for installation of modules from CPAN by
    logging in as "root":
        super
        su - root
        perl -MCPAN -e "shell"
        install Bundle::CPAN
        o conf commit
    
    Installed the LWP module with CPAN.
    
    Installed dump, which also installs restore.
    
    2016 November 30
    
    Applied all pending updates:
        apt-get update
        apt-get upgrade
        apt-get dist-upgrade
    
    Rebooted.
    
    We are now running on:
        Linux pi 4.4.34-v7+ #930 SMP Wed Nov 23 15:20:41 GMT 2016 armv7l GNU/Linux
    
    The reboot put the new hostname into effect.
    
    Manually running RunBaculaFD after reboot appears to work OK.  I will
    eventually put this in an initialisation file.
    
    2016 December 1
    
    The secret of getting Mathematica to run from a different user name
    than "pi" is to include the user in the following groups:
        super
        adduser kelvin users
        adduser kelvin audio
        adduser kelvin video
        adduser kelvin games
    and Mathematica now starts without requesting an activation code.
    I don't know if all of these groups are required.  This is according
    to:
        .https://www.raspberrypi.org/forums/viewtopic.php?t=99183&p=688411
    
    Downloaded latest Raspbian image into:
        /home/kelvin/linuxtools/RaspberryPi/2016-11-25-raspbian-jessie.zip
    from:
        .https://www.raspberrypi.org/downloads/raspbian/
    
    Extracted:
        -r--r--r-- 1 kelvin wheel 4.1G Nov 25 18:09 2016-11-25-raspbian-jessie.img
    
    Mounted a new SanDisk 8 Gb MicroSD card on Hayek as /dev/sde.  Unmounted
    the /dev/sde1 VFAT partition pre-formatted on the card.
        umount /dev/sde1
    
    Copied image to the card:
        dd if=2016-11-25-raspbian-jessie.img of=/dev/sde bs=1M
        4169+0 records in
        4169+0 records out
        4371513344 bytes (4.4 GB, 4.1 GiB) copied, 313.002 s, 14.0 MB/s
    
    After the copy the following file systems were mounted:
        /dev/sde1              63M   21M   43M  34% /media/kelvin/boot
        /dev/sde2             3.9G  3.5G  130M  97% /media/kelvin/7f593562-9f68-4bb9-a7c
    
    The partition table looks like:
        Disk /dev/sde: 7.4 GiB, 7948206080 bytes, 15523840 sectors
        Units: sectors of 1 * 512 = 512 bytes
        Sector size (logical/physical): 512 bytes / 512 bytes
        I/O size (minimum/optimal): 512 bytes / 512 bytes
        Disklabel type: dos
        Disk identifier: 0x623fdbf4
    
        Device     Boot  Start     End Sectors Size Id Type
        /dev/sde1         8192  137215  129024  63M  c W95 FAT32 (LBA)
        /dev/sde2       137216 8538111 8400896   4G 83 Linux
    
    We will use this card to program the Pi for USB mass storage boot
    according to:
        https://www.raspberrypi.org/documentation/hardware/raspberrypi/bootmodes/msd.md
    but first I want to make sure it boots and runs unmodified.
    
    2016 December 4
    
    Prepared a SanDisk Ultra 128 Gb USB drive to use as a boot drive for
    the Pi.  Mounted as /dev/sdc on Hayek, then unmounted the initial
    /dev/sdc1 VFAT file system.
    
    Using fdisk, deleted the original partition, then partitioned
    as:
    
    Disk /dev/sdc: 115.7 GiB, 124218507264 bytes, 242614272 sectors
    Units: sectors of 1 * 512 = 512 bytes
    Sector size (logical/physical): 512 bytes / 512 bytes
    I/O size (minimum/optimal): 512 bytes / 512 bytes
    Disklabel type: dos
    Disk identifier: 0x00000000
    
    Device     Boot  Start       End   Sectors   Size Id Type
    /dev/sdc1         2048    206847    204800   100M  c W95 FAT32 (LBA)
    /dev/sdc2       206848 242614271 242407424 115.6G 83 Linux
    
    Formatted file systems:
        mkfs.vfat -n BOOT -F 32 /dev/sdc1
        mkfs.ext4 /dev/sdc2
    
    2016 December 5
    
    Configure Pi to boot from USB following the instructions of:
        https://www.raspberrypi.org/documentation/hardware/raspberrypi/bootmodes/msd.md
    
    Shut down and installed the 8 Gb card I prepared on 2016-12-01 above
    containing the latest Raspbian release.  Booted that release.  Ran:
        apt-get update
        apt-get upgrade
        apt-get dist-upgrade
    and rebooted to be sure we're on the latest version of everything.
    
    Updated firmware and /boot:
        super
        rpi-update
    and rebooted.  Everything seems OK.
    
    Added the following line to the end of /boot/config.txt:
        program_usb_boot_mode=1
    
    Checked status of one-time-programmable (OTP) memory before
    reprogramming it for USB boot.
        vcgencmd otp_dump | grep 17:
        17:1020000a
    
    Rebooted.  After the reboot, checked OTP again:
        vcgencmd otp_dump | grep 17:
        17:3020000a
    This is as expected: the USB boot bit is now set.
    
    Removed the "program_usb_boot_mode=1" from config.txt.
    
    Shut down, removed the 8 Gb card, and re-installed my production
    128 Gb card.
    
    Rebooted.
    
    Mounted the USB drive I formatted on 2016-12-04 above into a vacant
    USB slot.  According to /var/log/syslog it was detected as /dev/sda
    and the filesystems mounted /dev/sda1 and /dev/sda2.  I unmounted these
    empty filesystems.
    
    Remounted the filesystems and re-mounted as follows:
        super
        sudo mkdir /mnt/target
        mount /dev/sda2 /mnt/target/
        mkdir /mnt/target/boot
        mount /dev/sda1 /mnt/target/boot/
        rsync -ax --progress / /boot /mnt/target
    Now everything from the production system's /boot and / are in the
    correct locations on the USB drive.
    
    Edited /mnt/target/boot/cmdline.txt to change root filesystem
    location to:
        root=/dev/sda2
    
    Edited /mnt/target/etc/fstab to point / and /boot to the USB filesystems:
        /dev/sda1       /boot           vfat    defaults          0       2
        /dev/sda2       /               ext4    defaults,noatime  0       1
    
    Shut down and powered off.  Removed the SD card.  Powered back up,
    and lo and behold, it booted from the USB drive.  Everything seems
    to be working normally.  The file systems report as:
        Filesystem      Size  Used Avail Use% Mounted on
        /dev/root       114G  4.4G  104G   5% /
        /dev/sda1        99M   21M   79M  21% /boot
    Note that in the process we have dispensed with the SETTINGS filesystem
    we inherited from the original NOOBS card.
    
    Prepared backup SD card as follows:
    
    Mounted existing production SD card on Hayek as /dev/sde6
    (/media/kelvin/boot) and /dev/sde7 (/media/kelvin/root).
    
    Copied files from this card to /home/kelvin/linuxtools/RaspberryPi/Fourmilab_SD_2016-12-05:
        super
        cd /media/kelvin/boot
        tar cfvj /home/kelvin/linuxtools/RaspberryPi/Fourmilab_SD_2016-12-05/boot.tar.bz2 .
        cd /medit/kelvin/root
        tar cfvj /home/kelvin/linuxtools/RaspberryPi/Fourmilab_SD_2016-12-05/root.tar.bz2 .
    This made backups as follows:
        -r--r--r-- 1 kelvin wheel  15M Dec  5 22:14 boot.tar.bz2
        -r--r--r-- 1 kelvin wheel 1.9G Dec  5 22:27 root.tar.bz2
    
    Unmounted and removed production SD card.
    
    Mounted a new SanDisk Ultra 128 Gb microSDXC I.  I had to mount it
    on the side slot of the card reader.
    
    Deleted the all-drive HPFS/NTFS/exFAT file system and reformatted
    as:
        Disk /dev/sdg: 119.1 GiB, 127865454592 bytes, 249737216 sectors
        Units: sectors of 1 * 512 = 512 bytes
        Sector size (logical/physical): 512 bytes / 512 bytes
        I/O size (minimum/optimal): 512 bytes / 512 bytes
        Disklabel type: dos
        Disk identifier: 0x00000000
    
        Device     Boot  Start       End   Sectors  Size Id Type
        /dev/sdg1  *      2048    206847    204800  100M  c W95 FAT32 (LBA)
        /dev/sdg2       206848 249737215 249530368  119G 83 Linux
    
    Removed and remounted.  Created filesystems as follows:
    
        mkfs.vfat -n BOOT -F 32 /dev/sdg1
        mkfs.ext4 -L root /dev/sdg2
    
    Removed and remounted.  We now have:
        Filesystem            Size  Used Avail Use% Mounted on
        /dev/sdg1              99M   512   99M   1% /media/kelvin/BOOT
        /dev/sdg2             117G   60M  111G   1% /media/kelvin/root
    
    Extracted archived filesystems onto new card.
        cd /media/kelvin/BOOT
        tar xfvj /home/kelvin/linuxtools/RaspberryPi/Fourmilab_SD_2016-12-05/boot.tar.bz2
        cd /media/kelvin/root
        tar xfvj /home/kelvin/linuxtools/RaspberryPi/Fourmilab_SD_2016-12-05/root.tar.bz2
    
    Unmounted filesystems, removed, and reconnected.  (This isn't strictly
    necessary, but you can't be too careful.)
    
    Fixed /media/kelvin/BOOT/cmdline.txt for new root partition:
        dwc_otg.lpm_enable=0 console=serial0,115200 console=tty1 root=/dev/mmcblk0p2 rootfstype=ext4 elevator=deadline fsck.repair=yes rootwait quiet splash plymouth.ignore-serial-consoles
                                                                 ^^^^^^^^^^^^^^^^^^^
    
    Fixed /media/kelvin/root/etc/fstab for new BOOT and root partitions:
        /dev/mmcblk0p1  /boot           vfat    defaults          0       2
        /dev/mmcblk0p2  /               ext4    defaults,noatime  0       1
    
    Transferred new SSH host keys from the Pi running from the USB drive to:
        /home/kelvin/linuxtools/RaspberryPi/Fourmilab_SD_2016-12-05/new_host_keys.tar
    
    Installed new SSH host keys in /media/kelvin/root/etc/ssh:
        tar xfv /home/kelvin/linuxtools/RaspberryPi/Fourmilab_SD_2016-12-05/new_host_keys.tar
    
    Re-made SSH introductions to Hayek and Pallas with the new SSH
    host keys for both kelvin and root.
    
    Note that we have not yet installed the new SSH host keys on the original
    128 Gb microSD card.
    
    I think we're done for now.  Next is testing the new SD card in
    the Pi.  Unmounted and removed the card from Hayek's reader.
    
    2016 December 6
    
    Shut down Pi, inserted new 128 Gb card prepared yesterday and
    rebooted.  System came up fine.
    
    Ping failed without an su.  This is a known bug.  Fixed with:
        super
        chmod u+s /bin/ping
    
    After applying all updates we are now running on:
        Linux pi 4.4.35-v7+ #932 SMP Sat Nov 26 13:23:19 GMT 2016 armv7l GNU/Linux
    
    We now see the following filesystems after booting from the new card:
        Filesystem      Size  Used Avail Use% Mounted on
        /dev/root       117G  4.3G  107G   4% /
        /dev/mmcblk0p1   99M   21M   79M  21% /boot
    
    2016 December 8
    
    Added:
        /home/kelvin/bacula/bin/bacula start
    to /etc/rc.local to start Bacula file daemon automatically on
    reboot.  After reboot, Bacula appeared to start normally.
    
    2016 December 14
    
    Changed passwords for pi and root to the customary root password.
    
    Updated ~/bin/dump_to_lto5 to dump /boot with tar and / with dump.
    We have to use tar for /boot because it is a VFAT file system which
    dump doesn't understand.  I had to specify the path to rmt with
    --rmt-command on tar since its default is incorrect.
    
    2018 November 30
    
    Installed a USB/serial port adapter.  The /var/log/syslog reported:
        Nov 30 17:00:29 pi kernel: [2432551.115816] usb 1-1.2: new full-speed USB device number 6 using dwc_otg
        Nov 30 17:00:30 pi kernel: [2432551.248120] usb 1-1.2: New USB device found, idVendor=0557, idProduct=2008
        Nov 30 17:00:30 pi kernel: [2432551.248137] usb 1-1.2: New USB device strings: Mfr=1, Product=2, SerialNumber=0
        Nov 30 17:00:30 pi kernel: [2432551.248145] usb 1-1.2: Product: USB-Serial Controller D
        Nov 30 17:00:30 pi kernel: [2432551.248154] usb 1-1.2: Manufacturer: Prolific Technology Inc.
        Nov 30 17:00:30 pi systemd-udevd[32350]: failed to execute '/lib/udev/mtp-probe' 'mtp-probe /sys/devices/platform/soc/3f980000.usb/usb1/1-1/1-1.2 1 6': No such file or directory
        Nov 30 17:00:30 pi kernel: [2432551.303630] usbcore: registered new interface driver usbserial
        Nov 30 17:00:30 pi kernel: [2432551.303726] usbcore: registered new interface driver usbserial_generic
        Nov 30 17:00:30 pi kernel: [2432551.303810] usbserial: USB Serial support registered for generic
        Nov 30 17:00:30 pi kernel: [2432551.309168] usbcore: registered new interface driver pl2303
        Nov 30 17:00:30 pi kernel: [2432551.309305] usbserial: USB Serial support registered for pl2303
        Nov 30 17:00:30 pi kernel: [2432551.309440] pl2303 1-1.2:1.0: pl2303 converter detected
        Nov 30 17:00:30 pi kernel: [2432551.314117] usb 1-1.2: pl2303 converter now attached to ttyUSB0
    
    Connected the PEAR REG from the dead Server3 to the serial
    connector.
    
    Installed:
        apt-get install ckermit
    
    Tested the serial input with:
        super
        kermit
            set line /dev/ttyUSB0
            set carrier-watch off
            set speed 9600
            connect
    and it seems to be sending like a "mad modem".
    
    Installed:
        apt-get install ncurses-dev
    
    Copied over the Egg software in production from Pallas and built in
    ~/linuxtools/egg/pi as follows:
        cd ~/linuxtools/egg/pi
        make clean
        make
    
    Then tested the input port with:
        super
        ./regtest /dev/ttyUSB0 9600
    which appears to be producing reasonable results with a mean around
    the expected 100.
    
    Ran a full restore of the /home/kelvin/egg directory tree from
    Server3 to /tmp/bacula-restores.
        ./bconsole
            restore
                5   (Most recent for client)
                12  (Server3)
            cd home
            cd kelvin
            mark egg
            lsmark
            estimate
            mod
                5   (Restore client)
                6   (Pi)
                yes (Run job)
    The restore recovered all data up to the last backup before Server3
    died:
        -rw-r--r-- 1 root root  13200 Nov 25 03:30 2018-11-25-000037
    
    Moved the server3 directory from the restore to:
        /home/kelvin/linuxtools/egg/server3
    
    I can now copy over the data directories and files to the new pi
    working directory.  I will preserve the server3 directory contents
    as restored "just in case".
    
    Installed the new version of "super" from Hayek in ~/linuxtools/super
    and /bin which invoked /bin/bash instead of /bin/sh so the cursor keys
    work in super mode.
    
    Partitioned the ~/linuxtools/egg directory into two subdirectories:
        pi_src      Source code and development directory for the
                    egg and basket, including .eggrc and .basketrc
                    files to run a local egg and basket for testing.
    
        pi          Live production data directory.  Contains the
                    production egg data directory archive, the production
                    .eggrc and .eggprotocolrc, and the eggsh binary, copied
                    over from pi_src.  Note that the data directories and
                    files are owned by root:root, as we must run under
                    that user to access the serial port.
    
    2018 December 1
    
    Copied the current (debug mode, packet dump on) eggsh into the pi
    directory and started it to start taking live data.  I haven't
    yet sorted out the firewall to allow the basket to collect it, but
    the data should be there when it makes contact.
    
    2018 December 2
    
    Reconfigured the firewall so the external IP address for Pi is
    193.8.230.103 (previously used by Server3, which died on
    2018-11-25).  This allows the GCP basket to contact Egg 37 on Pi
    without any reconfiguration.  Note that when we go out to other
    sites on the Internet, it will be from that address, not the
    193.8.230.11 hide address we previously used by default.
    
    Created a:
        /home/kelvin/linuxtools/egg/pi/RunEggshDaemon
    shell script to start eggsh from /etc/rc.local.  It writes its
    standard output to /tmp/eggsh_log.txt.  I started it manually
    for the moment.  Note that the present all of the debug
    output is on, so we'll be writing quite a lot to the log
    file.
    
    2018 December 3
    
    Added an entry to /etc/rc.local to run:
        /home/kelvin/linuxtools/egg/pi/RunEggshDaemon
    at boot time.  Rebooted and verified that it started and was
    logging into /tmp/eggsh_log.txt and archiving its files in
        /home/kelvin/linuxtools/egg/pi/YYYY-MM
    
    2019 June 11
    
    We had been up 185 days since the last reboot.  I ran:
        apt-get update
        apt-get dist-upgrade
    and rebooted.  Everything seemed to come up normally and
    eggsh started automatically.
    
    The last modified date for the Egg data directory indicates the
    egg is running and collecting samples normally.
    
    3+

    Users who have liked this comment:

    • avatar
    • avatar
    • avatar
  2. civil westman:
    I would much appreciate any advice as to what would be the best resource for a beginner like me.

    It’s hard to make recommendations on where to start, as that depends on what you’re trying to do, but the Rosetta Stone for people mystified by things in Linux is the Stack Overflow site.  You don’t go there directly.  Instead, you type “stackoverflow” and the weird error message you’ve received (in quotes) or description of what you’re trying to do (for example, “find files newer than other file”) into a search engine and in many cases, out pops the answer in the first few hits.

    Linux has, in the Unix tradition, manual pages for all of the main commands: if you’re confused by the “find” command (as I am, after using it for more than 30 years), just type “man find” and you’ll be instantly even more confused.

    Part of the challenge in getting started on a Linux system is finding applications to do the things in which you’re interested.  One huge benefit of the Pi is that Mathematica is pre-installed; investment in learning what it can do will be amply repaid.  I have found Geany an excellent programmer’s text editor, Gimp the tool of choice for image editing, Audacity ideal for audio production, and OpenShot useful for those rare occasions I produce or edit video.  LibreOffice is a collection of office tools that get the job done, although they can be difficult to learn.  All of these can be installed with the “apt-get” command line tool or the GUI package manager.  I would recommend installing a more standard Web browser than the one they install by default (at least on Pi3).  I use “chromium-browser”, which is built from the same code base as Google Chrome but without all of the spyware.

    4+

    Users who have liked this comment:

    • avatar
    • avatar
    • avatar
    • avatar
  3. civil westman:
    I am very curious – how many hours of work does comment #1 represent?

    Probably less than 10 total, spread out over an extended period of time.  My system narratives describe only administration tasks which I may need to reconstruct when installing a similar system in the future or debugging a failed system.  They do not record, for example, the many hours I’ve used the system to run Mathematica while doing other projects (for example, this one).

    2+

    Users who have liked this comment:

    • avatar
    • avatar

Leave a Reply