HCL:Chroot

跳转到:导航搜索

Chroot

openSUSE for ARM 可以在任何 Linux 机器上与您的其他操作系统一起安装,无论它是基于 x86 还是 ARM 的。 这样您就可以在基于 x86 的工作站上使用 openSUSE for ARM。 或者您可以在您的 Android ARM 设备上运行它。 请确保您是 root 用户才能执行以下命令片段。

首先,从以下网址下载最新的 (JeOS, E20, GNOME, KDE, LXQT, X11, 或 XFCE) 根文件系统 (*.tar.xz):

  • aarch64
Geeko-white.png
Tumbleweed
http://download.opensuse.org/ports/aarch64/tumbleweed/appliances/
Geeko-white.png
Leap 15.4
http://download.opensuse.org/ports/aarch64/distribution/leap/15.4/appliances/


  • armv7
Geeko-white.png
Tumbleweed
http://download.opensuse.org/ports/armv7hl/tumbleweed/appliances/
Geeko-white.png
Leap 15.4
http://download.opensuse.org/ports/armv7hl/distribution/leap/15.4/appliances/


  • armv6
Geeko-white.png
Tumbleweed
http://download.opensuse.org/ports/armv6hl/tumbleweed/appliances/


# wget http://download.opensuse.org/ports/aarch64/tumbleweed/appliances/openSUSE-Tumbleweed-ARM-JeOS.aarch64-rootfs.aarch64.tar.xz
# mkdir rootfs
# sudo tar xf *.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

Chroot 进入环境

# chroot rootfs

现在您可以像在任何 openSUSE 安装中一样运行命令,例如

# zypper ref
# zypper up
# zypper in gcc make SDL-devel

完成操作后,输入

# exit

您将返回到您之前的文件系统。

自行构建环境

如果您有自己的内核和引导加载程序,您可以按照上述步骤操作,但将 rootfs tbz 文件提取到您机器上的真实分区(或 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

这样您就可以使用您自己的内核和引导加载程序来运行 openSUSE 发行版!