电子工程师技术服务社区
公告
登录
|
注册
首页
技术问答
厂商活动
正点原子
板卡试用
资源库
下载
文章
社区首页
文章
【原创首发】折腾教程:在树莓派上尝试运行X86并配置wine桌面 *不用ExaGear*
分 享
扫描二维码分享
【原创首发】折腾教程:在树莓派上尝试运行X86并配置wine桌面 *不用ExaGear*
树莓派
arm跑x86
原创
折腾
☻
关注
发布时间: 2020-06-03
丨
阅读: 8404
树莓派可能很难给你带来实质性的用途,但树莓派最大的乐趣就是挖坑和填坑。 ——题记 近日我又挖了一个新坑,我想在树莓派上运行X86,而我仅仅是一时兴起。 arm平台运行X86并不容易,一开始搜索到的全是使用ExaGear虚拟机,可一番研究后我发现,ExaGear并不是并不是免费的而且它不再更新也无法购买。怎么办呢?于是我开始了我的填坑之路...... ------------ 话不多说,进入正题 首先把你的系统更新下,喜闻乐见的两条命令: sudo apt-get update sudo apt-get upgrade 再编译内核(有点麻烦),Wine预编译仅支持3G / 1G vmsplit,因此我们将需要编译内核以使其兼容,不要紧张,慢慢来。 首先安装Git和构建依赖项 sudo apt install git bc bison flex libssl-dev make 接下来获取源码(rpi-4.19.y分支) git clone --depth=1 --branch rpi-4.19.y https://github.com/raspberrypi/linux ![](https://cf03.ickimg.com/bbsimages/202006/b4a90f2f27c0f234e8ff8c11ad0bea0f.png) 用工具下载压缩包,再上传解压会快点,这里不赘述。 cd linux make bcm2709_defconfig nano .config 在CONFIG_VMSPLIT_2G=y前加上注释 ![](https://cf03.ickimg.com/bbsimages/202006/36386fcdd2d860134d86dd00a804f7de.png) 把: ![](https://cf03.ickimg.com/bbsimages/202006/860a553a4b6c840293d56fbd5f8cf3a8.png) 改成: ![](https://cf03.ickimg.com/bbsimages/202006/b3918403315a26bae755b589aa639267.png) 开始build! make -j4 zImage modules dtbs 如果出现这个,选1: ![](https://cf03.ickimg.com/bbsimages/202006/dbc5b40ca270f975c42db7eb7c037a39.png) **这里要跑好几个小时**,建议睡会觉。(实际操作死机了,**建议开启或加大swap分区**) sudo make modules_install sudo cp arch/arm/boot/dts/*.dtb /boot/ sudo cp arch/arm/boot/dts/overlays/*.dtb* /boot/overlays/ sudo cp arch/arm/boot/dts/overlays/README /boot/overlays/ sudo cp arch/arm/boot/zImage /boot/$KERNEL.img 漫长的内核编译安装终于搞定了,然后安装一些依赖: sudo apt install qemu qemu-user qemu-user-static binfmt-support debootstrap binutils 然后用debootstrap创建系统: sudo debootstrap --foreign --arch i386 stretch ./chroot-stretch-i386 http://mirrors.huaweicloud.com/debian/ ![](https://cf03.ickimg.com/bbsimages/202006/a86b256e99cfcf14073e7d9e5f0c57b4.png) 过程需要大概十多分钟,建议坐下来泡杯热茶,♪(・ω・)ノ。。。。。。 接着挂载一堆分区: sudo mount -t sysfs /sys/ ./chroot-stretch-i386/sys/ sudo mount -t proc /proc/ ./chroot-stretch-i386/proc/ sudo mount --bind /dev ./chroot-stretch-i386/dev/ sudo mount --bind /dev/pts ./chroot-stretch-i386/dev/pts/ sudo mount --bind /dev/shm ./chroot-stretch-i386/dev/shm/ 然后先: sudo cp /usr/bin/qemu-i386-static ./chroot-stretch-i386/usr/bin/ 再输这个命令安装: sudo chroot ./chroot-stretch-i386/ /debootstrap/debootstrap --second-stage ![](https://cf03.ickimg.com/bbsimages/202006/9410a1b9a18040e1b1cca8a2fa6e1822.png) 这一步要等很久(我等了20分钟),不要以为他卡死了: ![](https://cf03.ickimg.com/bbsimages/202006/2804102229efa8e3abf7e334e3ef8bb0.png) 安装成功后,登录x86子系统。 sudo chroot /home/pi/chroot-stretch-i386/ /bin/su -l root 接着修改.bashrc: nano .bashrc 加入以下内容: export LANGUAGE="C" export LC_ALL="C" export DISPLAY=:0 ![](https://cf03.ickimg.com/bbsimages/202006/f46ae84d790eedc3e180ceba2a27cb85.png) Ctrl+x然后y回车保存。接着喜闻乐见的快速生效: source ~/.bashrc 把x86子系统更新 apt update 我想创建一个与系统用户相同的用户: adduser -uid 1000 pi ![](https://cf03.ickimg.com/bbsimages/202006/6d9ae8e8f374062c5ae68b1c69fb97dd.png) 在退出root用户之前,可以安装下gui。 apt install leafpad 关掉这个终端,测试新创建的用户帐户pi: sudo chroot /home/pi/chroot-stretch-i386/ /bin/su -l pi 同样向.bashrc文件中添加一些变量: export LANGUAGE="C" export LC_ALL="C" export DISPLAY=:0l 话不多说 source ~/.bashrc 如果一切顺利,运行“ leafpad”应该没有问题 leafpad 退出pi,登录x86的root账户 sudo chroot /home/pi/chroot-stretch-i386/ /bin/su -l root 下载wine的二进制文件 wget --no-check-certificate https://www.playonlinux.com/wine/binaries/linux-x86/PlayOnLinux-wine-3.9-linux-x86.pol 不要忘记bzip2喔! apt install bzip2 然后解压: tar -jxf PlayOnLinux-wine-3.9-linux-x86.pol --strip-components=1 重命名文件以使Wine正常运行 将wine文件夹移至“/opt”并将文件夹重命名为wine-3.9 mv ./3.9 /opt/wine-3.9/ echo PATH=/opt/wine-3.9/bin/:$PATH >> ~/.bashrc source ./.bashrc 需要登录到用户帐户以测试Wine exit sudo chroot /home/pi/chroot-stretch-i386/ /bin/su -l pi 同样需要 echo PATH=/opt/wine-3.9/bin/:$PATH >> ~/.bashrc source ./.bashrc 完成所有操作后,现在可以测试wine了 winecfg 最后完成所有设定 sudo mkdir /opt/chrootscript/ 创建脚本: sudo nano /opt/chrootscript/chrootmount 输入:#!/bin/bash mount -t sysfs sys /tmp/mnt/sys/ mount -t proc proc /tmp/mnt/proc/ mount –bind /dev /tmp/mnt/dev/ mount –bind /dev/pts /tmp/mnt/dev/pts/ mount –bind /dev/shm /tmp/mnt/dev/shm/ 为该脚本创建服务,以便每次启动 sudo nano /etc/systemd/system/chrootmount.service 输入: [Unit] Description = mounts chroot on boot [Service] Type=one-shot ExecStart=/usr/bin/chrootmount [Install] WantedBy=multi-user.target 现在可以使用此命令启用服务 sudo systemctl enable chrootmount.service 可以制作2个脚本来启动x86环境,一个用于用户,一个用于root用户。 sudo nano /opt/chrootscript/start_x86_user 输入以下内容#!/bin/sh /usr/sbin/chroot /home/pi/chroot-stretch-i386/ /bin/su -l pi sudo nano /opt/chrootscript/start_x86_root 输入#!/bin/sh /usr/sbin/chroot /home/pi/chroot-stretch-i386/ /bin/su -l root 通过右键单击桌面并选择“ 新建”>“空文件”并将其命名为“ chroot_user.desktop”来生成桌面快捷方式,就更完美了! 输入以下内容 [Desktop Entry] Type=Application Comment=Start Wine x86 Environment Name=Wine x86 User Ex
ec=lxterminal -e sudo /opt/chrootscript/start_x86_user Icon= Terminal=false Categories=Utility StartupNotify=True 对rootru如法炮制。右键单击桌面,然后选择新建>空文件,并将其命名为“ chroot_root.desktop” [Desktop Entry] Type=Application Comment=Start Wine x86 Environment Name=Wine x86 Root Ex
ec=lxterminal -e sudo /opt/chrootscript/start_x86_root Icon= Terminal=false Categories=Utility StartupNotify=True 至此树莓派x86桌面环境全部配置完成,有点繁琐。。。。。 **树莓派可能很难给你带来实质性的用途,但树莓派最大的乐趣就是挖坑和填坑。**
原创作品,未经权利人授权禁止转载。详情见
转载须知
。
举报文章
点赞
(
1
)
☻
关注
评论
(0)
登录后可评论,请
登录
或
注册
相关文章推荐
MK-米客方德推出工业级存储卡
Beetle ESP32 C3 蓝牙数据收发
Beetle ESP32 C3 wifi联网获取实时天气信息
开箱测评Beetle ESP32-C3 (RISC-V芯片)模块
正点原子数控电源DP100测评
DP100试用评测-----开箱+初体验
Beetle ESP32 C3环境搭建
【花雕体验】16 使用Beetle ESP32 C3控制8X32位WS2812硬屏之二
X
你的打赏是对原创作者最大的认可
请选择打赏IC币的数量,一经提交无法退回 !
100IC币
500IC币
1000IC币
自定义
IC币
确定
X
提交成功 ! 谢谢您的支持
返回
我要举报该内容理由
×
广告及垃圾信息
抄袭或未经授权
其它举报理由
请输入您举报的理由(50字以内)
取消
提交