Submitted by pcochran7 on Aug 9, 2024
*This process (excluding setting the MAC) should be the same for the Ultra96 boards*
Connect to screen session
Connect your laptop to the Micro-USB port on the Pynq board. An external power supply isn't needed when connecting to the Micro-USB. There is a switch on the board to toggle between external power and power through USB.
On your laptop, navigate to /dev directory.
cd /dev
Find the device name and connect to a screen session using 11520 baud rate:
screen /dev/cu.usb*1 115200
-Press Enter to wake the device after running the screen command.
-You should see the boot process in your terminal.
Set the MAC
As of Pynq v3.0.1, the firmware has a bug that shifts the MAC address of the ethernet port 1 octect to the right, resulting in a leading 00:xx and cutting off the octet at the end of the MAC address. Before the Pynq board can DHCP, we need to manually set the MAC address in the Pynq board's OS. Jeff Young has an Excel spreadsheet with the correct MAC addresses for each Pynq board. Find the MAC for the board you're configuring in the spreadsheet.
-Power cycle the board.
-Press any key to interrupt the boot process. This must be done within 3 seconds of powering on.
-This can be tricky. You may need to power cycle the Pynq board several times to get the timing right.
-Manually set the MAC address:
setenv -f ethaddr <mac address>
-Save it to permanent storage:
saveenv
(Can confirm ethaddr by running: printenv ethaddr )
Restart the boot process:
reset
SSH into the board as Xilinx
From a coc bastion system:
On carora.cc.gatech.edu:
ssh xilinx@pynq-z2-{number}.cc.gatech.edu
Sign-in info
Username: xilinx
Password: xilinx
Update the hostname and reboot
sudo pynq_hostname.sh pynq-z2-{number}
Sudo reboot
Update apt sources list
sudo nano /etc/apt/sources.list.d/multistrap-jammy.list
remove the contents of the file and replace it with:
deb http://ports.ubuntu.com/ubuntu-ports jammy main restricted universe multiverse
deb-src http://ports.ubuntu.com/ubuntu-ports jammy main restricted universe multiverse
deb http://ports.ubuntu.com/ubuntu-ports jammy-updates main restricted universe multiverse
deb http://ports.ubuntu.com/ubuntu-ports jammy-security main restricted universe multiverse
deb http://ports.ubuntu.com/ubuntu-ports jammy-backports main restricted universe multiverse
Update and upgrade
sudo apt update
sudo apt upgrade
When prompted to update or keep configuration files, choose No (default).
Vim will not properly update, so we need to remove the Vim packages:
sudo dpkg -r --force-depends vim vim-tiny vim-common vim-runtime
Reinstall Vim packages:
sudo apt install vim vim-tiny vim-common vim-runtime
For all updates with configuration questions, Keep the currently installed version (default)
Pull down salt setup script, run, and remove
(Note: this script/location may need to be updated at the time of next round of reloads.)
curl -O http://shoebox.cc.gatech.edu/scripts/pynq_salt.sh && sudo bash pynq_salt.sh && rm pynq_salt.sh
On Alcali, accept the Salt key for the minion:
Navigate to https://cocalcali.az.gatech.edu/ > Keys > Refresh Keys > Accept for your minion
Install authorized keys using Salt:
sudo salt-call state.apply root_authorized_keys saltenv=coc-dev-crnch-speet3 pillarenv=coc-dev-crnch-speet3
Install and configure SSSD using Salt:
sudo salt-call state.apply sssd pillar='{"foreman":{"install": false}, "sssd": {"install": true, "lookup": {"conf_local": {"sssd": {"services": ["nss", "pam", "autofs", "sudo"]},"domain/gatech.edu": {"override_homedir":["/nethome/%u"],"simple_allow_groups": ["coc-tso", "coc-tso-admin", "coc-rg-login"]}}}}}'
Apply the SSHD template using Salt:
sudo salt-call state.apply util.sshd_template
Update sudoers file using Salt:
sudo salt-call state.apply coc-base.sudo
Configuration should now be complete. Sign out and verify that you can SSH in as your GT account. A home directory will not be created for you at login.