首页 > 编程知识 正文

mac下vmware安装linux,mac如何在虚拟机中安装linux

时间:2023-05-05 01:52:09 阅读:222430 作者:2885

一、虚拟机系统的安装

        使用Parallels Desktop 推荐的方式直接安装Ubuntu/Debian即可,这里我选择Debian(8G丐版在实际跑ubuntu的时候,用了几天,后面内存占用较高,改小运行内存后会出现闪退的情况,具体原因没有深究。Debian使用体验确实不错,使用的是xfce4桌面,这里先给大家避个雷)

        博主这里默认的硬件配置是2核心+2G内存,实际体验很不错,暂时没发现卡顿。

        安装过程全程不用动电脑,等待就好,硬件配置后面可以在虚拟机的配置中修改。

二、 基本环境的配置和源的替换

        这里仍然不用赘述,我使用的是清华源,注意替换好源之后要更新。

# 默认注释了源码镜像以提高 apt update 速度,如有需要可自行取消注释
deb https://mirrors.tuna.tsinghua.edu.cn/debian/ buster main contrib non-free
# deb-src https://mirrors.tuna.tsinghua.edu.cn/debian/ buster main contrib non-free
deb https://mirrors.tuna.tsinghua.edu.cn/debian/ buster-updates main contrib non-free
# deb-src https://mirrors.tuna.tsinghua.edu.cn/debian/ buster-updates main contrib non-free

deb https://mirrors.tuna.tsinghua.edu.cn/debian/ buster-backports main contrib non-free
# deb-src https://mirrors.tuna.tsinghua.edu.cn/debian/ buster-backports main contrib non-free

deb https://mirrors.tuna.tsinghua.edu.cn/debian-security buster/updates main contrib non-free
# deb-src https://mirrors.tuna.tsinghua.edu.cn/debian-security buster/updates main contrib non-free

sudo apt-get update

sudo apt-get upgrade

三、安装交叉编译工具链

        方法一:(缺点,只能在裸机开发下工作正常,编译uboot会出现问题,具体原因没有深究)

        这里看过正点原子教程的都知道是在 linaro中下载解压安装的,但是教程中是针对x86架构的ubuntu,实际上我们安装的是arm架构的虚拟机,安装是一定会出问题的。

        但是之前在ubuntu试图安装的时候偶然发现gcc-arm-linux-gnueabihf,然后就尝试了一波如下命令

sudo apt-get install gcc-arm-linux-gnueabihf

       

        然后就安装成功了,看一下版本信息是没问题的。

        可以看到主机是aarch64,证明版本安装正确。

        方法二:

        由于在线安装交叉编译工具链会存在问题,于是推荐大家使用arm官方发行的交叉编译工具链进行安装下载地址,验证后发现可以进行uboot编译,但是编译命令脚本会和正点原子官方所提供的有所差别。安装好后,修改环境变量

sudo vi /etc/profile

        重启查看版本号

        验证成功,下一篇文章会进行uboot编译验证。 

 四、进行Linux 裸机下载验证

        我们在虚拟机上写好测试的程序之后,生成.bin文件

        这里使用Makefile编译

CROSS_COMPILE ?= arm-linux-gnueabihfTARGET ?= bspGCC := $(CROSS_COMPILE)-gccLD:= $(CROSS_COMPILE)-ldOBJCOPY := $(CROSS_COMPILE)-objcopyOBJDUMP := $(CROSS_COMPILE)-objdumpINC_DIRS := imx6ul bsp/clk bsp/led bsp/delay bsp/keybsp/gpioSRC_DIRS:= project bsp/clk bsp/led bsp/delay bsp/keybsp/gpio INCLUDE:= $(patsubst %, -I %, $(INC_DIRS))S_DIR_FILES:= $(foreach dir, $(SRC_DIRS), $(wildcard $(dir)/*.S))C_DIR_FILES:= $(foreach dir, $(SRC_DIRS), $(wildcard $(dir)/*.c))S_FILES:= $(notdir $(S_DIR_FILES))C_FILES:= $(notdir $(C_DIR_FILES))S_OBJS:= $(patsubst %, obj/%, $(S_FILES:.S=.o))C_OBJS:= $(patsubst %, obj/%, $(C_FILES:.c=.o))OBJS:= $(S_OBJS) $(C_OBJS)VPATH:= $(SRC_DIRS).PHONY: clean$(TARGET).bin : $(OBJS)$(LD) -Timx6ul.lds -o $(TARGET).elf $^$(OBJCOPY) -O binary -S $(TARGET).elf $@$(OBJDUMP) -D -m arm $(TARGET).elf > $(TARGET).dis$(S_OBJS) : obj/%.o : %.S$(GCC) -Wall -nostdlib -c -O2 $(INCLUDE) -o $@ $<$(C_OBJS) : obj/%.o : %.c$(GCC) -Wall -nostdlib -c -O2 $(INCLUDE) -o $@ $<clean:rm -rf $(TARGET).elf $(TARGET).dis $(TARGET).bin $(OBJS)

        此时进行下载验证会报错,因为之前正点原子的imxdownload 执行文件是在x86端编译的,显然我们在arm平台上要重新编译一次。

        重新编译imxdownload

        再将其拷贝到项目工程目录下 ,再次进行验证

        下载成功!

        至此,裸机开发部分,暂时没遇到其他问题。可以开心的在M1上进行Linux 裸机学习咯

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。