我就说说Ubuntu的镜像吧,我下载是xenial-server-cloudimg-arm64-uefi1.img,下载地址。选择arm64和uefi1结尾的img镜像即可。这里我使用的直接镜像启动,核启动需要下载disk1结尾的镜像,另外还需要提取linuz和initramfs,方法可以参考ARM64调试环境 - 简单地快乐 - 博客园
编译并安装好Qemu后,还需要安装aarch64的UEFI固件。这里可以使用OVMF (Open Virtual Machine Firmware),其中aarch64架构的又叫做AAVMF。安装非常简单,其实就是下载一个叫QEMU_EFI.fd的文件。如果有apt,直接sudo apt-get install qemu-efi,固件就会下载到/usr/share/qemu-efi/中。如果用的是yum,便是yum install edk2.git-aarch64,只不过目录在/usr/share/edk2.git/aarch64/中。
虽然OVMF手册上写可以直接使用-pflash参数直接使用QEMU_EFI.fd固件用于启动。但实际操作会报无法读取pfalsh0的错误。所以还需要准备一下启动用的pflash,命令如下:
1 2 3 | dd if=/dev/zero of=flash0.img bs=1M count=64 dd if=/usr/share/qemu-efi/QEMU_EFI.fd of=flash0.img conv=notrunc dd if=/dev/zero of=flash1.img bs=1M count=64 |
其中flash0.img即UEFI固件,flash1是VARS。
由于ubuntu server不提供密码配置,也就是说安装后是无法通过root用户和密码登录系统的,我们需要在系统启动前编写好配置文件,将自己的ssh公钥添加进去,然后使用ssh登录。首先要下载云配置文件生成工具sudo apt install cloud-utils。编写配置文件cloud.txt,参考如下
1 2 3 4 5 6 7 8 9 | #cloud-config users: - name: ubuntu ssh-authorized-keys: - ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCw+5N1GWY1KM7ZQEKc/CIPOdwqM4BbBGvcNwodtxPZv0pTCR5PnzxHAY/36bEjRyqcR81dg72LeF3DIjmEqkjfXnr44yVmUfqyN0lz/4EzWI8a6A6vXMKf1wJbPRNXR5utEFFg4VAbc7noYHpa8j3dzPBmp5kjzzy0+z421r4MMzJFRoiqQWMLOdHKl7R/SDB/36fHeBSwzFmfJVlhtiSfk3e51nsS7ISC0MBfBi0baliutbVWS+YyZkoibQOgY01uL11zc5JzUQ9W0/GjImZn99GA23hFU04Fxle88YF3sEvohBZy7tAPwVBySRxB3fMuDaHVOPjHtpfCIYdzjN7r yooo@yooo-pc sudo: ['ALL=(ALL) NOPASSWD:ALL'] groups: sudo shell: /bin/bash |
name为登录用的有户名,ssh-rsa下方的内容为你的ssh公钥,一般在~/.ssh/id_rsa.pub中。编写好后保存,执行cloud-localds cloud.img cloud.txt即可生成配置文件cloud.img。
由于启动参数比较多,最好编写一个Qemu的启动脚本,就叫./qemu_start.sh吧,参考如下:
1 2 3 4 5 6 7 8 9 | qemu-system-aarch64 \ -m 4096 -cpu cortex-a57 -M virt \ -serial stdio \ -pflash flash0.img -pflash flash1.img \ -drive if=none,file=xenial-server-cloudimg-arm64-uefi1.img,id=image \ -device virtio-blk-device,drive=image \ -device virtio-blk-device,drive=cloud \ -drive if=none,id=cloud,file=cloud.img \ -netdev user,hostfwd=tcp::2222-:22,id=unet -device virtio-net-device,netdev=unet \ |
关于每一项的具体含义我就不解释啦,可以查找Qemu手册。
1 | sudo ./qemu_start.sh |
按照网上的教程这一步应该就可以进入虚拟机了,新开一个终端,输入ssh ubuntu@localhost -p 2222(这里的ubuntu为cloud.txt配置中的name),即用ssh协议登录虚拟机了。
error:no such device: root,那么就是引导出了问题。再次执行启动脚本,就会进入UEFI界面。
c进入GRUB命令行模式。输入ls查看硬盘状态,找到ubuntu系统根目录,从分区boot目录下的内容可以找到,这里根目录在(hd3,gpt1)中:
1 2 3 4 | set root=(hd3,gpt1) linux /boot/vmlinuz-4.4.0-104-generic root=/dev/vdb1 initrd /boot/initrd.img-4.4.0-104-generic boot |
注意:这里(hd3,gpt1)是ubuntu系统根目录分区,即boot目录下有内容的那个分区,不是请替换。linux后的vmlinuz-4.4.0-104-generic对应(hd3,gpt1)/boot下的内容,不是请替换。initrd.img-4.4.0-104-generic同理。另外这里的/dev/vdb1是不确定的,如果无法启动linux进入了initramfs,输入ls /dev/查看是否有vdb1设备,如果是vda1,或者vdc等等等等,那就改成对应设备重新启动一次。
1 | sudo update-grub2 |
自动更新GRUB配置文件,再次启动就不会找不到根目录了。
来源:网络
ubuntu 16.04 server编译安装dcmtk步骤 2018年11月21日 11:16:01 大白小明 阅读数:35更多 个人分类: 随手记dcmtk 1,下载最新版本的DCMTK 2,解压: 3,进入文件夹内 4,创建构建文件夹 5,执行cmake的命令进行配置 如图6所示,出现如下界面时按“回车” 修改上下箭...
1,下载最新版本的DCMTK 2,解压: 3,进入文件夹内 4,创建构建文件夹 5,执行cmake的命令进行配置 如图6所示,出现如下界面时按“回车” 修改上下箭头切换项目 编辑完成按“C” 执行完回到该页面后按“G”即可生成配置信息。 修改以下两项: BUILD_APPS ON(打开才可以生成可执行...
接着上一篇博客… 1.选择刚刚安装的虚拟机,点击导航栏的虚拟机,选择最后一项 2.选择CD/DVD,在右侧选择使用iso镜像,选择原先在官网下载的ubuntu server的镜像文件 3.语言按照默认的,回车即可 4.按默认的,回车就好 5.按默认的,回车就好 6.地理位置选择最下面的other 7.选择asia(亚洲) 8.选择china 9.时区按默认的,回车就好 10.选择No...
安装环境: Windows;确保磁盘空间足够,一般需要8个G左右。 所需文件: 首先在Ubuntu的官网上下载.iso的镜像文件,链接是:http://www.ubuntu.org.cn/server; 本次安装选择的是Ubuntu Server 16.04的版本。 然后在virtualbox的官网上下载安装好虚拟机,可以根据电脑系统的不同选择适合...
确定要安装哪种 TensorFlow 仅支持 CPU 的 TensorFlow。如果您的系统没有 NVIDIA GPU,就必须安装此版本。请注意,此版本的 TensorFlow 通常更容易安装(用时通常在 5 或 10 分钟内),所以即使您拥有 NVIDIA GPU,我们也建议先安装此版本。 支持 GPU 的 TensorFlow。TensorFlow 程序在 GPU 上的运行速度通常要比在 CP...
一步一步显示Virtualbox下ubuntu server的安装 前提条件:1-Oracle VM VirtualBox已安装完成; 2-已下载好ubuntu-16.04.3-server-amd64(其他版本的也可以) 现在开始虚拟机下ubuntu server的安装 1、点击新建按钮,选择需要安装的系统类型,这里我们安装的类型是liunx,版本是64位的。 然后名称那填入一个名...
Ubuntu Server 16.04.1安装配置图解教程 2017-02-22 株野 阅 23871 转 112 一、Ubuntu Server 16.04.1系统安装 Ubuntu分为桌面版(desktop)和服务器版(Server),下面为大家介绍服务器版本Ubuntu Server 16.04.1的详细安装过程。 附Ubuntu Server 16.04.1系统镜像下载地址: 32位/64...
接着上一篇博客… 1.选择刚刚安装的虚拟机,点击导航栏的虚拟机,选择最后一项 2.选择CD/DVD,在右侧选择使用iso镜像,选择原先在官网下载的ubuntu server的镜像文件 3.语言按照默认的,回车即可 4.按默认的,回车就好 5.按默认的,回车就好 6.地理位置选择最下面的other 7.选择asia(亚洲) 8.选择china 9.时区按默认的,回车就好 10.选择No...
ubuntu16.04 默认是不包含nfs 服务的,以下是常用的安装步骤: (1) sudo apt-get install nfs-kernel-server (2) 修改配置文件 /etc/exports, 在文件末尾添加准备共享的目录 *:允许所有的网段访问,也可以使用具体的IP rw:挂接此目录的客户端对该共享目录具有读写权限 sync:资料同步写入内存和硬盘 no_root_squash...
工业视觉常用的几种标定方式。 计算像素比 有些时候我们需要的检测数据并不需要特别准确,并且手边没有其它标定工具,可以使用这种方法大概算一算每个像素对应多大距离。 找一个知道距离的物体,测出它的像素距离,像素比例=被测物体距离÷像素大小 相机固定--平台移动的标定 这种方式需要被测物体固定在可以改变位置的移动平台上。 采用4点标定法,在物体所在图像中心拍照取一个点,命名为(0,0),记...
Here is a printscreen of a tooltip/intellisense that is there before and after I hit the printscreen key. Here is a an image from my camera. Have also tried delayed printscreen with count down using 3...
I have a function on a website where I have a img reference leading to a php page which I need to return an image and update a database file I figured this would not work as I am referencing a php pag...
I am new to Laravel and trying to use enrtust plugin for roles and permissions, but when following the instructions in the documentation, I reached the bit where I have to put the code that creates th...
I'm creating an app for a trading card game called Magic: the Gathering and I have made a query that checks all user-submitted decks and gives you the percentage of cards you have in your inventory ov...
I'd like to take data from my iPhone app, and allow users to email it to other users of the app. I have the app data stored as an array of NSManagedObjects in CoreData. What is the best way to take th...