티스토리 뷰
아직 4회차인데 아직도 세팅중..ㅜㅜㅜ 죄송합니다....
아마 18일 토요일에 세팅이 끝날 것 같습니다.
(왜냐하면 토요일에 라즈베리파이를 배포받으면 라즈베리파이로 켜보는 것 까지 세팅 포스팅으로 쓰려고 하거든요!)
여튼 지난 포스팅에서 이미지 빌드까지 했었죠??
어제 포스팅을 마치고 한참을 고민을 했습니다.
('흠... umount는 마운트를 해제하는 명령어인데.. 이미지를 flash하는데 왜 마운트를 해제하는거지? 오타인가..?')
결론은
umount를 하는게 맞고, 오타가 아니었습니다. 하하...
이유가 뭔고 하니..
그걸 이해하려면 dd명령어에 대해서 이해할 필요가 있습니다.
dd명령어는 부트 플로피나 스왑 파일을 만들 때 주로 사용하는 명령어로..
(간단히 생각하면 cd를 굽는다고 생각하면 편합니다.)
저는 라즈베리파이용 webOS OSE 이미지파일을 빌드했으니 이 이미지파일을 sd카드에 구워야 하는거죠.
그럼 dd명령어의 옵션을 살펴봅시다.
of=file : 표준출력 대신 지정한 파일에 작성한다.
if=file : 표준입력 대신 지정한 파일에서 불러들인다.
ibs=size : 지정한 크기(size)만큼 읽는다.
obs=size : 지정한 크기(size)만큼 쓴다.
bs=size : 지정한 크기(size)만큼 읽고 쓴다(ibs, obs 값은 무시된다).
count=n : 입력 블록의 ibs 크기만큼 복사한다.
conv=ascii : EBCDIC 코드를 ASCII 코드로 변환한다.
conv=ebcdic : ASCII 코드를 EBCDIC 코드로 변환한다.
conv=ibm : ASCII 코드를 호환 EBCDIC 코드로 변환한다.
conv=swab : 입력되는 두 바이트의 순서를 바꾼다. 입력 파일에서 짝이 맞지 않는 하나의 바이트가 남으면, 마지막 바이트는 그냥 단순히 복사된다.
[네이버 지식백과] dd (유닉스 리눅스 명령어 사전, 2010. 11. 30., 한빛미디어)
위 사진에서 치는 명령어가 뭐냐면,
sudo dd bs=4M if=./[flash할 이미지파일 이름].rpi-sdimg of=/dev/[sd카드 이름]
이걸 해석하자면, flash할 이미지파일을 sd카드'파일'에 write한다는 뜻입니다.
여기서 제가 헷갈렸던 부분이 이 '파일'부분입니다.
조금 다르지만 쉽게 설명하면,
sd카드는 마운트를 하는 즉시 '폴더'가 되기 때문에 마운트를 해제해야 sd카드 자체 '파일'이 되는 겁니다.
그렇다면 이제 flash를 시작해봅시다.
그런데 여기서 또! 문제가 생겼습니다.
sd카드의 이름을 알아내려고 'fdisk -l'를 썼는데, 위와 같이 나와서 저는 당연히
'아~ mmcblk가 sd카드의 이름이고, 0가 위에서 말하는 접미사(숫자)이구나~'
라고 생각했던 겁니다.
결과는 아무리 해도 flash안됨..
뭔가 이상해서 /dev 폴더를 들어가봤는데 웬걸...
dev폴더에 덩그러니 mmcblk라는 없던 파일이 생겨있었습니다.. 이게 웬걸..
그렇게 구글링을 하던 그 때..
lsblk라는 명령어를 알게 됐습니다.
(기본적인 명령어도 아직 잘 모르는 리린이입니다..ㅜㅜ)
하....
하하....
여기서 뒤통수를 강하게 맞은 것 같더라구요.
위의 글에 써있던 접미사(suffix)는 '파티션'을 말하는 것이었습니다.
그리고, mmcblk0 자체가 sd카드의 이름이었고, mmcblk0p1이 이 sd카드에 하나밖에 없던 파티션의 이름이었죠..
그럼 다시 해보자면..
아무리 해도 되지 않던 umount가 아무 말 없이 실행되고,
2초만에 끝나고 sd카드에는 아무런 변화가 없던 dd명령어도 75초간 실행되며 이미지를 flash했습니다..
아 참고로 설명드리자면, 마운트 해제는 '파티션 별로 따로' 해줘야 하기 때문에 모든 파티션을 저렇게 파티션 이름으로 마운트 해제를 하고,
flash는 디스크 자체에 하는 것이기 때문에 dd명령어를 사용할 때에는 위처럼 디스크 이름을 쓰는 겁니다.
자 이제 sd카드를 살펴보면..
어라? 파티션이 나눠졌네요? raspberrypi라는 파티션은 40mb가 할당됐습니다.
흐음...
이 파티션은 2.3기가가 할당됐네요.
2.3기가를 전부 사용하는 것 같았는데, 600mb는 남겨두네요. 저장공간인가? 아직은 잘 판단이 되지 않습니다.
자 그러면 여기서 의문점!
저는 64gb sd카드를 사용하는데, 나머지 저장공간은 어디갔는가?????
흐음...
아마도 '할당되지 않은 저장공간'으로 분류되지 않았나 싶네요.
이번 포스팅에서는 빌드한 이미지를 flash하는 것까지 성공했습니다!!
사실 이전 포스팅까지는 그냥 기다리기만 하는 지루한 작업이었는데, 이번 flash는
(제 무지로 인해..) 구글링을 하느라 좀 고생한 작업이었네요..
(머리가 나쁘면 몸이 고생..)
어쨋든 오늘은 드디어 sd카드에 이미지를 flash하는 것까지 성공했습니다.
webOS OSE 개발에 함께하려고 하는데 이미지flash에 막히신 분들이라면 제 포스팅을 보고 조금이나마 도움이 되셨으면 좋겠네요!!
(다음 포스팅 예고)
이전 포스팅까지 제가 했던 이미지 빌드를 오류없이 빠르게 할 수 있는 방법이 있다고 합니다.
PREMIRROR와 Shared State라고 하는데요,
미리 소스를 받아 놓아 저장하고, 미리 빌드 결과물을 받아서 저장하는 방법이라고 합니다.
아 참, 하나 자랑아닌 자랑을 하려고 하는데..
사용하는 노트북의 SSD가 너무 용량이 부족해서 새로 하나 장만했습니다..
2.5인치 7mm SSD를 찾는데, 쿠팡에서 싼게 하나 있더라구요..
일단 무명 메이커라서 불안하기도 하고 호환성 문제도 걱정이 되긴 하는데..
내일 포스팅에서 결과 말씀드리겠습니다!!
'webOS-OSE' 카테고리의 다른 글
[webOS] webOS OSE 4th Release in 2018 (September 2018) 공개!! (0) | 2018.10.20 |
---|---|
[webOS] 개발환경 세팅! (5회차.fin) - 라즈베리파이로 webOS OSE구동해보기, premirror로 쉽게 이미지 빌드하기 (2) | 2018.08.26 |
[webOS]작업환경 세팅! (3회차) (0) | 2018.08.22 |
[webOS]이미징 너무 오래 걸린당.. (0) | 2018.08.21 |
[webOS]작업환경 세팅 (2회차) (0) | 2018.08.20 |
- Total
- Today
- Yesterday
- 동적 계획법
- 한화큐셀
- 피보나치
- 이분탐색
- c
- 1932
- 플로이드 와셜
- 오픈소스
- 구현
- 백트래킹
- 프로그래머스
- PyPy3
- 브루트포스
- 인공지능
- BFS
- 파이썬
- Dynamic Programming
- 정렬
- c++
- DFS
- 코딩
- 백준
- webOS
- 알고리즘
- DP
- BaekJoon
- 카카오
- LG
- 컨트리뷰톤
- 완전탐색
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |