Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Question - RaspberryPi 3 Compatibility #375

Closed
aristosv opened this issue Feb 29, 2016 · 47 comments
Closed

Question - RaspberryPi 3 Compatibility #375

aristosv opened this issue Feb 29, 2016 · 47 comments
Milestone

Comments

@aristosv
Copy link

With the new Raspbery Pi 3 on order, I was just curious. Will this script will be compatible with the new RaspberryPi 3? Its still a 32Bit Jessie installation, so I'm assuming it will be.

@goranche
Copy link
Contributor

we believe it will be compatible in terms of the current functionality of the script, yes... but of course, this will have to be tested... 😉

regarding the additional functionality (WiFi and bluetooth support), this will have to be addded, of course, and we'll try to get this sorted as soon as possible... of course, if you're able to help, that would be appreciated 👍

I for one hope I'll be able to get my hands on the raspberry soon (Slovenia isn't the best country to order stuff like this to 😒 )

@aristosv
Copy link
Author

I would be more than happy to help. I'll have 9 Pi's tomorrow. So, whatever's necessary.

@goranche
Copy link
Contributor

I'll have 9 Pi's tomorrow

uuuu, I hate you... 😁

@goranche
Copy link
Contributor

but on a more serious note, great, thanks... 👍 we'll see what needs to be done, and let you know...

@kpfleming
Copy link

Unless they chose a really weird WiFi device for the Pi 3, the current installer should just work since it has WiFi support. Anyone who wants to use Bluetooth during the installation is just crazy :-)

@diederikdehaas
Copy link
Member

If the drivers are part of the kernel tree (that this installer uses), then it should work OOTB.

I'll test it tomorrow when my Pi 3 comes in :-D

@Mausy5043
Copy link
Contributor

https://osmc.tv/2016/02/raspberry-pi-3-announced-with-osmc-support/
OSMC already supports it. The BCM2837 is 64-bit. WiFi/BT is provided by a BCM43438 chip.

@Zeerix
Copy link
Contributor

Zeerix commented Feb 29, 2016

Anyone who wants to use Bluetooth during the installation is just crazy :-)

What about a bluetooth keyboard for troubleshooting? :-)

@kpfleming
Copy link

It looks like the Raspberry Pi Foundation hasn't even published drivers for the Bluetooth interface yet, so that seems to be a moot point... but good lock pairing a keyboard to the Pi while the installer is running, with no other active input devices!

@diederikdehaas
Copy link
Member

OSMC already supports it

I've tried looking up what changes are needed to support the BCM43438 chip, but I've had no luck thus far.

@ericterpstra
Copy link

I just tried in a rPi 3 and got a rainbow screen. Tried two different power adapters and two different ethernet cables. Same result. Then tried the SD card in a rPi B+ and it worked fine.

@goranche
Copy link
Contributor

got a rainbow screen

yes, I've seen that as well (and @diederikdehaas before me), but haven't had the time to work on this yet... 😊

@Mausy5043
Copy link
Contributor

The rainbow screen is displayed after/by start.elf. Next:

  • config.txt is read
  • cmdline.txt is read
  • the kernel *.img is loaded

So, somewhere in that list something goes off.

@diederikdehaas
Copy link
Member

It goes wrong with loading of the kernel.
For starters you MUST get new firmware files as there is now a DeviceTree file for the Pi 3, but I've noticed there are also other files which are not present in the 'latest' raspberrypi-bootloader-nokernel package.
For users of a serial console, you probably want to take a look at RPi-Distro/repo#22

@goranche goranche added this to the v1.1.0 milestone Mar 16, 2016
@Solear
Copy link

Solear commented Mar 26, 2016

Mh, it still does not work :-(
Any solution?

@goranche
Copy link
Contributor

no, it doesn't... 😒 I've had some luck building a completely custom installer (by hand), using the next from from the raspberry firmware repository, and was convinced they'd moved it to the master branch (feeling hopefull it would be released, so we could use it), but going through the same (manual) process of building a custom installer from the master branch resulted in an installer that can't mount the filesystem...

well, at least the kernel boots... 😔

so, we're working on it, but at this time, no real solution has been found yet... I'll at least try to put together a custom image, so there'll be a workaround... (might even happen today, not sure)

@mattotodd
Copy link

Any update here?

@goranche - by "some luck" do you mean you were able to boot a pi without issues using next, or even with next there were other hurdles (i realize bluetooth would not be working out of the box) ?

@goranche
Copy link
Contributor

goranche commented Apr 7, 2016

no real update, no, sorry... I'm "a bit" short on time, have a huge deadline coming up, and 2 of my team members sick, so it's ... let's stick with fun 😒 😇

I was able to boot the RPi3, and get the installer to run, but then had to jump through a lot of hoops to get the installed system to run (basically copy over the next firmware into /boot)... but it was a gamble, didn't get it running reliably, and then (as mentioned) ran out of time...

there was some "chatter" about a new kernel (and firmware), but I'm not sure where that's at...

@bwkihxev
Copy link

I've developed a base image from a raspbian-ua-netinst install on a RPi2.

Let's say I want to start using RPi3 instead, is there a package that can be updated for the RPi2 image to boot on the RPi3? ATM I am getting a rainbow screen simply moving the MicroSD from Pi2 to Pi3

@diederikdehaas
Copy link
Member

@bwkihxev install the raspberrypi-bootloader package as that contains the latest kernel + firmware.
This will remove some other packages, but that's ok.

@4eMaLo
Copy link

4eMaLo commented May 10, 2016

I got it to work for me by copying the boot/ directory from the official reposiory into the SD root and adding

[pi3]
initramfs installer-rpi2.cpio.gz

to config.txt

EDIT:
And after the installation I copied start.elf, start_cd.elf, start_db.elf and start_x.elf to the SD card..

@cherylquirion
Copy link

cherylquirion commented May 26, 2016

Just to clarify @4eMaLo instructions a wee bit.

On my computer, I copied all of the contents of the boot directory from the official repository onto the SD root on the memory card, including start.elf, start_cd.elf, start_db.elf and start_x.elf. Just replace everything that exists on the SD with the files in the boot directory of the official release.

Then I edited the config.txt file on the memory card and added these lines as instructed:

[pi3]
initramfs installer-rpi2.cpio.gz

Next, I put the memory card in the Pi and booted it up. It is happily installing now. Thanks for the tip @4eMaLo. I am about to order 100+ Pis and want to be able to use the Pi3.

EDIT:
As @4eMaLo mentioned, you need to copy start.elf, start_cd.elf, start_db.elf and start_x.elf to the SD card after the installation completes (or as I found ... again after the installation). Otherwise, you just get the rainbow screen. I needed to do it before and after the install. After copying the 2nd time, I can reboot again and again without issue.

@mattotodd
Copy link

thx @cherylquirion - i'll going to try the same later today.

Will the same image work for both pi2 and 3? or is this pi3 specific ?

@cherylquirion
Copy link

Not sure. I have to test that part yet. Will report back.

@diederikdehaas
Copy link
Member

Will the same image work for both pi2 and 3? or is this pi3 specific ?

@mattotodd For the Pi 2 you need to use the [pi2] header, but I have not reason to believe it won't work on the Pi2 ... mostly because it already worked on the Pi2 😉

@mattotodd
Copy link

@diederikdehaas - i know it does, because i've used it

I meant, if i were distributing an image to end users, would they need to know which pi they had, and pick the correct image, or can i just supply a single image.

@eLvErDe
Copy link

eLvErDe commented May 27, 2016

Hi guys,

RPi2 are slowly running out of stock so I guess this issue should be addressed asap. In the meanwhile, as the firwmare git repo is huge, I made a small TGZ containing the file needed only:
http://metz.le-vert.net/pub/rpi-firmware-boot-folder-20160527.tar.gz

Be carefull, there's no subfolder so it's aimed to be extracted to /boot/ directly. The installer is running fine for the moment so once finished, I plan to extract this archive again on /boot and check the config.txt. Finger crossed....

Best regards, Adam.

@goranche
Copy link
Contributor

it's pretty easy to get the installer running on the RPi3 in a manual fashion, and if you know it'll run on the RPi3 only... (and even then it's an ugly solution)
if, however, you want to do it "the right way", it becomes a much (MUCH) bigger problem...

that said, of course, time is being spenf on getting it right...

@eLvErDe
Copy link

eLvErDe commented May 27, 2016

No worry, I fully agree but is that much more than updating a firmware deb package with new code and change template stuff to generate config.txt with pi3 support ?
Do you also need to update the kernel package ?

Adam.

Btw, regarding config.txt AFTER installation I guess it makes more sense to use "initrd.img-3.18.0-trunk-rpi2" instead of the installer one.

@goranche
Copy link
Contributor

yes, the kernel package is one of the (bigger) issues...

@eLvErDe
Copy link

eLvErDe commented May 27, 2016

Speaking about the kernel.... More workaround if you want to use additional modules (ie: i2c):

cd /tmp/
wget http://metz.le-vert.net/pub/rpi-firmware-lib_modules-folder-20160527.tar.gz
tar xvzf rpi-firmware-lib_modules-folder-20160527.tar.gz -C /lib/modules/
depmod

Sadly Pi foundation provided kernel does not include the watchdog module, but at least i2c seems to work fine.

@diederikdehaas
Copy link
Member

Sadly Pi foundation provided kernel does not include the watchdog module,

It's not a module anymore, but it is build in 😞
Modprobe-ing it actually seems to cause issues (but I don't know the details of that).

@Mausy5043
Copy link
Contributor

Same goes for the HWRNG module bcm2708-rng. Which is also built-in for current (4.something) kernels.

@diederikdehaas
Copy link
Member

Same goes for the HWRNG module bcm2708-rng.

Oh crap! I actually meant that one 😇
Wouldn't be surprised if the watchdog module is now also build in, but haven't checked (yet)

@willemdh
Copy link

willemdh commented May 31, 2016

I followed @4eMaLo and @cherylquirion 's procedure. The Rpi3 installed fine, but I did notice one thing. The total physical memory is too low.

On rpi2:

free
             total       used       free     shared    buffers     cached
Mem:        949488      74692     874796       4424       7516      33224
cat /proc/meminfo
MemTotal:         949488 kB
MemFree:          874228 kB
MemAvailable:     904504 kB

On rpi3:

free
             total       used       free     shared    buffers     cached
Mem:        120208     118184       2024       3920      18120      67124
cat /proc/meminfo
MemTotal:         120208 kB
MemFree:            1964 kB
MemAvailable:      88180 kB

As you can see total memory on the rpi3 is far too low. So is it me alone, is my brand-new rpi3 broken...? Or does someone else sees this too?

@4eMaLo
Copy link

4eMaLo commented Jun 2, 2016

@willemdh
I've checked /proc/meminfo on my RPi 3 and it says I have 947748 kB memory in total. Did you check gpu_mem in /boot/config.txt? if this is ok too, try burning the official image to the SD card and then check the memory again. If it is still too low your Pi might actually be broken..

@Edubits
Copy link

Edubits commented Jun 22, 2016

@willemdh and @4eMaLo, I had exactly the same with my first try! I followed the steps, downloaded the boot files from the official repo (version 1.20160620) and tried to install. It did install, but afterwards didn't come past the rainbow screen (also not after replace the start* files). I could login through SSH, and saw the same amount of memory.
Then I tried again, but now using the tar by @eLvErDe instead of the download from the official repo. That worked as expected, I even didn't have to replace the start* after a reboot. So I assume whatever difference there is between these boot files is causing the wrong amount of memory.

@willemdh
Copy link

willemdh commented Jun 22, 2016

@Edubits Thanks for letting us know. I'l also try again with the tar by @eLvErDe

@4eMaLo What do you mean with checking gpu_mem in /boot/config.txt? (I have no gpu_mem in my config.txt) Could someone post a full config.txt which works on rpi3?

@CheshireCat44
Copy link

Firstly, thanks to the core team for creating this very useful software. Secondly, thanks to @cherylquirion and @eLvErDe for enabling me to get this working on a Pi3.
I copied the contents of the 1.0.8.1 zip to the microSD card, copied the contents of @eLvErDe's firmware.tgz on top and then added my own installer-config.txt, post-install.txt and other modifications.
My initial attempt failed with the log showing:
Copying /boot files in... OK
Loading f2fs module...
Oh noes, something went wrong!
but when I removed
rootfstype = f2fs
it worked perfectly. Like @Edubits, there was no need to copy the start... files later.
With my extensions to the system, the Pi3 will perform a full unattended install of a LAMP server with Webmin and send out an email when it is done.
Any suggestion, please, for how rootfstype = f2fs might be made to work?

@alexdebiasio
Copy link

Hello,
First of all thank you for this project.
Is there any update for a version that supports out of the box the Pi3?

@thijstriemstra
Copy link

+1, what is working, what isn't?

@Phiber2000
Copy link

Phiber2000 commented Jul 20, 2016

I'm using raspbian-ua-netinst since long time.

So I forked this great project based on the 1.1.x branch to get the Pi3 working in the meantime. All I had to do was replacing the rasbian kernel with the raspberrypi.org kernel and make the scripts compatible using both repositories.
I tested three different Pi models successfully.

Other changes: raspi-copies-and-fills (for memory improvement), bash-completion and console-common are installed by default.

If someone's interested, it's here.
Of course, there are pre-built zip and images in releases tab.

(I hope, raspbian will update their repository with new kernel soon, so raspbian-ua-netinst can follow with full compatibility.)

@eLvErDe
Copy link

eLvErDe commented Jul 20, 2016

Hey,

Just rebased my work fork on yours and I've been able to generate a valid zip file that installed successfully on a pi2 (using pi.org kernel). So thanks a lot, it's a lot cleaner than my previous hack!

Adam.

On July 20, 2016 2:26:54 PM GMT+02:00, Phiber2000 [email protected] wrote:

I'm using raspbian-ua-netinst since long time.

So I forked this great project based on the 1.1.x branch to get the Pi3
working in the meantime. All I had to do was replacing the rasbian
kernel with the raspberrypi.org kernel and make the scripts compatible
using both repositories.
I tested three different Pi models and f2fs successfully.

Other changes: raspi-copies-and-fills (for memory improvement),
bash-completion and console-common are installed by default.

If someone's interested, it's
here.


You are receiving this because you were mentioned.
Reply to this email directly or view it on GitHub:
#375 (comment)

Envoyé de mon téléphone Android avec K-9 Mail. Excusez la brièveté.

@CheshireCat44
Copy link

Many thanks to @Phiber2000 : it worked "out of the box" on a Pi3. And with f2fs 8-}
So far I haven't tried it on older Pis.

A great project further enhanced.

@diederikdehaas
Copy link
Member

It probably won't be too long before support for the Pi 3 is available in the v1.1.x branch ... 😉

@diederikdehaas
Copy link
Member

If one or more people could test out PR #418 that would be great 😄

@Mausy5043
Copy link
Contributor

Closing this issue as I believe PR #418 solves this. If you feel this is not the case please feel free to re-open the issue.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests