안녕하세요. 도정진입니다.
이번에 poplar 보드의 공식 가이드 대로 빌드를 진행하여 부팅에 성공 하였습니다.
Poplar 보드는 아래와 같이 생긴 제품입니다.
실제로 이 제품은 Linaro 에서 지원을 받고 있는 것으로 알고 있으며 U5PVR 과 동일한 CPU 를 채택한 개발 보드 입니다.
U5PVR과 다르게 DDR3 1GB 램과 8GB EMMC 를 탑재하고 있습니다.
상세한 가이드는 없습니다. 아래 링크를 참고해 주세요.
1. 빌드 가이드
되지도 않는 영어를 힘들게 쓰면서 포럼에 질문글을 올렸습니다. danielt 님께 무한의 감사를 드립니다.
https://github.com/Linaro/poplar-tools/blob/latest/build_instructions.md
https://discuss.96boards.org/t/build-with-poplar-source-but-not-work/2893/13
제가 빌드할 때 사용했던 파일이나 빌드 결과물은 아래의 링크에 모두 있습니다.
http://download.djjproject.com/poplar/
USB 부팅의 경우 아래의 파일을 사용해 주시면 되겠습니다.
http://download.djjproject.com/poplar/poplar-usbstick-hub-power.img
2. 설치 가이드
실제로는 USB 에 이미지를 담아서 U Boot 모드에서 EMMC 로 쓰기를 통해 설치하도록 되어 있습니다만, 일단 저는 커널단에 USB 전류 문제가 있어서 패치를 하여 USB 를 통해 구동하는 방법을 먼저 시도해 보았습니다.
USB 부팅을 하기 위해서는 보드에 USB_BOOT 버튼을 누른 상태로 전원을 넣으시면 됩니다.
따로 시리얼 케이블은 필요가 없으며 전방에 Micro 5PIN 포트와 컴퓨터랑 연결하면 시리얼로 접근이 가능합니다. (귀찮게 납땜은 왜 했지 ㅠㅠ)
일주일 내내 시도를 했는데요. 작동이 되지 않아서 ㅠㅠ
불은 무한정 깜박이지만 아래 사진은 부팅이 되지 않는 상태입니다.
3. 부팅 로그 및 간단 사용
데비안 9 / arm64 / Kernel 4.13
으로 동작을 합니다. 실제로 화면 출력이 나가지 않는 것 같은데요. 테스트를 해봐야 할것 같습니다. 아직 4.13 커널에 기능이 모두 들어가 있지 않은 느낌입니다.
일단은 USB / 이더넷 정도는 동작을 합니다.
Bootrom start
Boot Media: eMMC
Decrypt auxiliary code ...OK
lsadc voltage min: 000000FE, max: 000000FF, aver: 000000FE, index: 00000000
Entry boot auxiliary code
Auxiliary code - v1.00
DDR code - V1.1.2 20160205
Build: Mar 24 2016 - 17:09:44
Reg Version: v134
Reg Time: 2016/03/18 09:44:55
Reg Name: hi3798cv2dmb_hi3798cv200_ddr3_2gbyte_8bitx4_4layers.reg
Boot auxiliary code success
Bootrom success
LOADER: Switched to aarch64 mode
LOADER: Entering ARM TRUSTED FIRMWARE
LOADER: CPU0 executes at 0x0000e000
INFO: BL1: 0x16000 - 0x1c000 [size = 24576]
NOTICE: Booting Trusted Firmware
NOTICE: BL1: v1.4(debug):bdbc6a6
NOTICE: BL1: Built : 22:27:35, Sep 17 2017
INFO: BL1: RAM 0x16000 - 0x1c000
INFO: BL1: cortex_a53: errata workaround for 835769 was applied
INFO: BL1: cortex_a53: errata workaround for 843419 was applied
INFO: BL1: cortex_a53: errata workaround for 855873 was applied
INFO: BL1: Loading BL2
INFO: Loading image id=1 at address 0x1e000
INFO: Image id=1 loaded at address 0x1e000, size = 0x4008
NOTICE: BL1: Booting BL2
INFO: Entry point address = 0x1e000
INFO: SPSR = 0x3c5
NOTICE: BL2: v1.4(debug):bdbc6a6
NOTICE: BL2: Built : 22:27:38, Sep 17 2017
INFO: BL2: Loading BL31
INFO: Loading image id=3 at address 0x2a000
INFO: Image id=3 loaded at address 0x2a000, size = 0x6020
INFO: BL2: Loading BL33
INFO: Loading image id=5 at address 0x37000000
INFO: Image id=5 loaded at address 0x37000000, size = 0x5c0bd
NOTICE: BL1: Booting BL31
INFO: Entry point address = 0x2a000
INFO: SPSR = 0x3cd
INFO: Boot BL33 from 0x37000000 for 377021 Bytes
NOTICE: BL31: v1.4(debug):bdbc6a6
NOTICE: BL31: Built : 22:27:42, Sep 17 2017
INFO: ARM GICv2 driver initialized
INFO: BL31: Initializing runtime services
INFO: BL31: cortex_a53: errata workaround for 835769 was applied
INFO: BL31: cortex_a53: errata workaround for 843419 was applied
INFO: BL31: cortex_a53: errata workaround for 855873 was applied
INFO: BL31: Preparing for EL3 exit to normal world
INFO: Entry point address = 0x37000000
INFO: SPSR = 0x3c9
U-Boot 2017.09-rc4-gd9afcaf-dirty (Sep 17 2017 - 22:21:50 +0900)poplar
Model: HiSilicon Poplar Development Board
BOARD: Hisilicon HI3798cv200 Poplar
DRAM: 1023.5 MiB
MMC: Hisilicon DWMMC: 0
*** Warning - bad CRC, using default environment
In: serial_pl01x
Out: serial_pl01x
Err: serial_pl01x
Net: Net: configured
No such device: mdio0
No such device: mdio0
No such device: mdio1
gmac1
Warning: gmac1 (eth0) using random MAC address - f6:35:e3:87:88:7c
Hit any key to stop autoboot: 0
starting USB...
USB0: USB EHCI 1.00
scanning bus 0 for devices... 3 USB Device(s) found
scanning usb for storage devices... 1 Storage Device(s) found
scanning usb for ethernet devices... 0 Ethernet Device(s) found
Device 0: Vendor: UFD 2.0 Rev: 1100 Prod: Silicon-Power8G
Type: Removable Hard Disk
Capacity: 7681.0 MB = 7.5 GB (15730688 x 512)
... is now current device
Scanning usb 0:1...
Found /extlinux/extlinux.conf
Retrieving file: /extlinux/extlinux.conf
reading /extlinux/extlinux.conf
136 bytes read in 22 ms (5.9 KiB/s)
1: Debian
Retrieving file: /extlinux/../Image
reading /extlinux/../Image
16548352 bytes read in 1220 ms (12.9 MiB/s)
append: loglevel=4 root=/dev/sda2 rw rootwait
Retrieving file: /extlinux/../hi3798cv200-poplar.dtb
reading /extlinux/../hi3798cv200-poplar.dtb
10233 bytes read in 38 ms (262.7 KiB/s)
## Flattened Device Tree blob at 32200000
Booting using the fdt blob at 0x32200000
device_remove: Device 'ehci@9890000' failed to remove, but children are gone
Loading Device Tree to 000000003df3d000, end 000000003df427f8 ... OK
Starting kernel ...
[ 0.134443] OF: amba_device_add() failed (-19) for /soc@f0000000/spi@8b1a000
[ 0.151062] dmi: Firmware registration failed.
[ 2.509102] sd 0:0:0:0: [sda] No Caching mode page found
[ 2.514428] sd 0:0:0:0: [sda] Assuming drive cache: write through
[ 2.545479] EXT4-fs (sda2): couldn't mount as ext3 due to feature incompatibilities
Welcome to Debian GNU/Linux 9 (stretch)!
NetworkManager-wait-online.service: Cannot add dependency job, ignoring: Unit NetworkManager-wait-online.service is masked.
[ OK ] Created slice User and Session Slice.
[ OK ] Listening on Journal Audit Socket.
[ OK ] Listening on /dev/initctl Compatibility Named Pipe.
[ OK ] Listening on udev Control Socket.
[ OK ] Listening on Network Service Netlink Socket.
[ OK ] Listening on Journal Socket (/dev/log).
[ OK ] Listening on udev Kernel Socket.
[ OK ] Created slice System Slice.
Mounting POSIX Message Queue File System...
[ OK ] Created slice system-serial\x2dgetty.slice.
[ OK ] Created slice system-getty.slice.
[ OK ] Started Forward Password Requests to Wall Directory Watch.
[ OK ] Reached target Remote File Systems.
[ OK ] Listening on Syslog Socket.
[ OK ] Started Dispatch Password Requests to Console Directory Watch.
[ OK ] Reached target Encrypted Volumes.
Mounting Huge Pages File System...
Mounting Debug File System...
[ OK ] Reached target Swap.
[ OK ] Reached target Slices.
[ OK ] Listening on Journal Socket.
Starting Nameserver information manager...
Starting Set the console keyboard layout...
Starting Journal Service...
Starting Remount Root and Kernel File Systems...
Starting Create list of required st…ce nodes for the current kernel...
Starting Load Kernel Modules...
[ OK ] Started Create list of required sta…vice nodes for the current kernel.
Starting Create Static Device Nodes in /dev...
[ OK ] Started Journal Service.
[ OK ] Started Load Kernel Modules.
Starting Apply Kernel Variables...
Mounting Configuration File System...
[ OK ] Started Apply Kernel Variables.
[ OK ] Mounted Huge Pages File System.
[ OK ] Mounted POSIX Message Queue File System.
[ OK ] Mounted Debug File System.
[ OK ] Mounted Configuration File System.
[ OK ] Started Remount Root and Kernel File Systems.
[ OK ] Started Create Static Device Nodes in /dev.
[ OK ] Started Nameserver information manager.
Starting udev Kernel Device Manager...
Starting Flush Journal to Persistent Storage...
Starting udev Coldplug all Devices...
Starting Load/Save Random Seed...
[ OK ] Started Set the console keyboard layout.
[ OK ] Started Flush Journal to Persistent Storage.
[ OK ] Reached target Local File Systems (Pre).
[ OK ] Started Load/Save Random Seed.
[ OK ] Started udev Coldplug all Devices.
[ OK ] Started udev Kernel Device Manager.
Starting Network Service...
[ OK ] Started Network Service.
[ OK ] Found device /dev/ttyAMA0.
[ OK ] Found device Silicon-Power8G BOOT.
Mounting /boot...
[ OK ] Mounted /boot.
[ OK ] Reached target Local File Systems.
Starting Raise network interfaces...
Starting Set console font and keymap...
Starting Create Volatile Files and Directories...
[ OK ] Started Set console font and keymap.
[ OK ] Started Create Volatile Files and Directories.
Starting Update UTMP about System Boot/Shutdown...
Starting Network Time Synchronization...
[ OK ] Started Update UTMP about System Boot/Shutdown.
[ OK ] Started Raise network interfaces.
[ OK ] Started Network Time Synchronization.
[ OK ] Reached target System Time Synchronized.
[ OK ] Reached target System Initialization.
[ OK ] Listening on ACPID Listen Socket.
[ OK ] Started ACPI Events Check.
[ OK ] Reached target Paths.
[ OK ] Listening on OpenBSD Secure Shell server socket.
[ OK ] Started Daily Cleanup of Temporary Directories.
[ OK ] Listening on D-Bus System Message Bus Socket.
[ OK ] Reached target Sockets.
[ OK ] Reached target Basic System.
Starting Restore /etc/resolv.conf i…fore the ppp link was shut down...
Starting Login Service...
[ OK ] Started ACPI event daemon.
Starting Provide limited super user privileges to specific users...
Starting RealtimeKit Scheduling Policy Service...
[ OK ] Started D-Bus System Message Bus.
[ OK ] Started RealtimeKit Scheduling Policy Service.
Starting Network Manager...
[ OK ] Started Regular background program processing daemon.
Starting Initialize hardware monitoring sensors...
Starting System Logging Service...
Starting LSB: Load kernel modules needed to enable cpufreq scaling...
Starting Modem Manager...
Starting WPA supplicant...
[ OK ] Started Restore /etc/resolv.conf if…before the ppp link was shut down.
[ OK ] Started Provide limited super user privileges to specific users.
[ OK ] Started Initialize hardware monitoring sensors.
[ OK ] Started Login Service.
[ OK ] Started LSB: Load kernel modules needed to enable cpufreq scaling.
Starting LSB: set CPUFreq kernel parameters...
[ OK ] Started LSB: set CPUFreq kernel parameters.
[ OK ] Started WPA supplicant.
[ OK ] Started System Logging Service.
Starting Authorization Manager...
[ OK ] Started Authorization Manager.
[ OK ] Started Network Manager.
[ OK ] Reached target Network.
Starting Network Name Resolution...
Starting Permit User Sessions...
[ OK ] Reached target Network is Online.
Starting LSB: exim Mail Transport Agent...
Starting /etc/rc.local Compatibility...
[ OK ] Started Daily apt download activities.
[ OK ] Started Daily apt upgrade and clean activities.
[ OK ] Reached target Timers.
Starting LSB: Advanced IEEE 802.11 management daemon...
[ OK ] Started Permit User Sessions.
[ OK ] Started /etc/rc.local Compatibility.
[ OK ] Started LSB: Advanced IEEE 802.11 management daemon.
[ OK ] Started Modem Manager.
Starting Network Manager Script Dispatcher Service...
[ OK ] Started Serial Getty on ttyAMA0.
[ OK ] Started Getty on tty1.
[ OK ] Reached target Login Prompts.
[ OK ] Started Network Manager Script Dispatcher Service.
Starting Hostname Service...
[ OK ] Started Network Name Resolution.
[ OK ] Started Hostname Service.
[ OK ] Started LSB: exim Mail Transport Agent.
[ OK ] Reached target Multi-User System.
[ OK ] Reached target Graphical Interface.
Starting Update UTMP about System Runlevel Changes...
[ OK ] Started Update UTMP about System Runlevel Changes.
Debian GNU/Linux 9 linaro-developer ttyAMA0
linaro-developer login: root (automatic login)
Last login: Thu Nov 3 17:18:02 UTC 2016 on ttyAMA0
Linux linaro-developer 4.13.0-rc3-g6e39205-dirty #2 SMP PREEMPT Fri Sep 22 05:26:03 KST 2017 aarch64
The programs included with the Debian GNU/Linux system are free software;
the exact distribution terms for each program are described in the
individual files in /usr/share/doc/*/copyright.
Debian GNU/Linux comes with ABSOLUTELY NO WARRANTY, to the extent
permitted by applicable law.
root@linaro-developer:~#
일단 간단하게 htop 설치해 보았습니다.
테스트는 차차 하도록 하겠습니다.
감사합니다.
'컴퓨터.전자기기' 카테고리의 다른 글
노바텍 짭짭프로 SJ9000X ELITE R 리모컨 고장 불량 해결하기 (0) | 2017.10.01 |
---|---|
월광보합 프로 리뷰 - 1편 개봉기 및 스펙 (2) | 2017.09.23 |
Teclast X3 Plus TDP Limit 15W 로 조정하기 (N3450 TDP 제한 해제) (4) | 2017.09.18 |
Sports XDV 액션캠 간단 리뷰 (15) | 2017.09.03 |
삼성 레벨박스 슬림 사용기 (Samsung Level Box Slim) (1) | 2017.09.03 |
댓글