티스토리 뷰
개요
OS 설치를 마치고 나니 microSD 32 GB 용량중 일부만을 사용할 수 있었다.
32 GB 전체를 사용할 수 있는 방법을 찾아 정리해 본다.
해법 정리
- SanDisk Ultra microSDHC UHS-I 제품을 사용하였는데 32 GB를 온전히 사용할 수 없었음
- 해법: https://www.raspberrypi.org/forums/viewtopic.php?t=110785
- 위 링크의 중간에 나오는 해법을 따라하며 정리함. (실제 내 microSD 에 대한 처리 과정이 아니라, 링크 내용을 가져와 정리함)
간단 요약
OS 설치를 마친 후 terminal 을 실행한 후 다음 명령을 수행한다.
1) sudo fdisk /deb/mmcblk0 2) p 3) d 4) 2 5) n 6) p 7) 2 8) (이부분 중요) 2) 번에서 확인한 두번째 파티션의 시작주소를 적음 9) <enter> 10) w 11) sudo reboot 12) sudo resize2fs /dev/mmcblk0p2 |
세부 설명
명령 및 참고 |
보게되는 메시지 |
|
sudo fdisk /dev/mmcblk0 - fdisk는 linux 에서사용하는 파티션 생성, 삭제, 관리 프로그램 - 위와같이 mmcblk0 이라는 디스크를 명시하면, fdisk 의 Command 입력창이 뜨며, 이후 각종 명령을 실행할 수 있다. - 이때 변경사항은 write 명령이 없으면 실제로 적용되지 않음에 주의 (memory only)
|
Welcome to fdisk (util-linux 2.25.2). Changes will remain in memory only, until you decide to write them. Be careful before using the write command. |
|
Command (m for help): p
- p 는 파티션 테이블 정보를 print 하라는 명령이다. - 두 개의 파티션이 있음을 알 수 있다. - mmcblk0p1 - mmcblk0p2 - 첫번째 파티션의 시작과 종료번지는 2048 - 133119 - 두번째 파티션의 시작과 종료번지는 133120 - 3116287
예시의 경우는 위와 같았고 실제 내 microSD 의 경우는 아래와 같았음 (중요)
|
Disk /dev/mmcblk0: 14,9 GiB, 15931539456 bytes, 31116288 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: 0x00000000
Device Boot Start End Sectors Size Id Type /dev/mmcblk0p1 * 2048 133119 131072 64M c W95 FAT32 (LBA) /dev/mmcblk0p2 133120 31116287 30983168 14,8G 83 Linux |
|
Command (m for help): d Partition number (1,2, default 2): 2
- delete: 2번째 파티션을 삭제 - 다시 p 명령을 해보면 2번째 파티션이 사라진 걸 확인할 수 있다.
|
Partition 2 has been deleted. |
|
Command (m for help): n
- new: 새로운 파티션을 생성하겠다.
|
Partition type p primary (1 primary, 0 extended, 3 free) e extended (container for logical partitions) |
|
Select (default p): p Partition number (2-4, default 2): 2 First sector (133120-31116287, default 133120): <Enter> Last sector, +sectors or +size{K,M,G,T,P} (133120-31116287, default 31116287): <Enter>
- 파티션 타입은 primary 로 선택하고 - 파티션 번호는 2번으로 설정 - 기존 1개의 파티션에서 파티션을 하나 새로 생성하는 것이니 두 개의 섹터 설정 - 첫번째 섹터의 끝번지는 default 인 133120 - 두번째 섹터의 끝번지도 default 인 3116287
이 부분에서 주의가 필요함
1) 처음에 p (=print) 명령으로 파티션 테이블 정보를 보았을때에 - 첫번째 파티션의 끝이 729087 - 두번째 파티션의 시작이 729088 2) 따라서 First sector 의 값은 default 가 아닌 729088 을 넣어주어야 한다. 3) Last sector 는 그냥 Enter 를 치면 마지막 번지가 default 값으로 들어간다.
|
Created a new partition 2 of type 'Linux' and of size 14,8 GiB. |
|
Command (m for help): w
- 지금까지 작업한 것은 모두 memory 에만 쓰여진 것이다. - 실제로 적용하려면 w (=write) 명령으로 써줘야 한다. - 그리고 다시 reboot 를 하면, 변경사항이 적용된다. |
The partition table has been altered. Calling ioctl() to re-read partition table. Re-reading the partition table failed.: Device or resource busy
The kernel still uses the old table. The new table will be used at the next reboot or after you run partprobe(8) or kpartx(8). |
|
sudo reboot
- 재부팅된다.
|
|
|
sudo resize2fs /dev/mmcblk0p2
- 새로이 설정된 볼륨에 맞게 파일시스템의 크기를 조정하면 모든 작업이 끝난다. |
resize2fs 1.42.12 (29-Aug-2014) The filesystem is already 3872896 (4k) blocks long. Nothing to do! |
'embedded' 카테고리의 다른 글
현 시점 라즈베리파이 OS 설치 - 180730 (0) | 2018.07.30 |
---|---|
banana pi quick start - 원격 접속 (0) | 2018.07.18 |
banana pi quick start - os 설치 (2) | 2018.07.18 |
mqtt - raspberry pi 센서 데이터를 서버로 보내기 (3) (1) | 2018.07.13 |
mqtt - raspberry pi 센서 데이터를 서버로 보내기 (2) (0) | 2018.07.13 |
- Total
- Today
- Yesterday
- 제이펍
- Bug
- 2023
- 독서후기
- 독서
- websocket
- go
- ChatGPT
- 체호프
- bun
- folklore
- github
- notion
- 클린 애자일
- clean agile
- Gin
- 오블완
- 인텔리제이
- agile
- API
- golang
- intellij
- 잡학툰
- solid
- 노션
- OpenAI
- 엉클 밥
- strange
- 티스토리챌린지
- 영화
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |