HCL:Chroot
Chroot
对于 ARM 平台,在任何机器,openSUSE 都可以和您的其他系统并存安装,x86 和 ARM 系统,一视同仁。因此您可以在 x86 工作站上进行 openSUSE ARM 的开发。当然也可以在您的 Android ARM 设备上运行 openSUSE。但是请使用 root 执行以下指令。
首先, 现在最新的 (JeOS, E20, GNOME, KDE, LXQT, X11, or XFCE) root 文件系统 (*.tar.xz) :
- aarch64
Version: Tumbleweed
|
http://download.opensuse.org/ports/aarch64/tumbleweed/images/ |
Version: Leap 15.0
|
http://download.opensuse.org/ports/aarch64/distribution/leap/15.0/appliances/ |
Version: Leap 42.3
|
http://download.opensuse.org/ports/aarch64/distribution/leap/42.3/appliances/ |
- armv7
Version: Tumbleweed
|
http://download.opensuse.org/ports/armv7hl/tumbleweed/images/ |
Version: Leap 15.0
|
http://download.opensuse.org/ports/armv7hl/distribution/leap/15.0/appliances/ |
Version: Leap 42.3
|
http://download.opensuse.org/ports/armv7hl/distribution/leap/42.3/appliances/ |
- armv6
Version: Tumbleweed
|
http://download.opensuse.org/ports/armv6hl/tumbleweed/images/ |
# wget http://download.opensuse.org/ports/aarch64/tumbleweed/images/openSUSE-Tumbleweed-ARM-JeOS.aarch64-rootfs.aarch64-Current.tar.xz # mkdir rootfs # sudo tar xJf *.tar.xz -C rootfs
如果您使用 x86,请设置 QEMU 转码以执行 ARM 执行程序。 您可以跳过以下工作,如果您已经有了一个 ARM 设备:
# zypper in qemu-linux-user # qemu-binfmt-conf.sh
准备环境:
# mount --bind /proc rootfs/proc # mount --bind /sys rootfs/sys # mount --bind /dev rootfs/dev # mount --bind /dev/pts rootfs/dev/pts # cp /etc/resolv.conf rootfs/etc/
拷贝 qemu/binfmt 模拟转码到如下环境:
# cp /usr/bin/qemu-arm-binfmt rootfs/usr/bin # cp /usr/bin/qemu-arm rootfs/usr/bin
切换 root 到路径:
# chroot rootfs
您可以参考其他 openSUSE 安装,照常执行指令,例如:
# zypper ref # zypper up # zypper in gcc make SDL-devel
完成后,输入:
# exit
现在,就回到了您之前的系统环境。
自主执行环境
如果您已经具有了自己的内核和bootloader,您可以遵循上述步骤,但是仍需要将 rootfs 压缩文件解压到设备上真正的分区(如SD卡)。在进行内核启动时,指定到新的分区启动。
U-Boot 2012.04.01 (Oct 14 2012 - 20:04:42) CPU: Some CPU Board: Some Board DRAM: n GiB Using default environment In: serial Out: serial Err: serial Hit any key to stop autoboot: 0 U-Boot > setenv bootargs root=/dev/mmcblk0p1 U-Boot > boot
这样,您可以使用自己的内核,bootloader,来运行一个 openSUSE 发行版!