Zynqberry를 얻으면 처음으로 할 10 단계 (후편)

Raspberry Pi 모양의 ZYNQ 보드 "Zynqberry (징크 베리)"에서 Ubuntu18을 사용하기위한 절차의 계속입니다.

OS 설치 후 다양한 설정



무선 LAN 사용



2019년 12월 이후 출하된 Zynqberry 스타터 키트는 Elecom의 WDC-150SU2M과 함께 제공됩니다. 2019년 11월 이전에는 GW-USNANO2A였습니다.

WDC-150SU2M을 ARM의 임베디드 Linux에서 사용하려면 Ubuntu 14(wpasupplicat를 사용하고 있었다)에서는 안 되고 Ubuntu 18로 업그레이드하고 nmcli를 사용해야 합니다.
WDC-150SU2M의 경우 다음 절차에 따라 드라이버를 사용할 수 있습니다.
insmod /lib/modules/4.9.0-xilinx-00027-g9c2e29b/kernel/drivers/8188eu.ko

이 상태에서nmcli device wifi를 입력하면 검색된 Wifi 목록이 표시됩니다.



무선 LAN을 활성화하려면 USB LAN 어댑터를 꽂고,
nmcli device wifi connect [SSID] password [パスワード]

를 입력합니다.
이제 ZYNQ Linux에서 무선 LAN을 사용할 수 있습니다.
ip a 명령으로 살펴 보겠습니다.


stty로 화면 크기를 변경합시다.



TeraTerm의 화면을 크게 하여 USB(COM 포트) 경유로 조작하고 있으면, emacs나 top, ps등의 커멘드의 출력이 흐트러집니다. 그뿐만 아니라 긴 명령을 치고 BackSpace에서 편집하는 것만으로도 화면이 흐트러집니다. SSH로 로그인했을 경우에는 흐트러지지 않습니다만, 임베디드 개발에서는 역시 COM포트는 편리하기 때문에.

왜 흐트러지는가 하면, COM 포트 경유에서는 단말의 화면 사이즈를 OS에 알릴 수 없기 때문입니다.

TeraTerm의 크기는 [설정 (S)] -> [단말기 (T)]에서 확인할 수 있으며,

stty 명령을 사용하여 Linux에 현재 터미널의 크기를 알려줍니다.
stty cols 146
stty rows 34

이렇게하면 화면이 흐트러지지 않습니다.

SD 카드의 첫 번째 파티션의 내용을 보려면



첫 번째 파티션에는 장치 트리 등이 들어 있습니다.
이 내용을 Linux에서 보려면,mount /dev/mmcblk0p1 /mnt/에서 볼 수 있습니다.
/etc/fstab에 쓰는 것이 좋습니다.

/etc/fstab
# UNCONFIGURED FSTAB FOR BASE SYSTEM
/dev/mmcblk0p1 /mnt

도구 설치



임베디드 시스템처럼 다양한 것을 시도하려면 디바이스 트리 컴파일러와 GCC가 필수입니다. 다음 명령으로 설치합니다. git로 배포되는 모듈을 설치하기 위해 git도 필요합니다.
apt install device-tree-compiler
apt install gcc
apt install git

FPGA를 구성하려면



Zynqberry의 커널은 4.9이므로/dev/xdevcfg를 사용할 수 있습니다./dev/xdevcfg를 사용하는 것이 편리합니다.
cat bitstrem-file-name.bit > /dev/xdevcfg

장치 트리를 만지려면



다양한 장치를 실험하려면 장치 트리를 다시 작성해야 합니다.

먼저 현재 장치 트리에서 소스를 만듭니다.
dtc -I dtb -O dts /mnt/devicetree.dtb > /mnt/devicetree.dts

그리고 편집한 뒤.
dtc -I dts -O dtb /mnt/devicetree.dts > /mnt/devicetree.dtb

으로 바이너리로 돌아갑니다.

USB 메모리를 보려면



Zynqberry + Ubuntu18은 USB 메모리를 사용할 수 있습니다.
아래와 같이 마운트하면/mnt 폴더에 USB 메모리 내용이 나타납니다.
mount -t vfat /dev/sda1 /mnt/

jupyter를 시작하려면


jupyter notebook --allow-root &

로 부팅할 수 있으며 http://zynqberry:8080/ 으로 액세스할 수 있습니다.
numpy pandas matplotlib seaborn scikit-learn plotly를 사용할 수 있기 때문에 파이썬 연습도 정확합니다.



마지막으로



저는 Zynqberry를 RasPi 케이스에 넣어 1년 이상 집 서버로 활용하고 있습니다. VPN을 사용하거나 DDNS에 알리거나 cron으로 정기적으로 라우터를 확인하거나.
최근에는 MySQL과 PHP를 넣어 데이터베이스 앱을 만드는 연습에도 사용하고 있습니다.

Zynqberry의 ARM은 666MHz 동작의 듀얼 코어이므로 네트워크 관리나 간단한 데이터베이스 앱 정도라면 충분한 사양의 서버로 이용할 수 있습니다.

최근에는 리눅스 커널을 4.19로 업데이트할 준비를 하고 있습니다만, xdevcfg를 사용할 수 없기 때문에 어떻게 한 것인지 고민하고 있습니다.

좋은 웹페이지 즐겨찾기