라즈베리파이는 MicroSD와 USB, 네트워크 등을 통해 부팅을 할 수있다. 라즈베리파이의 가장 큰 장점인 저렴한 가격과 가장 큰 단점이 내장메모리(보통 emmc등)가 없어 MicroSD카드를 이용한다는것은 이미 잘 알고 있으리라 생각된다.  

     

      라즈비안의 경우 32비트 운영체제라서 속도도 64비트에 비해 조금 느린데다가, MicroSD도 현 시점에서는 속도가 아주느린 장치이다. MicroSD U1(Class10 이상)이나 U3를 넣어도 빠릿하지가 않다. 왜냐면 SD메모리소켓이 SDIO를 사용하는데 이 장치가 그리 빠른 인터페이스가 아니기 때문이다. 

     

      상대적으로 라즈베리파이4에서 제공되는 USB3.0은 고속통신 장치이다. 물론, PC도 아니고 임베디드 프로세서를 장착한 라즈베리파이에서는 제 속도를 낼 수 없다. 어쨋거나 스펙상으로는 6Gbps정도 되니, 반만 나오더라도 SDIO보다는 훨씬 속도가 빠르다. 거기에데가 USB메모리도 속도가 빠른 모델을 쓴다면 그럭저럭 쓸만하다. 특히 Ubuntu를 쓸때면 차이가 생각보다 많이 난다.

     

      MicroSD 읽기 속도가 대충 테스트해보면 20MBps 정도, USB 일반형이 20~40MBps정도 나오는것 같은데, SSD하드를 이용하면 어떨까? 하드웨어 스펙상으로는 400MBps 이상이겠지만 그의 1/4만 되어도 훨씬 빠를것이다. 실제 라즈베리파이에 Widnows10을 설치해보면 차이가 상당히 나는 것을 알수 있다. 

     

      어쨋거나 그렇게 편리하게 사용하려면 USB부팅을 해야하고, USB부팅을 하려면 현재 게시물을 읽고 셋팅해보자. 현 개시물에서 설정하는 부트오더는 USB부팅 우선 다음으로 SD부팅 순으로 부팅할 수 있도록 설정해놨으니, 특별한 경우가 아니라면 한번 설정하면 뭐 그냥저냥 쓰면된다. 부팅가능한 USB가 꼽혀있지 않다면 MicroSD로 부팅될테니까 말이다.  

     

    1. Raspberry-Pi4 USB Boot 설정
    1.1. 패키지 업데이트 및 업그레이드

      필자는 MicroSD를 사용하지 않고 USB를 이용하여 하드디스크를 연결한 상태로 사용할 예정이므로 라즈베리파이4의 펌웨어를 확인하고 필요시 펌웨어 업데이트를 해주어야 하므로 UBB 부팅 여부확인부터 진행한다. 깨끗한 라즈비안 하나 준비해서 부팅해주고, 업데이트를 해주도록 하자. 

    $ sudo apt-get update
    $ sudo apt-get upgrade

     

    1.2. 기존 펌웨어 버전확인 및 업데이트

    (1) 펌웨어 버전확인

      2020년 12월 28일 기준 최종 업데이트는 000138a1이므로 아래의 명령에서와 같이 기존에 사용하던 라즈베리인 경우  업데이트가 필요하다. 아래의 명령을 통해 확인해보니, 최신 버전이 아닌것을 확인했다. 

    $ rpi-eeprom-config
    BCM2711 detected
    Dedicated VL805 EEPROM detected
    *** UPDATE AVAILABLE ***
    BOOTLOADER: update available
    CURRENT: Fri 31 Jul 13:43:39 UTC 2020 (1596203019)
    LATEST: Thu 3 Sep 12:11:43 UTC 2020 (1599135103)
    FW DIR: /lib/firmware/raspberrypi/bootloader/critical
    VL805: update available
    CURRENT: 000137ad
    LATEST: 000138a1

     

    (2) 펌웨어 업데이트 (필요시 진행)

      앞서 최신버전이 아닌걸 확인했으니 업데이트를 진행한다. 업데이트가 종료 되었으면 리부팅 해준다. 

    $ sudo rpi-eeprom-update -a
    BCM2711 detected
    Dedicated VL805 EEPROM detected
    BOOTFS /boot
    *** INSTALLING EEPROM UPDATES ***
    BOOTLOADER: update available
    CURRENT: Fri 31 Jul 13:43:39 UTC 2020 (1596203019)
    LATEST: Thu 3 Sep 12:11:43 UTC 2020 (1599135103)
    FW DIR: /lib/firmware/raspberrypi/bootloader/critical
    VL805: update available
    CURRENT: 000137ad
    LATEST: 000138a1
    BOOTFS /boot
    EEPROM updates pending. Please reboot to apply the update.


    (3) 부팅 순서 결정

      펌웨어도 확인 되었겠다 이제 부트 순서 설정만 진행하면되므로 아래의 명령 입력 후 출력되는 nano edit 화면에서 BOOT_ORDER의 값을 0xf41로 변경 후 리부팅함.
    (https://www.raspberrypi.org/documentation/hardware/raspberrypi/bcm2711_bootloader_config.md)

    $ sudo -E rpi-eeprom-config --edit

     

      자세한 부트오더의 정보는 아래와 같다.

      설정값이 0xf41이므로, USB부팅먼저하고 안되면 SD부팅 순으로 진행된다. 

    * BOOT_ORDER
    Value Mode Description
    0x1 SD CARD SD card (or eMMC on Compute Module 4)
    0x2 NETWORK Network boot
    0x3 RPIBOOT RPIBOOT - See usbboot (since 2020-09-03)
    0x4 USB-MSD USB mass storage boot (since 2020-09-03)
    0x5 BCM-USB-MSD USB 2.0 boot from USB Type-C socket or USB Type-A socket on CM4 IO board. (since 2020-12-14)
    0xe STOP Stop and display error pattern (since 2020-09-03). A power cycle is required to exit this state.
    0xf RESTART Start again with the first boot order field. (since 2020-09-03)

     

    자.. 이제 USB 부팅 가능한 OS를 만들면 된다. 특히 USB에 우분투나 라즈베리를 설치해두면 급할때 쓰기 편하니까..

     

    # 라즈베리파이 부팅 순서 결정하기... 끝.

     

    반응형
    • 네이버 블러그 공유하기
    • 네이버 밴드에 공유하기
    • 페이스북 공유하기
    • 카카오스토리 공유하기