---
# System prepended metadata

title: Lab 3 Hints
tags: [EOS]

---

---
tags: EOS
---

# Lab 3 Hints

---

## Lab Material

ftp://lab616.ml
(in ZC702)

---

# Serial

----

## PuTTY

Make Settings Permanent
![](https://i.imgur.com/pvUSJId.png)

----

## Screen

PuTTY alternative on linux
```bash
sudo screen /dev/ttyUSB0 115200
```

---

# Xilinx Vivado Design Suite

----

## Prerequisites
* Download Size: *5.32 GB*
* Disk Space Required: *29.48 GB*
* [Xilinx Account Creation](https://www.xilinx.com/registration/create-account.html)
	*  Username: yrv39566@bcaoo.com
	*  Password: EOS{lab616}
```bash
sudo bash Xilinx_Vivado_SDK_Web_2018.3_1207_2324_Lin64.bin 
```

----

## Installation
![](https://i.imgur.com/b1oXlPA.png)

----

### Setup Environment Variables
```bash 
export CROSS_COMPILE=arm-linux-gnueabihf-
source /tools/Xilinx/SDK/2018.3/settings64.sh
```

----

## Badrequest when downloading Xilinx 2018.3
https://blog.csdn.net/Yuan_mingyu/article/details/87720831

----

## Window too big, can't resize or maximize
**Alt+F7** and then you can move the window, so you can reach the button :)
https://askubuntu.com/questions/65457/window-too-big-cant-resize-or-maximize

----

## Enlarge Disk Space
```bash
sudo apt install gparted
```
https://www.howtogeek.com/124622/how-to-enlarge-a-virtual-machines-disk-in-virtualbox-or-vmware/

---

# Device Tree Compiler
```bash
sudo apt-get install flex bison swig python-dev
sudo apt -y install libyaml-dev pkg-config python3-dev
```

---

# FSBL
First Stage Boot Loader

----

## generate_app
* The file <font color="red">executable.elf</font> will be placed at <fsbl_dir> as you set in the command.
* Just rename it to fsbl.elf.
```bash
mv executable.elf fsbl.elf
```

---

# U-boot
Second Stage Boot Loader

----

## APT
```bash
sudo apt install libssl-dev
git clone https://github.com/Xilinx/u-boot-xlnx.git
cd u-boot-xlnx/
git checkout tags/xilinx-v2018.3
...
```

----

## Backtick (`)
```bash
cd tools
export PATH=`pwd`:$PATH
```
![](https://i.imgur.com/YXgGnMq.png)

---

# uImage & Device Tree
```bash
git clone https://github.com/Xilinx/linux-xlnx.git
cd linux-xlnx
git checkout tags/xilinx-v2018.3
```

---

# Root Filesystem

----

## chmod
Manually create initial script rcS under etc/init.d and <font color="red">make it executable</font>.
```bash
chmod +x etc/init.d/rcS
```

---

# Debug

----

## Estimate file space usage

```bash
du -sh ~/boot/boot.bin
# 628K	/home/user/boot/boot.bin
du -sh ~/boot/devicetree.dtb 
# 16K	/home/user/boot/devicetree.dtb
du -sh ~/boot/uImage 
# 3.8M	/home/user/boot/uImage
du -sh ~/boot/uramdisk.image.gz 
# 1.1M	/home/user/boot/uramdisk.image.gz
```
