[英]how to add linux kernel and boot loader to an Ubuntu 14.0.4 core rootfs for Raspberry Pi2?
顧名思義,我試圖將Ubuntu 14.0.4基本 rootfs用於armhf來為我的Raspberry-Pi2創建最小的Ubuntu映像。
我必須自己添加內核和引導加載程序,並且由於我不是該主題的專業人士,因此我對編譯內核/ U引導的所有不同指南完全感到困惑。 找不到任何內容可以覆蓋整個過程並無法啟動RPi。
是否有人可以幫助我將內核和引導加載程序拍打到RPi2的Ubuntu(核心)rootfs上並從頭創建可引導SD卡的過程?
PS:我希望獲得有關整個過程的分步指南,以便我(以及其他任何與我一樣的人)可以在本地應用它們並從頭開始安裝Pi2。
我有一台Ubuntu 14.0.4便攜式計算機作為我的主機,用於交叉編譯和復制文件等。
我很拼命,謝謝!
為什么不在這里使用正式版本? 擁有SD卡的一般過程是為SD卡有兩個分區。 第一個分區將是FAT32,您的引導程序,設備樹blob和內核映像可駐留在FAT32中以及任何其他文件中。 如果我沒記錯的話,RPi在第一個分區中需要很多其他二進制blob。 第二個將是ext分區,您需要在其中放置rootfs。 取得任何可用的分發映像,將其寫入SD卡,並用您喜歡的任何發行版rootfs替換第二個rootfs分區。 內核和設備樹Blob也可能位於第二個分區的/ boot而不是第一個分區。
我也很快檢查了一下。 我有用於RPi3的RPi3 SD卡。 我用基於Ubuntu的rootfs替換了Raspbian中具有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所致。
[root@alarmpi ~]# cat /etc/fstab
#
# /etc/fstab: static file system information
#
# <file system> <dir> <type> <options> <dump> <pass>
/dev/mmcblk0p1 /boot vfat defaults 0 0
這是來自Arch。 我沒有記下Ubuntu的版本,但這是不正確的。
用基於ArchLinux ARM的rootfs替換rootfs,它似乎可以正常啟動。 請注意,我拿了一個基於Raspbian的SD卡,並用Arch交換了rootfs。
[ 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
我希望這能給您足夠的關於如何解決此問題的一般思路。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.