2024.2.2 (금)
6번(GND) -> usb 케이블 흑색(GND)
8번(TXD) -> usb 케이블 흰색(RXD)
10번(RXD) -> usb 케이블 초록색(TXD)
연결 > 시리얼 > 접속할 시리얼 라인, 속도 수정
세션 > 연결 형식 : Serial
$ sudo vi /boot/config.txt
맨 아래쪽에 추가해 주기
$ sudo vi /boot/cmdline.txt
pi에서
$ sudo reboot
해주기
그러면 아래와 같이 뜸!
오타났을 때 아래 경로로 들어 가 수정할 수 있다
$ sudo apt install gparted pv dcfldd
$ sudo umount /dev/sdb1
$ sudo umount /dev/sdb2
$ sudo dd if=/dev/sdb of=sdimage.img status=progress
$ sudo chown ubuntu:ubuntu sdimage.img
-rw-r--r-- 1 ubuntu ubuntu 31914983424 2월 2 12:46 sdimage.img
$ sudo fdisk -l sdimage.img
Disk sdimage.img: 29.74 GiB, 31914983424 bytes, 62333952 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: dos
Disk identifier: 0x88794313
Device Boot Start End Sectors Size Id Type
sdimage.img1 8192 1056767 1048576 512M c W95 FAT32 (LBA)
sdimage.img2 1056768 62333951 61277184 29.2G 83 Linux
df로 현재 쓰고 있지 않은 loop 선택
리눅스 환경에서 아래 명령 실행하기 (GUI라서 text 기반으로는 실행 불가)
$ sudo losetup /dev/loop12 sdimage.img
$ sudo partprobe /dev/loop12
$ sudo gparted /dev/loop12
마우스 오른쪽 클릭하고 Resize 선택 > New size : 7168
$ sudo losetup -d /dev/loop12
$ fdisk -l sdimage.img
$ truncate --size=$[(15736831+1)*512] sdimage.img
1 #include <unistd.h> // 유닉스 표준 시스템 콜을 위한 헤더 파일
2 #include <fcntl.h>
3 #include <stdio.h> // perror() 함수
4 #include <sys/stat.h>
5 #include <sys/types.h>
6
7 int main(int argc, char **argv)
8 {
9 int n, in, out;
10 char buf[1024];
11
12 if (argc < 3) { // 명령행 인수로 복사할 파일명이 없는 경우 에러를 출력하고 종료
13 write(2, "Usage : copy file1 file2\n", 25);
14 return -1;
15 }
16
17 if ((in = open(argv[1], O_RDONLY)) < 0) { // 복사의 원본이 되는 파일을 읽기 모드로 연다
18 perror(argv[1]);
19 return -1;
20 }
21
22 if ((out = open(argv[2], O_WRONLY | O_CREAT | O_TRUNC, S_IRUSR | S_IWUSR )) < 0) { // 복사할 결과 파일을 쓰기 모드(새로운 파일 생성 | 기존에 파일 내용 지움)로 연다
23 perror(argv[2]);
24 return -1;
25 }
26
27 while ((n = read(in, buf, sizeof(buf))) > 0) // 원본 파일의 내용을 읽어 복사할 파일에 쓴다
28 write(out, buf, n);
29
30 close(out); // 열린 파일들을 닫는다
31 close(in);
32
33 return 0;
34 }
$ cp /srv/samba/hello_*.c .
$ gcc hello_server.c -o hello_server
$ gcc hello_client.c -o hello_client
$ ./hello_server
$ ./hello_client 127.0.0.1 5000
Message from server: Hello World!