Создание набора инструментов RISC-V GNU - рекомендуется конфигурация Vagrant? - PullRequest
0 голосов
/ 15 октября 2019

Я несколько раз пытался и не смог установить riscv-gnu-toolchain на виртуальную машину. У кого-нибудь есть предлагаемая конфигурация Linux / виртуальной машины (в идеале Vagrantfile)? Если я не могу найти один, я сделаю его сам и поделюсь им здесь. Начальная версия ОС, память и емкость жесткого диска - в идеале, без графического интерфейса, и настолько минимальный, насколько это имеет смысл.

Кроме того, поскольку это такая огромная сборка, людям повезло с настройками с несколькими процессорами и make -j6 (или количество ваших ядер) для параллельных сборок?

1 Ответ

0 голосов
/ 16 октября 2019

Этот Vagrantfile делает это. Он был собран из нескольких источников (ни один из которых не содержал сводную информацию).

Vagrant.configure("2") do |config|
  config.vm.box = "ubuntu/xenial64"
  # needs vagrant plugin install vagrant-disksize:
  config.disksize.size = '40GB'
  config.vm.provider "virtualbox" do |v|
    v.linked_clone = true
    v.cpus = 12
    v.memory = 8192
    v.name = "RISC-V Toolchain (Ubuntu 16)"
  end
  config.vm.provision "shell", inline: <<-SHELL
    echo "updating apt"
    apt-get update
    echo "installing dependencies"
    apt-get install -y autoconf automake autotools-dev curl libmpc-dev libmpfr-dev libgmp-dev gawk build-essential bison flex texinfo gperf libtool patchutils bc zlib1g-dev libexpat-dev
    mkdir /opt/riscv
    chown vagrant:vagrant /opt/riscv
    cd /home/vagrant
    echo "checking out toolchain"
    export HOME=/home/vagrant
    sudo -u vagrant git clone --recursive https://github.com/riscv/riscv-gnu-toolchain
    cd riscv-gnu-toolchain
    echo "configuring toolchain"
    sudo -u vagrant ./configure --prefix=/opt/riscv --enable-multilib
    echo "building toolchain"
    sudo -u vagrant make -j 12 linux
    echo "vagrant provisioner - running tests"
    apt-get install -y expect libglib2.0-dev libfdt-dev libpixman-1-dev zlib1g-dev python
    sudo -u vagrant ./configure --prefix=/opt/riscv
    sudo -u vagrant make report-linux
  SHELL
end
...