2016-07-01 4 views
0

제목에서 알 수 있듯이, armhf에 Ubuntu 14.0.4 base rootfs를 사용하여 Rubberry-Pi2 용으로 최소한의 우분투 이미지를 만들려고합니다.어떻게 우분투 14.0.4 코어 rootfs에 리눅스 커널과 부트 로더를 추가 할 수 있습니까?

커널과 부트 로더를 직접 믹스에 추가해야합니다.이 주제에서 프로가 아니기 때문에 나는 커널/U- 부트 컴파일을위한 모든 다른 가이드들과 완전히 혼돈 스럽습니다. 전체 프로세스를 커버하고 RPi를 부팅 할 수있는 것을 찾을 수 없습니다.

커널과 부트 로더를 RPi2의 우분투 (코어) rootfs에 두어 부팅 가능한 SD 카드를 만드는 절차를 도와 줄 수있는 사람이 있습니까?

추 신 : 전 프로세스에 대한 단계별 안내서가있어서 (나 같은 사람은 누구나) 로컬에서 적용 할 수 있고 Pi2를 처음부터 실 행할 수 있습니다.

나는 등 크로스 컴파일 및 복사 파일에 대한 내 호스트 시스템과 우분투 14.0.4 노트북,

나는 필사적이야

, 감사를!

답변

0

공식 릴리스 here을 사용하지 않는 이유는 무엇입니까? SD 카드를 사용하는 일반적인 절차는 SD 카드 용으로 두 개의 파티션을 만드는 것입니다. 첫 번째 파티션은 부트 로더, 장치 트리 blob 및 커널 이미지가 상주 할 수있는 FAT32 및 기타 파일입니다. RPi는 올바르게 기억한다면 첫 번째 파티션에 꽤 많은 다른 바이너리 블롭이 필요합니다. 두 번째 파티션은 rootfs를 넣어야하는 ext 파티션입니다. 사용 가능한 배포 이미지를 가져 와서 SD 카드에 쓰고 두 번째 rootfs 파티션을 원하는 배포판 루트 파일로 바꿉니다. 커널과 장치 트리 블롭이 첫 번째 파티션 대신 두 번째 파티션의/boot에있을 수도 있습니다.

나는 또한 빠르게 점검했다. 나는 Raspbian을 가지고있는 RPi3 용 SD 카드를 가지고있었습니다. Raspbian의 rootfs를 가진 두 번째 파티션을 우분투 기반 rootfs로 대체했습니다. 그것은 완벽하게 정상적으로 부팅하지만

* Starting Mount filesystems on boot[ OK ] 
* Starting Populate /dev filesystem[ OK ] 
* Stopping Populate /dev filesystem[ OK ] 
* Starting Populate and link to /run filesystem[ OK ] 
* Stopping Populate and link to /run filesystem[ OK ] 
* Stopping Track if upstart is running in a container[ OK ] 
* Starting Initialize or finalize resolvconf[ OK ] 
* Starting set console keymap[ OK ] 
* Starting Signal sysvinit that virtual filesystems are mounted[ OK ] 
* Starting Signal sysvinit that virtual filesystems are mounted[ OK ] 
* Starting Bridge udev events into upstart[ OK ] 
* Starting device node and kernel event manager[ OK ] 
* Starting Signal sysvinit that remote filesystems are mounted[ OK ] 
* Stopping set console keymap[ OK ] 
* Starting load modules from /etc/modules[ OK ] 
* Starting cold plug devices[ OK ] 
* Starting log initial device creation[ OK ] 
* Stopping load modules from /etc/modules[ OK ] 
* Starting set console font[ OK ] 
* Stopping set console font[ OK ] 
* Starting userspace bootsplash[ OK ] 
* Starting Send an event to indicate plymouth is up[ OK ] 
* Stopping userspace bootsplash[ OK ] 
* Stopping Send an event to indicate plymouth is up[ OK ] 
* Stopping cold plug devices[ OK ] 
* Stopping log initial device creation[ OK ] 
* Starting configure network device security[ OK ] 
* Starting Mount network filesystems[ OK ] 
* Starting configure network device security[ OK ] 
* Stopping Mount network filesystems[ OK ] 
* Starting configure network device[ OK ] 
* Starting configure network device[ OK ] 
* Starting Bridge socket events into upstart[ OK ] 
The disk drive for/is not ready yet or not present. 
keys:Continue to wait, or Press S to skip mounting or M for manual recovery 

에서 노점 나는 이유를 조사하지 않았지만, 나는 그것이 인해이/etc/fstab 파일에 믿습니다.

[[email protected] ~]# cat /etc/fstab 
# 
# /etc/fstab: static file system information 
# 
# <file system> <dir> <type> <options>  <dump> <pass> 
/dev/mmcblk0p1 /boot vfat defaults  0  0 

이것은 아치에서 나온 것입니다. 나는 우분투의 것을 적어 두지 않았지만 그것이 틀렸다.

rootfs를 ArchLinux ARM 기반 rootfs로 바꾸면 부팅이 잘된 것처럼 보입니다. 내가 Raspbian 기반의 SD 카드를 가져 와서 rootfs를 Arch와 바꿨다는 사실에 주목하십시오.

[ 3.743064] systemd-journald[85]: Received request to flush runtime journal from PID 1 
[ 4.791472] smsc95xx 1-1.1:1.0 eth0: hardware isn't capable of remote wakeup 

Arch Linux 4.1.18-v7+ (ttyS0) 

alarmpi login: 
Arch Linux 4.1.18-v7+ (ttyS0) 

alarmpi login: root 
Password: 
Welcome to Arch Linux ARM 

    Website: http://archlinuxarm.org 
     Forum: http://archlinuxarm.org/forum 
     IRC: #archlinux-arm on irc.Freenode.net 
[ 15.258407] random: nonblocking pool is initialized 

이 방법에 대한 일반적인 아이디어가 충분히 있기를 바랍니다.