[opensuse-arm] kernel-default 3.15-rc5 working on Raspberry Pi
Hello, I have succeeded in booting our newly built kernel-default package from Kernel:HEAD on the Raspberry Pi model B with Factory and 3.15-rc2+. Here's a quick how-to: In yast, add Kernel:HEAD repository: http://download.opensuse.org/repositories/Kernel:/HEAD/ARM/ Install the kernel package: # zypper in kernel-default-3.15.rc5 Prepare initrd settings in /etc/sysconfig/kernel: INITRD_MODULES="sdhci-bcm2835" Create an initrd: # mkinitrd -v -k zImage-3.15.0-rc5-6.g923c7d2-default \ -i initrd-3.15.0-rc5-6.g923c7d2-default Make the files accessible to U-Boot: # cd /boot # ln -sf zImage-3.15.0-rc5-6.g923c7d2-default zImage # ln -sf initrd-3.15.0-rc5-6.g923c7d2-default initrd In your boot.scr make sure that the initrd is loaded as well, e.g.: setenv bootargs 'console=ttyAMA0,115200 console=tty1 root=/dev/mmcblk0p3 rootfstype=ext4 rw rootwait dwc_otg.lpm_enable=0' ext2load mmc 0:2 ${kernel_addr_r} zImage ext2load mmc 0:2 ${fdt_addr_r} dtb/bcm2835-rpi-b.dtb ext2load mmc 0:2 ${ramdisk_addr_r} initrd bootz ${kernel_addr_r} ${ramdisk_addr_r}:0x${filesize} ${fdt_addr_r} # mkimage -A arm -O linux -T script -C none -a 0 -e 0 -n Boot-Script \ -d boot.script .../boot.scr Now what's still missing for a proper JeOS image is the QEMU problem with partitioning in Kiwi, and right now the build is unresolvable. Cheers, Andreas -- SUSE LINUX Products GmbH, Maxfeldstr. 5, 90409 Nürnberg, Germany GF: Jeff Hawn, Jennifer Guild, Felix Imendörffer; HRB 16746 AG Nürnberg -- To unsubscribe, e-mail: opensuse-arm+unsubscribe@opensuse.org To contact the owner, e-mail: opensuse-arm+owner@opensuse.org
-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 On 2014-05-18 21:38, Andreas Färber wrote:
Hello,
I have succeeded in booting our newly built kernel-default package from Kernel:HEAD on the Raspberry Pi model B with Factory and 3.15-rc2+.
Here's a quick how-to:
In yast, add Kernel:HEAD repository: http://download.opensuse.org/repositories/Kernel:/HEAD/ARM/
Install the kernel package: # zypper in kernel-default-3.15.rc5
Prepare initrd settings in /etc/sysconfig/kernel: INITRD_MODULES="sdhci-bcm2835"
Create an initrd: # mkinitrd -v -k zImage-3.15.0-rc5-6.g923c7d2-default \ -i initrd-3.15.0-rc5-6.g923c7d2-default
Make the files accessible to U-Boot: # cd /boot # ln -sf zImage-3.15.0-rc5-6.g923c7d2-default zImage # ln -sf initrd-3.15.0-rc5-6.g923c7d2-default initrd
In your boot.scr make sure that the initrd is loaded as well, e.g.:
setenv bootargs 'console=ttyAMA0,115200 console=tty1 root=/dev/mmcblk0p3 rootfstype=ext4 rw rootwait dwc_otg.lpm_enable=0'
ext2load mmc 0:2 ${kernel_addr_r} zImage ext2load mmc 0:2 ${fdt_addr_r} dtb/bcm2835-rpi-b.dtb ext2load mmc 0:2 ${ramdisk_addr_r} initrd bootz ${kernel_addr_r} ${ramdisk_addr_r}:0x${filesize} ${fdt_addr_r}
# mkimage -A arm -O linux -T script -C none -a 0 -e 0 -n Boot-Script \ -d boot.script .../boot.scr
Now what's still missing for a proper JeOS image is the QEMU problem with partitioning in Kiwi, and right now the build is unresolvable.
I had a look at the kiwi-built JeOS image last week as part of my extra hackweek. It did not use U-boot, so there would be extra work needed to get that right. Here are my notes: as documented, only boots after parted resize of mmcblk0p1 fstab has no /boot or / / not auto-resized on first boot u-boot-rpib not installed /boot/config.txt needs kernel=uboot.bin u-boot looking for boot.scr.uimg instead of boot.scr kerneladdr, ramdiskaddr not defined unknown command ext2load u-boot: no USB-keyboard support Ciao Bernhard M. -----BEGIN PGP SIGNATURE----- Version: GnuPG v2.0.19 (GNU/Linux) Comment: Using GnuPG with Thunderbird - http://www.enigmail.net/ iEYEARECAAYFAlN5qGkACgkQSTYLOx37oWRk0wCg9fl7fTedatV85sY2G2bbbAf+ Ag8An3zvXJb6hCA3LBDknntUW2gq2vxL =CTcQ -----END PGP SIGNATURE----- -- To unsubscribe, e-mail: opensuse-arm+unsubscribe@opensuse.org To contact the owner, e-mail: opensuse-arm+owner@opensuse.org
Le 18/05/2014 21:38, Andreas Färber a écrit :
Hello,
I have succeeded in booting our newly built kernel-default package from Kernel:HEAD on the Raspberry Pi model B with Factory and 3.15-rc2+.
Sounds good. :) What is supported/unsupported compared to kernel-raspberrypi? Video output, video encoding/decoding acceleration, 3D acceleration, sound, etc?
Here's a quick how-to:
In yast, add Kernel:HEAD repository: http://download.opensuse.org/repositories/Kernel:/HEAD/ARM/
Install the kernel package: # zypper in kernel-default-3.15.rc5
Prepare initrd settings in /etc/sysconfig/kernel: INITRD_MODULES="sdhci-bcm2835"
Create an initrd: # mkinitrd -v -k zImage-3.15.0-rc5-6.g923c7d2-default \ -i initrd-3.15.0-rc5-6.g923c7d2-default
Make the files accessible to U-Boot: # cd /boot # ln -sf zImage-3.15.0-rc5-6.g923c7d2-default zImage # ln -sf initrd-3.15.0-rc5-6.g923c7d2-default initrd
In your boot.scr make sure that the initrd is loaded as well, e.g.:
setenv bootargs 'console=ttyAMA0,115200 console=tty1 root=/dev/mmcblk0p3 rootfstype=ext4 rw rootwait dwc_otg.lpm_enable=0'
ext2load mmc 0:2 ${kernel_addr_r} zImage ext2load mmc 0:2 ${fdt_addr_r} dtb/bcm2835-rpi-b.dtb ext2load mmc 0:2 ${ramdisk_addr_r} initrd bootz ${kernel_addr_r} ${ramdisk_addr_r}:0x${filesize} ${fdt_addr_r}
# mkimage -A arm -O linux -T script -C none -a 0 -e 0 -n Boot-Script \ -d boot.script .../boot.scr
Now what's still missing for a proper JeOS image is the QEMU problem with partitioning in Kiwi, and right now the build is unresolvable.
Do you have a GPT or MBR partitioning? Could you give us your SD card partition layout, please? Guillaume -- To unsubscribe, e-mail: opensuse-arm+unsubscribe@opensuse.org To contact the owner, e-mail: opensuse-arm+owner@opensuse.org
Am 19.05.2014 09:47, schrieb Guillaume Gardet:
Le 18/05/2014 21:38, Andreas Färber a écrit :
I have succeeded in booting our newly built kernel-default package from Kernel:HEAD on the Raspberry Pi model B with Factory and 3.15-rc2+.
Sounds good. :)
What is supported/unsupported compared to kernel-raspberrypi? Video output, video encoding/decoding acceleration, 3D acceleration, sound, etc?
I didn't really do a comparison. On my previous tries, the upstream-based, Kiwi-generated initrd resulted in processes getting OOM-killed. The process I outlined should be Kiwi-compatible layout-wise and once 3.15 hits Factory should become even easier. HDMI and serial console output, booting from SDHCI (with the driver addition), USB keyboard, network are all working. Haven't got X11 installed yet. For 3D acceleration AIUI there's a reverse-engineering project here: https://github.com/hermanhermitage/videocoreiv-qpu just as there is a reverse-engineering project for bootcode.bin: https://github.com/hermanhermitage/videocoreiv
Do you have a GPT or MBR partitioning? Could you give us your SD card partition layout, please?
I built on top of an earlier Kiwi image: $ sudo /usr/sbin/parted /dev/mmcblk0 GNU Parted 3.1 Using /dev/mmcblk0 Welcome to GNU Parted! Type 'help' to view a list of commands. (parted) p Model: SD SU16G (sd/mmc) Disk /dev/mmcblk0: 15,9GB Sector size (logical/physical): 512B/512B Partition Table: msdos Disk Flags: Number Start End Size Type File system Flags 1 1049kB 34,6MB 33,6MB primary fat16 type=06 2 35,7MB 245MB 210MB primary ext3 type=07 3 246MB 15,9GB 15,7GB primary ext4 type=83 Forgot two things: 1) Obviously I set /boot as the mount point for /dev/mmcblk0p2 in yast. 2) I now linked dtb-source into RaspberryPi:upstream so that we get a dtb-bcm2835 package matching Kernel:HEAD. Happened to work for me as I was on a previous bcm2835_defconfig 3.15 RC. Would be really nice if we could get dtb-source linked into Kernel:HEAD to avoid such Contrib trickery! Another thing to be solved is that the firmware blobs install to /boot when /boot is the ext3 partition. We need to decide on mount points, have them set up in fstab and then adapt the install paths to be able to update the binaries from a running system. Cheers, Andreas -- SUSE LINUX Products GmbH, Maxfeldstr. 5, 90409 Nürnberg, Germany GF: Jeff Hawn, Jennifer Guild, Felix Imendörffer; HRB 16746 AG Nürnberg -- To unsubscribe, e-mail: opensuse-arm+unsubscribe@opensuse.org To contact the owner, e-mail: opensuse-arm+owner@opensuse.org
participants (3)
-
Andreas Färber
-
Bernhard M. Wiedemann
-
Guillaume Gardet