• Register
    • Login
    • Search
    • Categories
    • Recent
    • Tags
    • Popular
    • Users
    • Groups
    • Search
    1. Home
    2. nerdworks.
    3. Topics
    N
    • Profile
    • Following 0
    • Followers 0
    • Topics 2
    • Posts 4
    • Best 0
    • Controversial 0
    • Groups 0

    Topics created by nerdworks.

    • N

      UniPi Neuron for CODESYS SL
      CODESYS • • nerdworks.

      2
      0
      Votes
      2
      Posts
      1475
      Views

      D

      Sorry for the confusion. UniPi had removed the UniPian image and so I removed UniPi Neuron for CODESYS from the CODESYS store. I have since been working with UniPi and a new Image for UniPian was released today.
      The UniPian image will work with CODESYS 3.5.12.x and the release UniPi Neuron for CODESYS.
      3S have also released a new Version of CODESYS which requires a rebuild and retest of UniPi Neuron for CODESYS before the product can be re-enabled in the CODESYS store. I anticipate that this will be released by 17/1/19. I will post here when the new version is available.

    • N

      SSD on Neuron
      Neuron Series • • nerdworks.

      4
      0
      Votes
      4
      Posts
      2955
      Views

      N

      Here is what I did to get the UniPi Neuron running the UniPi Mervis OS image on a SSD connected to USB.

      Use the info below on your own risk.

      The Neuron should already be running on a SD card using the UniPi Mervis OS image.

      No additional software were added to the SD card to complete the steps below.

      All steps were done using ssh.

      Default ssh login = root:unipi

      1: Enable writing to the /boot partition

      # mount -o remount,rw /boot

      2: Enable Raspberry Pi 3 booting from USB connected mass storage. Please see here for more details.

      # echo 'program_usb_boot_mode=1' >> /boot/config.txt

      Please be aware that this command is not reversible.

      Reboot the Neuron, and log in again.

      Verify success by issuing the command:

      # vcgencmd otp_dump | grep 17:

      The output should read: 17:3020000a

      After reboot it is a good idea to remove the line added to /boot/config.txt above.

      This can be done using this command:

      # mount -o remount,rw /boot; sed -i '$d' /boot/config.txt

      3: Prepare the USB connected disk

      Make sure there is only one USB connected mass storage device connected to the Neuron.

      Identify the disk by issuing the command:

      # lsblk

      The output should look something like this:

      root@unipi:~# lsblk NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT sda 8:0 0 111.8G 0 disk |-sda2 8:2 0 1G 0 part |-sda3 8:3 0 1G 0 part `-sda1 8:1 0 60M 0 part mmcblk0 179:0 0 7.4G 0 disk |-mmcblk0p2 179:2 0 1G 0 part / |-mmcblk0p3 179:3 0 1G 0 part /var `-mmcblk0p1 179:1 0 60M 0 part /boot root@unipi:~#

      sda is the USB connected disk, and in this case it has three partitions sda1-sda3

      mmcblk0 is the SD card.

      We can also see that none of the partitions on sda is mounted.

      Wipe the disk by issuing the command:

      # wipefs -a /dev/sda

      The disk I used was 120 Gb. Partition sizes should be adjusted accordingly.

      Create the following partitions by using:

      fdisk -c -u /dev/sda

      A 150 Mb Fat32 partition set as bootable. This will become /boot
      A 58 Gb Linux partition. This will become /
      A 52 Gb Linux partition. This will become /var
      A 1.7 Gb swap partition (the rest of the disk).

      4: Format the partitions

      # mkfs -t vfat -n BOOT -F 32 /dev/sda1 # mkfs -t ext4 /dev/sda2 # mkfs -t ext4 /dev/sda3 # mkswap /dev/sda4

      Make sure TRIM is a default mount option

      # tune2fs -o discard /dev/sda1 # tune2fs -o discard /dev/sda2 # tune2fs -o discard /dev/sda3 # tune2fs -o discard /dev/sda4

      5: Make directories and mount the new partitions

      Create a mount point for the partition that will become /

      # mkdir /tmp/myssd

      Mount the partition that will become /

      # mount /dev/sda2 /tmp/myssd

      Create mount point for the partition that will become /boot

      # mkdir /tmp/myssd/boot

      Mount the partition that will become /boot

      # mount /dev/sda1 /tmp/myssd/boot

      Create mount point for the partition that will become /var

      # mkdir /tmp/myssd/var

      Mount the partition that will become /var

      # mount /dev/sda3 /tmp/myssd/var

      6: Copy all content on the SD card to the USB disk

      # rsync -ax —progress / /boot /var /tmp/myssd

      7: Chroot into the new file system to do required changes

      Enter the new file system and mount special file systems prior to chroot

      # cd /tmp/myssd/ # mount --bind /dev dev # mount --bind /sys sys # mount --bind /proc proc

      Chroot into the new file system

      # chroot /tmp/myssd

      8: Make new ssh keys

      Remove ssh keys copied from the SD card

      # rm /etc/ssh/ssh_host_*

      Generate new keys

      # dpkg-reconfigure openssh-server

      Just ignore perl warnings.

      9: Edit /etc/fstab and /boot/cmdlline.txt to replace SD card with SSD

      # sed -i "s,/dev/mmcblk0p1,/dev/sda1,” /etc/fstab # sed -i "s,/dev/mmcblk0p2,/dev/sda2,” /etc/fstab # sed -i "s,/dev/mmcblk0p3,/dev/sda3,” /etc/fstab # echo '/dev/sda4 none swap sw 0 0' >> /etc/fstab # sed -i "s,root=/dev/mmcblk0p2,root=/dev/sda2,” /boot/cmdline.txt

      10: Exit chroot, move out of the SSD filesystems and power off the Neuron

      # exit # cd ~ # poweroff

      11: Remove power from the Neuron and remove the SD card.

      12: Boot from SSD

      13: Remove local ssh key
      Prior to logging in to the Neuron you should remove your locally stored ssh key for the Neuron from your known_hosts file.

      14: Modify /etc/fstab to use UUID instead of partition names

      Use UUID instead of partition names in /etc/fstab. It is wise to do this modification to the fstab in case you attach another USB mass storage device to the Neuron, and what used to be /dev/sda has suddenly become /dev/sdb.

      Please see here for details about the use of UUID in /etc/fstab

      15: Have fun!

      --
      Joran