Skip to content

Môi trường phát triển trên host

Các thiết lập trên máy host (thường là Ubuntu) để làm việc với board: TFTP server để nạp image qua mạng, thao tác với SD card, và một số tiện ích trên desktop.

TFTP Server

Trivial File Transfer Protocol (TFTP) là giao thức truyền file đơn giản theo kiểu lockstep, cho phép client lấy file từ máy từ xa hoặc đẩy file lên máy từ xa (Wikipedia). TFTP dùng UDP làm giao thức vận chuyển.

Cài TFTP server

Trên Ubuntu, cài các gói sau:

sudo apt-get install xinetd tftpd tftp

Trên thiết bị nhúng thường không cần build riêng: BusyBox có sẵn applet tftp (client) và tftpd (server), bật trong menuconfig của BusyBox. Với Yocto, có thể dùng recipe tftp-hpa trong layer meta-networking.

Cấu hình TFTP server

Tạo file /etc/xinetd.d/tftp với nội dung:

service tftp
{
protocol        = udp
port            = 69
socket_type     = dgram
wait            = yes
user            = nobody
server          = /usr/sbin/in.tftpd
server_args     = /tftpboot
disable         = no
}

Tạo thư mục /tftpboot. Tên thư mục phải khớp với giá trị server_args ở trên, thường là tftpboot:

sudo mkdir /tftpboot
sudo chmod -R 777 /tftpboot
sudo chown -R nobody /tftpboot
Khởi động lại dịch vụ xinetd:

  • Hệ thống mới:

sudo service xinetd restart

  • Hệ thống cũ:

sudo /etc/init.d/xinetd restart

Kiểm tra TFTP server

Tạo file test có nội dung bất kỳ trong thư mục /tftpboot của TFTP server. Lấy địa chỉ IP của server bằng lệnh ifconfig.

Trên một máy khác (client cần lấy file), chạy các lệnh sau:

tftp 192.168.1.2 # tftp server ip
tftp> get test
Sent 159 bytes in 0.0 seconds

tftp> quit

cat test

SD card

Mount lại SD card để bỏ trạng thái chỉ đọc

Đôi khi SD card bị mount ở chế độ chỉ đọc, nên không sửa được dữ liệu trên thẻ. Cách khắc phục là mount lại thẻ ở chế độ đọc ghi:

  • Liệt kê các ổ đĩa bằng sudo fdisk -l.
  • Mount lại SD card: sudo mount /dev/sdc -o remount,rw

Backup image SD card

Cách 1: dòng lệnh

Tham khảo: https://stackoverflow.com/questions/19355036/how-to-create-an-img-image-of-a-disc-sd-card-without-including-free-space

Backup:

sudo dd if=/dev/mmcblk0 | gzip > /tmp/sdimage_backup.img.gz

Khôi phục:

cat backup.img.gz | gunzip | dd of=/dev/sdb

Cách 2: tiện ích Disks trên Ubuntu.

Tiện ích trên desktop

Copy nội dung ra clipboard (xclip)

cat "filename.txt" | xclip -selection clipboard

Dùng Google Drive trên Ubuntu

https://linuxconfig.org/google-drive-on-ubuntu-18-04-bionic-beaver-linux