Raspberry Pi에 Fedora25 설치

안녕하세요.Livesense Advent Calendar는 2016년 셋째 날을 책임진 엔지니어 쿠루바라다.
애드리브는 회사 입소문 사이트인 전직 회의의 매체팀에 속한다.
전직 회의 매체를 개발하는 사람도 있고, 관련 제품을 만드는 사람도 있다.
요즘 많이 춥죠?여러분, 몸조심하세요.

알고 계십니까?


지금까지 Raspberry Pi의 설치 보도는?이렇게 얘기하면 불편해요.
오래전에 있었어요Pidora.
하지만 2014년까지 업데이트가 정지...
그러나 Fedora의 사이트를 보면 제공arm에 대한 이미지을 발견할 수 있다.
즉, 방법에 따라 랩버리 피로 조작할 수 있다는 것이다.

# 삽입식이랑 Fedora 근처 분들은 아실 거예요.

왜 하는 거지?

  • RedHat Linux에 대한 사랑(있습니까?)
  • 사람과 다른 랩베리 Pi용 OS를 사용하기 때문에 위험(중요)
  • 간단하고 다른 설치 방법으로 기술적으로 재미있어요(아마도...)
  • 랩버리 피로 이동하면 어치 리눅스라도 충분히 가능해요.

    읊다, 읊조리다


    앞으로의 내용은 스스로 책임지세요.
    시도 후 발생하는 모든 손실에 대해 이유와 상관없이
    일체 책임을 지지 않으니 양해해 주십시오
    래스프리피의 고유기능(카메라 모듈 등) 같은 건 일체 사용할 수 없음을 양해해 주십시오.

    필요한 물건

  • 작업용 Linux(이번에는 센터 OS 7에서 구현)
  • Raspberry Pi2 ModelB(손 옆에 있는 물건)와SD카드, 키보드, 전원, 모니터
  • 페도라의 이미지
  • Raspberry Pi의 firmware
  • #가끔 옆에 있는 Linux는 CentOS 7에 불과합니다.&<

    필요한 일을 정리하다

  • 랩베리Pi를 첨가한 펌웨어와 랩베리Pi의 기능 설정config.txt의 boot 구역 제작
  • Fedora의 이미지를 펼치고 펼치는 과정에firmware와 기능을 추가한 다음imge와 구역을 생성
  • 시작 설정에 필요한 fstab, 루트의 ssh 등 설정
  • #좋지는 않지만강행한다면raspbian이 들어간구역에페도라의image를적절히써넣고원래fstab과부팅에 필요한것들을firmware에 넣는다는말은의외로가능하다

    필요한 물건 준비


    Fedora 이미지 가져오기
    이미지 버전을 적당히 변경해 주세요.
    $ wget https://download.fedoraproject.org/pub/fedora/linux/releases/25/Spins/armhfp/images/Fedora-Minimal-armhfp-25-1.3-sda.raw.xz
    
    Raspberry Pi의 firmware 가져오기
    상당히 커서 최신 물건이 있었으면 좋겠거나 이론이
    $ git clone https://github.com/raspberrypi/firmware.git  --depth 1
    

    boot 파티션 만들기


    이미지 영역 만들기
    나는 영역의 사이즈를 마음대로 결정할 수 있다고 생각한다.
    여유를 보고 200MB를 정했습니다.
    $ truncate -s 200MB boot.img
    
    이동식 미디어용 FAT/FAT32 형식
    $ mkfs.fat boot.img
    mkfs.fat 3.0.20 (12 Jun 2013)
    
    boot.에 추가
    제작된 책.raspberry pi용 boot 파일 설치 및 추가config.txt여기.,적당히 만들어주세요.
    # 있으면raspibian 거기서 가져오면 안패일 수도 있어
    $ mkdir work
    $ sudo mount -o loop boot.img work
    $ sudo cp -Rf firmware/boot/* work/.
    $ sudo cp -f config.txt work/.
    
    그나저나 NOOBS에 설치된 raspbian 파일은 거의 다 올라왔는데 아래에만 유효하다
    # Enable audio (loads snd_bcm2835)
    dtparam=audio=on
    
    # NOOBS Auto-generated Settings:
    hdmi_force_hotplug=1
    start_x=0
    
    이렇게 되면 boot용 구역과 내용의 파일 설정 설정이 끝납니다

    OS 파티션 생성


    이미지 컨텐트가 확장된 문서 구성 단위 파일 만들기
    boot이나 swap 같은 건 필요 없어 이번에는 순수한 OS 관련 파일만 삭제했다.
    따라서 다른 영역을 건너뛰는 섹션 이미지 만들기
    $ fdisk Fedora-Minimal-armhfp-25-1.3-sda.raw
    Welcome to fdisk (util-linux 2.23.2).
    
    Changes will remain in memory only, until you decide to write them.
    Be careful before using the write command.
    
    
    コマンド (m でヘルプ): p
    
    Disk Fedora-Minimal-armhfp-25-1.3-sda.raw: 2177 MB, 2177892352 bytes, 4253696 sectors
    Units = sectors of 1 * 512 = 512 bytes
    Sector size (logical/physical): 512 bytes / 512 bytes
    I/O サイズ (最小 / 推奨): 512 バイト / 512 バイト
    Disk label type: dos
    ディスク識別子: 0x0fbf13bf
    
                             デバイス ブート      始点        終点     ブロック   Id  システム
    Fedora-Minimal-armhfp-25-1.3-sda.raw1            2048       61439       29696    c  W95 FAT32 (LBA)
    Fedora-Minimal-armhfp-25-1.3-sda.raw2   *       61440     1060863      499712   83  Linux
    Fedora-Minimal-armhfp-25-1.3-sda.raw3         1060864     1560575      249856   82  Linux swap / Solaris
    Fedora-Minimal-armhfp-25-1.3-sda.raw4         1560576     4059135     1249280   83  Linux
    $ dd if=Fedora-Minimal-armhfp-25-1.3-sda.raw bs=512 skip=1560576 of=fedora.img
    2693120+0 レコード入力
    2693120+0 レコード出力
    1378877440 バイト (1.4 GB) コピーされました、 2.29156 秒、 602 MB/秒
    
    확장 파티션
    1.4GB에 불과하므로 확장 가능
    32GB의 SD 카드라고 가정하기 때문에 그 부분을 설정합니다
    $ resize2fs fedora.img 29500M
    resize2fs 1.42.9 (28-Dec-2013)
    Resizing the filesystem on fedora.img to 7552000 (4k) blocks.
    The filesystem on fedora.img is now 7552000 blocks long.
    $ truncate -s 29500M fedora.img
    
    마운트
    flstab 변경, 루트 비밀번호 변경, 모듈 추가,firmware 설치
    $ sudo mount -o loop fedora.img work
    
    모듈 추가
    부대 모듈이 있지만 페도라는arm용이기 때문에 개의치 않습니다.
    $ sudo cp -Rf firmware/modules/4.4.35-v7+ work/lib/modules
    $ ls -al work/lib/modules
    合計 32
    drwxr-xr-x.  4 root root  4096 12月  2 15:51 .
    dr-xr-xr-x. 59 root root 20480 11月 16 05:13 ..
    drwxr-xr-x.  3 root root  4096 12月  2 15:51 4.4.35-v7+
    drwxr-xr-x.  5 root root  4096 11月 16 05:13 4.8.6-300.fc25.armv7hl
    
    fstab 설정
    물론 Fedora에 첨부된 저장된 fstab을 시작할 수 없기 때문에 다시 써야 합니다
    $ blkid -o  export fedora.img
    DEVNAME=fedora.img
    LABEL=_/
    UUID=c19816a7-cbb8-4cbb-8608-7fec6d4994d0
    TYPE=ext4
    $ sudo vi work/etc/fstab
    
    fstab에 기재된 내용
  • UID를 기반으로 제어하기 때문에 미리 취득한 UID를 기재
  • /boot의 내용이 다르므로 변경
  • UUID=c19816a7-cbb8-4cbb-8608-7fec6d4994d0  / ext4    defaults,noatime 0 0
    /dev/mmcblk0p1   /boot vfat    defaults 0 0
    
    초기 설정 서비스 삭제
    약간 강행적이긴 하지만.
    $ sudo rm work/etc/systemd/system/multi-user.target.wants/initial-setup.service
    
    ssh 로그인 설정
    여기는 사용자 개인 설정입니다.
    $ sudo mkdir work/root/.ssh
    $ sudo touch work/root/.ssh/authorized_keys
    $ sudo vi work/root/.ssh/authorized_keys
    $ sudo chmod 700 work/root/.ssh
    $ sudo chmod 600 work/root/.ssh/authorized_keys
    
    루트 암호 설정
    여기는 사용자 개인 설정입니다.
    $ sudo chmod +w work/etc/shadow
    $ openssl passwd -1 'your_password'
    your_password
    $ sudo vi work/etc/shadow
    $ sudo chmod -w work/etc/shadow
    
     etc/shadow 다음 형식으로 변경
    root:*:17004:0:99999:7:::
    →
    root:your_password:17004:0:99999:7:::
    
    마운트 해제
    필요한 최소한의 일 때문에 마운트 해제
    $ sudo umount work
    

    Raspberry Pi 쓰기 이미지 만들기


    여기서 시작하는 일이 굉장히 중요해요.
    쓰기 이미지 만들기29500M + 200M = 29700M 이상 32GB로 제어
    $ truncate -s 29800M rasp_fedora.img
    $ sudo parted rasp_fedora.img  mklabel msdos
    警告: いま存在している rasp_fedora.img のディスクラベルは破壊され、このディスクの全データが失われます。続行しますか?
    はい(Y)/Yes/いいえ(N)/No? Y
    
    파티션 생성
    방금 만든 bootパーティションOSパーティション 둘 다 쓸 수 있는 영역을 준비합니다.
    파티션 내에 약간의 낭비가 있을 수 있지만 안전하게 밀어서 만들 수 있다
    $ sudo parted rasp_fedora.img mkpart primary fat16 1MiB 210MiB
    $ sudo parted rasp_fedora.img mkpart primary 210MiB 100%
    
    쓰기 파티션
    $ dd if=boot.img of=rasp_fedora.img obs=1M seek=1
    $ dd if=fedora.img of=rasp_fedora.img obs=1M seek=210
    
    이렇게 해서 랩베리 피 대응판 Fedora가 완성이 됐습니다.

    쓰기 및 시작 결과


    이런 느낌으로 SD 카드에 써주세요.
    $ sudo dd if=rasp_fedora.img of=/dev/sda bs=1m
    
    SD 카드를 제거하고 Raspberry Pi를 시작하면 다음과 같은 로그인 콘솔이 나타납니다
    (빛의 반사가 잘 보이지 않는 것은 모니터의 잘못입니다><;)


    이런 느낌으로 잘 설치하고 시동을 걸었어요.


    여기까지 쓰고 지금 더 바쁜 사람에게 3줄 필기를 남겨주세요.
  • 데비안 시스템의 OS를 사용하면 xzdec,git,kpartx가 있어'image'Installer를 쉽게 설정할 수 있어 이미지
  • 를 쉽게 만들 수 있다.
  • 상기 스크립트를 사용할 때settins.confROOTSIZE,BOOTSIZE를 틀리면 파티를 할 수밖에 없어요

  • 정부측dnf부터 설치 설치용 패키지를 설치할 수 있음(검증되지 않음)
  • # 설치된 내용을 보니 데비안 계열의 지령 이외에 하는 일은 거의 똑같다 w

    특혜


    와이파이로 외부와 소통할 수 있는 곳을 적어주세요.
    사용하는 와이파이 동글은 GW-USNano2입니다.
    지금은 후속 기종GW-USNANO2A을 살 수 있을 것 같아요.
    #대략이시리즈면와이파이연결이 되겠죠.
    그렇다면 가장 중요한 설정 방법이지만 DHCP로 연결된 상태에서
    구성 만들기
    뒤죽박죽이지만 다음과 같은 SSID와 암호문이 기재되어 있다
    $ vi /etc/wpa_supplicant/wpa_supplicant.conf
    ctrl_interface=/run/wpa_supplicant
    update_config=1
    network={
        ssid="MYSSID"
        psk="passphrase"
    }
    
    systemd로 시작하는 김에
    $ /etc/sysconfig/wpa_supplicant
    INTERFACES="-iwlan0"
    DRIVERS="-Dwext" #<= deprecatedだがつなぐ目的なので気にしない
    OTHER_ARGS="-s"
    
    AP 연결 확인
    다음 작업을 수행하는 데 문제가 없으며 SSID가 표시되는지 미리 확인합니다.
    $ wpa_supplicant -B -i interface -c /etc/wpa_supplicant/wpa_supplicant.conf
    $ wpa_cli
    > scan
    OK
    <3>CTRL-EVENT-SCAN-RESULTS
    > scan_results
    ...
    
    Ping 및 외부 커뮤니케이션 가능 여부 확인
    $ dhcpclient wlan0
    $ ping www.google.com
    
    dhcpcd 설치
    $ dnf install dhcpcd
    
    시스템 사용
    시작 시 자동 연결
    $ systemctl enable wpa_supplicant
    $ systemctl enable [email protected]
    

    설치 완료 후


    여느 때와 같다사용자 및 암호를 변경하고 다양한 패키지를 업데이트하십시오.
    #그나저나 너무 많이 업데이트하면 핵 공황을 초래할 수 있으니 적당히

    좋은 웹페이지 즐겨찾기