我可以将 pi1b 系统复制到 pi2b 吗?

Can I copy the pi1b system to pi2b?

我有一个Raspberry Pi1b,AMD最近买了一个Pi2b。所以我想知道我是否可以使用图像工具将pi1system复制到pi2?我可能会复制 pi1 的 SD 卡到一个 .img 文件,然后使用该文件创建 pi2 的 micro SD 卡的数据。

我知道两个树莓派的CPU不一样。那么可用吗?有人试过吗?

如果是这样,会不会存在一些系统内部隐藏的bug,我们无法立即发现,影响系统正常工作?

如有任何建议,我们将不胜感激!

简答

可以,请确保您的 OS 具有 ARMv7 内核。

长答案

来自 official Raspberry Pi blog 的一些引述:

Broadcom were willing to step up with a new SoC, BCM2836. This retains all the features of BCM2835, but replaces the single 700MHz ARM11 with a 900MHz quad-core ARM Cortex-A7 complex: everything else remains the same, so there is no painful transition or reduction in stability.

注意:ARMv7 向后兼容 ARMv6,下面的引用证明了这一点。

At launch, we are using the same ARMv6 Raspbian userland on both Raspberry Pi 1 and 2

可能存在一些隐藏的问题

不会是从Pi 1 model B升级到Pi 2 model B造成的,是复制镜像造成的。如果您或您的系统对网络接口的 MAC 地址进行了硬编码,则可能会导致问题。我知道这不是最好的例子,但有时人们不会思考和硬编码可以改变的东西。这完全取决于您的 OS.

在 raspbian

上安装新内核的简短操作方法

最好在进行这些更改之前备份您的 SD 卡,如果出现问题,可能会阻止您的 Pi 启动。

要在 Linux/OS X 上备份您的 SD 卡,您可以使用(记得 select 正确的设备 (sda/sdb/sdc):

sudo dd bs=4M if=/dev/sdX of=raspbian.img

要安装 ARMv7 内核:

sudo apt-get update
sudo apt-get install linux-image-rpi2-rpfv
sudo apt-get install linux-headers-rpi2-rpfv

检查 /boot 以确保你有 kernel7.img:

ls -lsa /boot

ls 的结果:

3861 -rwxr-xr-x  1 root root 3953492 Feb 24 20:55 kernel.img
3818 -rwxr-xr-x  1 root root 3908696 Feb 24 20:55 kernel7.img

如果这不起作用,您可以尝试通过修改 /boot/config.txt 来强制使用内核名称,请参阅 http://elinux.org/RPiconfig#Boot 了解更多选项。

其他问题

在这种情况下,wifi 驱动程序或流媒体摄像头等内核模块如果默认情况下不受支持,也会导致新的 ARMv7 内核出现问题,请参阅 http://l0l.org.uk/2015/02/headaches-whilst-upgrading-to-raspberry-pi-2/