skiffos / SkiffOS

Any Linux distribution, anywhere.
https://skiffos.com
MIT License
702 stars 52 forks source link

Kernel panic on Raspberry Pi 2 Model B v1.1 #192

Closed yokoyama-flogics closed 2 years ago

yokoyama-flogics commented 2 years ago

Hello,

Thank you for the great software.

After reading this, I thought configuration pi/3 should work on Raspberry Pi 2 Model B v1.1 (revision code from cpuinfo is a01041.)

Used SkiffOS version is 2022.02.1. My procedure was:

$ cd SkiffOS
$ make
$ export SKIFF_WORKSPACE=default
$ export SKIFF_CONFIG=pi/3,skiff/core
$ make configure
$ make compile
$ sudo bash
# export SKIFF_WORKSPACE=default
# export PI_IMAGE=./pi-image.img
# make cmd/pi/common/buildimage

Here is the kernel boot log.

On the other hand, I confirmed that the same build image ran on Raspberry Pi 3 Model B Plus Rev 1.3 (hardware revision is a020d3 from cpuinfo).

Thank you for any advises.

Regards, Atsushi

paralin commented 2 years ago

Hi, thanks for the report, I guess Pi 2 needs a separate config.

I added pi/2 on the latest master commit 7091461c58f604edcb9b46d15210e0d282fd16cf

You'll need to rebuild with pi/2 instead which uses a build for the older CPU.

SKIFF_CONFIG=pi/2

Please feel free to re-open / reply here if this doesn't fix it.

yokoyama-flogics commented 2 years ago

Hello @paralin,

Thank you for your prompt reply!

Yes, I will try that.

By the way, in generally speaking, when we change SKIFF_CONFIG, do we need make clean or similar? Why I ask is, I noticed make compile requires quite long time to complete. (More than 4 hours on my old PC.)

In this time case, we need to check out the different commit from Git, I guess we need a new SKIFF_CONFIG and make compile in anyway...

Thanks and Regards, Atsushi

paralin commented 2 years ago

@yokoyama-flogics Good question, there is a compiler cache, so subsequent builds will be much faster. If you want to build multiple SKIFF_CONFIG at once, please set SKIFF_WORKSPACE and use a separate workspace for each. It will remember the config for each namespace so in future you can just "make compile" without setting SKIFF_CONFIG before.

You don't need to fully clean every time, Buildroot will re-compile anything that updated + re-configure the kernel, however, you may need to delete workspaces/myworkspace/build/linux-custom to force downloading & building the newer kernel if it was updated. And if any of the toolchain, kernel major version, or compiler version changed, it's probably best to fully re-compile ("make clean" and "make compile").

Hope that helps.

In most cases you don't need to do a full re-build, you can just "make compile" and any updated packages will be built + new kernel config applied.