공부중
[Jetson Nano] 젝슨 나노 ssd 부팅 (실패버전) 본문
1차 시도한 부분.. 실패했다.
성공한 부분은 아래 링크를 참고하자.
https://brush-up.tistory.com/380
https://jetsonhacks.com/2023/05/30/jetson-orin-nano-tutorial-ssd-install-boot-and-jetpack-setup/
아르곤 밑 부분만 재사용해서 ssd 부팅을 해보자.
1. 초기화
우선 노트북과 연결해서 ssd를 포맷하자. 이거하려고 usb a 3.1 to a를 샀다.
기존에 있던 볼륨을 삭제했다. (128GB)
다시 볼륨을 만들고 디스크 문자를 부여해줬다.
이렇게 해야 내 PC에서 디스크 정보를 확인할 수 있다.
나중에 운영 체제 깔때 다시 포멧이 되기는하는데 점검차..
안해도 되는 부분이긴하다.
2. OS 설치
데스크탑 버전은 편하긴 하지만 느려서 서버 버전으로 깔아보려 한다..
어차피 ssh 해서 쓸거니까..
https://brush-up.tistory.com/369
sd카드 부분이랑은 다르게 이번에는 가벼운걸 찾아보자.
그냥 우분투를 설치할지,, 젯슨나노 os를 설치할지 고민이긴했는데
https://developer.nvidia.com/embedded/downloads/archive
일단 여기는 없다.
https://forums.developer.nvidia.com/t/jetson-nano-jp46-sd-card-image-lite/192829
여기 보니까 공식적으로 지원은 안하고 깃허브에 있긴한거 같은데 .. 이걸 써야되나..
아니면 이 방법으로 gui를 비활성시킬까..
https://www.forecr.io/blogs/bsp-development/how-to-disable-desktop-gui-on-jetson-modules
안전하게 비활성화 하는 방향으로 가자.
https://brush-up.tistory.com/manage/posts/
그럼 기존이랑 똑같이 OS 설치 진행
3. ssd 굽기
확실히 진행속도가 sd 카드 구울때보다 빠르다.
4. 마운트
라베파를 ssd랑 연결했을때는 sd 카드 부분에서 ssd를 마운트 하는 과정이 필요했다.
이번에도 필요할거 같은 느낌이 든다.
무슨 알림창이 뜬다. 일단 재시작해보자
근데 ssd 연결하니까 재부팅이 안된다.
sd 카드를 뺴면 될거 같은 기분.
안되넹..
soctherm: OC ALARM 0x00000001
bash: cannot set terminal process group (-1): Inappropriate ioctl for device bash: no job control in this shell bash-4.3
sd 카드랑 ssd랑 사용하는 전력양이 달라서 그런가...
sd 카드를 끼기는 해야 하는 듯 하다. 역시
끼니까 뭔가 다른게 뜨기는 하네
https://forums.developer.nvidia.com/t/boot-from-usb/236247/12
역시 같은 오류 발생한 사람과 해결 방안이 나왔다.
깃허브는 비공개가 됬넴..
대충 방법은 알거 같으니까..
4.1 Bootloader 설정 확인 (extlinux.conf)
sudo vi /boot/extlinux/extlinux.conf
원본
3.2 PARTUUID 확인
연결된 USB 드라이브의 PARTUUID를 확인하려면 다음 명령어를 사용합니다:
sudo blkid
이 명령은 연결된 모든 스토리지 장치의 UUID와 PARTUUID를 보여줍니다. 이 정보를 사용하여 extlinux.conf 파일에서 root=PARTUUID=<your-partuuid>로 설정하세요.
참고로 지금은 ssd 연결 안한 상태이다.
4.3. Chain Loading 설정
SD 카드를 제거하지 않고 USB에서 root 파일 시스템을 로드하도록 설정하려면, extlinux.conf 파일을 다음과 같이 설정합니다:
LABEL primary
MENU LABEL primary kernel
LINUX /boot/Image
INITRD /boot/initrd
APPEND ${cbootargs} root=/dev/sda1 rw rootwait
이 설정은 SD 카드에서 커널을 로드하고, USB 드라이브에 있는 root 파일 시스템으로 전환합니다.
4.4
ye@ye-jsnano:~$ lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
loop0 7:0 0 16M 1 loop
mtdblock0 31:0 0 4M 0 disk
mmcblk0 179:0 0 29.1G 0 disk
├─mmcblk0p1 179:1 0 29.1G 0 part /
├─mmcblk0p2 179:2 0 128K 0 part
├─mmcblk0p3 179:3 0 448K 0 part
├─mmcblk0p4 179:4 0 576K 0 part
├─mmcblk0p5 179:5 0 64K 0 part
├─mmcblk0p6 179:6 0 192K 0 part
├─mmcblk0p7 179:7 0 384K 0 part
├─mmcblk0p8 179:8 0 64K 0 part
├─mmcblk0p9 179:9 0 448K 0 part
├─mmcblk0p10 179:10 0 448K 0 part
├─mmcblk0p11 179:11 0 768K 0 part
├─mmcblk0p12 179:12 0 64K 0 part
├─mmcblk0p13 179:13 0 80K 0 part
└─mmcblk0p14 179:14 0 128K 0 part
zram0 252:0 0 494.5M 0 disk [SWAP]
zram1 252:1 0 494.5M 0 disk [SWAP]
zram2 252:2 0 494.5M 0 disk [SWAP]
zram3 252:3 0 494.5M 0 disk [SWAP]
다음 ssd 를 연결해보자.
sda 부분이 추가된걸 확인할 수 있다.
ye@ye-jsnano:~$ lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
loop0 7:0 0 16M 1 loop
sda 8:0 0 119.2G 0 disk
├─sda1 8:1 0 13.4G 0 part
├─sda2 8:2 0 128K 0 part
├─sda3 8:3 0 448K 0 part
├─sda4 8:4 0 576K 0 part
├─sda5 8:5 0 64K 0 part
├─sda6 8:6 0 192K 0 part
├─sda7 8:7 0 384K 0 part
├─sda8 8:8 0 64K 0 part
├─sda9 8:9 0 448K 0 part
├─sda10 8:10 0 448K 0 part
├─sda11 8:11 0 768K 0 part
├─sda12 8:12 0 64K 0 part
├─sda13 8:13 0 80K 0 part
└─sda14 8:14 0 128K 0 part
mtdblock0 31:0 0 4M 0 disk
mmcblk0 179:0 0 29.1G 0 disk
├─mmcblk0p1 179:1 0 29.1G 0 part /
├─mmcblk0p2 179:2 0 128K 0 part
├─mmcblk0p3 179:3 0 448K 0 part
├─mmcblk0p4 179:4 0 576K 0 part
├─mmcblk0p5 179:5 0 64K 0 part
├─mmcblk0p6 179:6 0 192K 0 part
├─mmcblk0p7 179:7 0 384K 0 part
├─mmcblk0p8 179:8 0 64K 0 part
├─mmcblk0p9 179:9 0 448K 0 part
├─mmcblk0p10 179:10 0 448K 0 part
├─mmcblk0p11 179:11 0 768K 0 part
├─mmcblk0p12 179:12 0 64K 0 part
├─mmcblk0p13 179:13 0 80K 0 part
└─mmcblk0p14 179:14 0 128K 0 part
zram0 252:0 0 494.5M 0 disk [SWAP]
zram1 252:1 0 494.5M 0 disk [SWAP]
zram2 252:2 0 494.5M 0 disk [SWAP]
zram3 252:3 0 494.5M 0 disk [SWAP]
ye@ye-jsnano:~$
sudo blkid에 대한 결과도 추가되어 있는거 ㄹ확인할 수 있다.
ye@ye-jsnano:~$ sudo blkid
/dev/loop0: SEC_TYPE="msdos" LABEL="L4T-README" UUID="81F1-7198" TYPE="vfat"
/dev/mmcblk0p1: UUID="d560620b-561b-4021-b9ab-ac421ab6e1cc" TYPE="ext4" PARTLABEL="APP" PARTUUID="ea43f939-bbfe-4262-a82d-2717b65908c6"
/dev/zram0: UUID="746a880f-2a59-42bc-92a7-c448b2d18abb" TYPE="swap"
/dev/zram1: UUID="ef28edb3-1a3a-4a32-9c14-482f8464c754" TYPE="swap"
/dev/zram2: UUID="54b33614-4170-4e20-979d-a709a96c4afa" TYPE="swap"
/dev/zram3: UUID="ea1e7f98-da7a-4c43-86bd-a46337f21133" TYPE="swap"
/dev/mmcblk0: PTUUID="c066c102-48bc-423d-8133-e2f90e371708" PTTYPE="gpt"
/dev/mmcblk0p2: PARTLABEL="TBC" PARTUUID="8f7d5fb1-3e6c-4d30-bf1d-bcd9a2cfff08"
/dev/mmcblk0p3: PARTLABEL="RP1" PARTUUID="8a04bc73-8b40-4e45-be25-a3c3b604971c"
/dev/mmcblk0p4: PARTLABEL="EBT" PARTUUID="095fcc57-8a7a-4f38-8bb7-5cea07ff43ac"
/dev/mmcblk0p5: PARTLABEL="WB0" PARTUUID="2db40f18-7eb2-4057-b5d2-f79287750b6d"
/dev/mmcblk0p6: PARTLABEL="BPF" PARTUUID="1b12e6ee-1770-475c-923b-8f13476851f7"
/dev/mmcblk0p7: PARTLABEL="BPF-DTB" PARTUUID="03cf186c-0f78-46f6-8f1f-173a57ad4826"
/dev/mmcblk0p8: PARTLABEL="FX" PARTUUID="2d50715f-1d7e-4095-bfd4-53099bbbbe74"
/dev/mmcblk0p9: PARTLABEL="TOS" PARTUUID="7f0d3cbb-ba35-462f-ac69-4cb0ac0e05f3"
/dev/mmcblk0p10: PARTLABEL="DTB" PARTUUID="8b460ca6-1bd9-4d32-b8ee-936a7a84a028"
/dev/mmcblk0p11: PARTLABEL="LNX" PARTUUID="86060985-56d3-4801-95a0-0040264d77a4"
/dev/mmcblk0p12: PARTLABEL="EKS" PARTUUID="3d158dcd-8ceb-4fb5-b963-96fa0dfa093d"
/dev/mmcblk0p13: PARTLABEL="BMP" PARTUUID="8810fac1-4d0f-47c7-8f2b-b858bbb10f48"
/dev/mmcblk0p14: PARTLABEL="RP4" PARTUUID="d82746f9-29ae-449b-8ab6-465f80396b21"
/dev/sda1: UUID="d560620b-561b-4021-b9ab-ac421ab6e1cc" TYPE="ext4" PARTLABEL="APP" PARTUUID="ea43f939-bbfe-4262-a82d-2717b65908c6"
/dev/sda2: PARTLABEL="TBC" PARTUUID="8f7d5fb1-3e6c-4d30-bf1d-bcd9a2cfff08"
/dev/sda3: PARTLABEL="RP1" PARTUUID="8a04bc73-8b40-4e45-be25-a3c3b604971c"
/dev/sda4: PARTLABEL="EBT" PARTUUID="095fcc57-8a7a-4f38-8bb7-5cea07ff43ac"
/dev/sda5: PARTLABEL="WB0" PARTUUID="2db40f18-7eb2-4057-b5d2-f79287750b6d"
/dev/sda6: PARTLABEL="BPF" PARTUUID="1b12e6ee-1770-475c-923b-8f13476851f7"
/dev/sda7: PARTLABEL="BPF-DTB" PARTUUID="03cf186c-0f78-46f6-8f1f-173a57ad4826"
/dev/sda8: PARTLABEL="FX" PARTUUID="2d50715f-1d7e-4095-bfd4-53099bbbbe74"
/dev/sda9: PARTLABEL="TOS" PARTUUID="7f0d3cbb-ba35-462f-ac69-4cb0ac0e05f3"
/dev/sda10: PARTLABEL="DTB" PARTUUID="8b460ca6-1bd9-4d32-b8ee-936a7a84a028"
/dev/sda11: PARTLABEL="LNX" PARTUUID="86060985-56d3-4801-95a0-0040264d77a4"
/dev/sda12: PARTLABEL="EKS" PARTUUID="3d158dcd-8ceb-4fb5-b963-96fa0dfa093d"
/dev/sda13: PARTLABEL="BMP" PARTUUID="8810fac1-4d0f-47c7-8f2b-b858bbb10f48"
/dev/sda14: PARTLABEL="RP4" PARTUUID="d82746f9-29ae-449b-8ab6-465f80396b21"
그럼 이 정보들을 가지고 extlinux.conf 다시 수정하지
sudo vi /boot/extlinux/extlinux.conf
TIMEOUT 30
DEFAULT primary
MENU TITLE L4T boot options
LABEL primary
MENU LABEL primary kernel
LINUX /boot/Image
INITRD /boot/initrd
#APPEND ${cbootargs} quiet root=/dev/mmcblk0p1 rw rootwait rootfstype=ext4 console=ttyS0,115200n8 console=tty0 fbcon=map:0 net.ifnames=0
APPEND ${cbootargs} root=PARTUUID=ea43f939-bbfe-4262-a82d-2717b65908c6 rw rootwait
이렇게 고친다.
출력된 /dev/sda1 또는 /dev/sdb1의 PARTUUID가 extlinux.conf에서 입력한 값 **ea43f939-bbfe-4262-a82d-2717b65908c6**과 일치하는지 확인하세요.
뭔가 부팅이 되는거 같은데 또 오류가 발생했다.
역시 답은 처음 오류 문구에 있었다.
마운트 문제인거 같은데
ye@ye-jsnano:~$ mount
/dev/mmcblk0p1 on / type ext4 (rw,relatime,data=ordered)
proc on /proc type proc (rw,relatime)
sysfs on /sys type sysfs (rw,relatime)
none on /dev type devtmpfs (rw,relatime,size=1781000k,nr_inodes=445250,mode=755)
tmpfs on /dev/shm type tmpfs (rw,nosuid,nodev)
devpts on /dev/pts type devpts (rw,nosuid,noexec,relatime,gid=5,mode=620,ptmxmode=000)
tmpfs on /run type tmpfs (rw,nosuid,nodev,mode=755)
tmpfs on /run/lock type tmpfs (rw,nosuid,nodev,noexec,relatime,size=5120k)
tmpfs on /sys/fs/cgroup type tmpfs (ro,nosuid,nodev,noexec,mode=755)
cgroup on /sys/fs/cgroup/unified type cgroup2 (rw,nosuid,nodev,noexec,relatime)
cgroup on /sys/fs/cgroup/systemd type cgroup (rw,nosuid,nodev,noexec,relatime,xattr,name=systemd)
pstore on /sys/fs/pstore type pstore (rw,nosuid,nodev,noexec,relatime)
cgroup on /sys/fs/cgroup/debug type cgroup (rw,nosuid,nodev,noexec,relatime,debug)
cgroup on /sys/fs/cgroup/devices type cgroup (rw,nosuid,nodev,noexec,relatime,devices)
cgroup on /sys/fs/cgroup/net_cls,net_prio type cgroup (rw,nosuid,nodev,noexec,relatime,net_cls,net_prio)
cgroup on /sys/fs/cgroup/cpu,cpuacct type cgroup (rw,nosuid,nodev,noexec,relatime,cpu,cpuacct)
cgroup on /sys/fs/cgroup/freezer type cgroup (rw,nosuid,nodev,noexec,relatime,freezer)
cgroup on /sys/fs/cgroup/blkio type cgroup (rw,nosuid,nodev,noexec,relatime,blkio)
cgroup on /sys/fs/cgroup/cpuset type cgroup (rw,nosuid,nodev,noexec,relatime,cpuset)
cgroup on /sys/fs/cgroup/pids type cgroup (rw,nosuid,nodev,noexec,relatime,pids)
cgroup on /sys/fs/cgroup/perf_event type cgroup (rw,nosuid,nodev,noexec,relatime,perf_event)
cgroup on /sys/fs/cgroup/memory type cgroup (rw,nosuid,nodev,noexec,relatime,memory)
cgroup on /sys/fs/cgroup/hugetlb type cgroup (rw,nosuid,nodev,noexec,relatime,hugetlb)
systemd-1 on /proc/sys/fs/binfmt_misc type autofs (rw,relatime,fd=29,pgrp=1,timeout=0,minproto=5,maxproto=5,direct)
debugfs on /sys/kernel/debug type debugfs (rw,relatime)
sunrpc on /run/rpc_pipefs type rpc_pipefs (rw,relatime)
mqueue on /dev/mqueue type mqueue (rw,relatime)
hugetlbfs on /dev/hugepages type hugetlbfs (rw,relatime)
configfs on /sys/kernel/config type configfs (rw,relatime)
tmpfs on /run/user/1000 type tmpfs (rw,nosuid,nodev,relatime,size=405104k,mode=700,uid=1000,gid=1000)
gvfsd-fuse on /run/user/1000/gvfs type fuse.gvfsd-fuse (rw,nosuid,nodev,relatime,user_id=1000,group_id=1000)
fusectl on /sys/fs/fuse/connections type fusectl (rw,relatime)
ye@ye-jsnano:~$ mount
/dev/mmcblk0p1 on / type ext4 (rw,relatime,data=ordered)
proc on /proc type proc (rw,relatime)
sysfs on /sys type sysfs (rw,relatime)
none on /dev type devtmpfs (rw,relatime,size=1781000k,nr_inodes=445250,mode=755)
tmpfs on /dev/shm type tmpfs (rw,nosuid,nodev)
devpts on /dev/pts type devpts (rw,nosuid,noexec,relatime,gid=5,mode=620,ptmxmode=000)
tmpfs on /run type tmpfs (rw,nosuid,nodev,mode=755)
tmpfs on /run/lock type tmpfs (rw,nosuid,nodev,noexec,relatime,size=5120k)
tmpfs on /sys/fs/cgroup type tmpfs (ro,nosuid,nodev,noexec,mode=755)
cgroup on /sys/fs/cgroup/unified type cgroup2 (rw,nosuid,nodev,noexec,relatime)
cgroup on /sys/fs/cgroup/systemd type cgroup (rw,nosuid,nodev,noexec,relatime,xattr,name=systemd)
pstore on /sys/fs/pstore type pstore (rw,nosuid,nodev,noexec,relatime)
cgroup on /sys/fs/cgroup/debug type cgroup (rw,nosuid,nodev,noexec,relatime,debug)
cgroup on /sys/fs/cgroup/devices type cgroup (rw,nosuid,nodev,noexec,relatime,devices)
cgroup on /sys/fs/cgroup/net_cls,net_prio type cgroup (rw,nosuid,nodev,noexec,relatime,net_cls,net_prio)
cgroup on /sys/fs/cgroup/cpu,cpuacct type cgroup (rw,nosuid,nodev,noexec,relatime,cpu,cpuacct)
cgroup on /sys/fs/cgroup/freezer type cgroup (rw,nosuid,nodev,noexec,relatime,freezer)
cgroup on /sys/fs/cgroup/blkio type cgroup (rw,nosuid,nodev,noexec,relatime,blkio)
cgroup on /sys/fs/cgroup/cpuset type cgroup (rw,nosuid,nodev,noexec,relatime,cpuset)
cgroup on /sys/fs/cgroup/pids type cgroup (rw,nosuid,nodev,noexec,relatime,pids)
cgroup on /sys/fs/cgroup/perf_event type cgroup (rw,nosuid,nodev,noexec,relatime,perf_event)
cgroup on /sys/fs/cgroup/memory type cgroup (rw,nosuid,nodev,noexec,relatime,memory)
cgroup on /sys/fs/cgroup/hugetlb type cgroup (rw,nosuid,nodev,noexec,relatime,hugetlb)
systemd-1 on /proc/sys/fs/binfmt_misc type autofs (rw,relatime,fd=29,pgrp=1,timeout=0,minproto=5,maxproto=5,direct)
debugfs on /sys/kernel/debug type debugfs (rw,relatime)
sunrpc on /run/rpc_pipefs type rpc_pipefs (rw,relatime)
mqueue on /dev/mqueue type mqueue (rw,relatime)
hugetlbfs on /dev/hugepages type hugetlbfs (rw,relatime)
configfs on /sys/kernel/config type configfs (rw,relatime)
tmpfs on /run/user/1000 type tmpfs (rw,nosuid,nodev,relatime,size=405104k,mode=700,uid=1000,gid=1000)
gvfsd-fuse on /run/user/1000/gvfs type fuse.gvfsd-fuse (rw,nosuid,nodev,relatime,user_id=1000,group_id=1000)
fusectl on /sys/fs/fuse/connections type fusectl (rw,relatime)
systemd-1 on /media type autofs (rw,relatime,fd=163,pgrp=1,timeout=0,minproto=5,maxproto=5,direct)
현재 제공된 mount 명령의 출력 결과를 보면, Jetson Nano가 기본적으로 SD 카드(/dev/mmcblk0p1)를 루트 파일 시스템으로 사용하고 있습니다. USB 드라이브(/dev/sda1)는 현재 마운트되지 않은 상태로 보입니다.
ye@ye-jsnano:~$ sudo fsck /dev/sda1
[sudo] password for ye:
fsck from util-linux 2.31.1
e2fsck 1.44.1 (24-Mar-2018)
/dev/sda1: clean, 199868/879552 files, 3288848/3511552 blocks
ye@ye-jsnano:~$ sudo mount /dev/sda1 /mnt
ye@ye-jsnano:~$ cd /mnt/
ye@ye-jsnano:/mnt$ ls
README.txt boot etc lib media opt root sbin srv tmp var
bin dev home lost+found mnt proc run snap sys usr
ye@ye-jsnano:/mnt$
그냥 이거 따라할 걸 그랬나
https://medium.com/@ahsaanraazaa/jetson-nano-boot-from-usb-ssd-guid-37e497ace0cc
'인공지능...? > Jetson Nano' 카테고리의 다른 글
[Jetson Nano] 젝슨 나노 ssd 부팅 (실패 버전2) (0) | 2025.02.04 |
---|---|
[Jetson Nano] 고정 IP 사용 (0) | 2025.02.02 |
[Jetson Nano] 데스크톱 GUI를 비활성화 (0) | 2025.02.01 |
[Jetson Nano] 구매 및 기본 세팅 (3) SSD 연결 (0) | 2025.01.31 |
[Jetson Nano] VNC 연결 (0) | 2025.01.31 |