概述
目录
目标
步骤
1. 制作安装盘
2. 安装ubuntu
3. 安装桌面
4. 配置VNC
5. 安装Quartus II 18.0
6. 安装Synopsys, Mentor
7. Samba共享
8. 修改分辨率
9. 安装多版本GCC
10. 修改网卡名字
总结
目标
- 在局域网内配置一台EDA工作站,供多人使用。
- 系统选择Ubuntu Server 18.04 LTS。
- 配置Xfce4桌面环境与多用户VNC登录。
- 安装Quartus II 18.0, Verdi, VCS, Modelsim等EDA工具。
步骤
1. 制作安装盘
官网下载:ubuntu-18.04.1-live-server-amd64.iso
使用UltraISO打开安装镜像文件,启动->写入硬盘镜像, 选择U盘,写入。
安装盘制作完毕。
Alternative: 使用Rufus制作启动盘,目前用过的制作安装盘最好的软件。
2. 安装ubuntu
BIOS选择USB启动。
按照提示一路前进,Optional的软件全部忽略。
分区策略:
SSD 256G
/boot/efi 500M
/boot/ 500M
/swap 32G
/ 剩下所有
HDD 500G
/home 500G
速度很快,几分钟就装好了。
3. 安装桌面
重启后,开始安装必备软件包和桌面环境。
Server版默认仓库不全,很多包都找不到,所以全加上:
sudo add-apt-repository main &&
sudo add-apt-repository universe &&
sudo add-apt-repository restricted &&
sudo add-apt-repository multiverse &&
sudo apt-get update
安装XFCE4和一些必备的软件:(后面几个x开头的的包是解决第二个vnc打开灰屏的问题,和远程vnc与本机startx不能同时运行的问题,反正不装上vnc是没法正常用的)
sudo apt-get install
gcc
g++
gdb
openssh-server
vim-gtk3
net-tools
xfce4
xfce4-terminal
xfce4-goodies
tigervnc-standalone-server
firefox
gnome-system-monitor
xvfb
xfonts-100dpi
xfonts-75dpi
xfonts-cyrillic
xorg
dbus-x11
-y
卸载屏保程序:(VNC用户长时间没有操作,屏保自动打开,不停变化的图案大量占用网络带宽)
sudo apt-get remove xscreensaver -y
解决配置网卡等待2分钟:“A start job is running for wait for Network to be Configured()_”(这个是因为有一个40G的网卡没有插在交换机上导致的)
systemctl disable systemd-networkd-wait-online.service
systemctl mask systemd-networkd-wait-online.service
安装中文支持语言包和中文字体:
sudo apt-get install language-pack-zh-hant language-pack-zh-hans -y &&
sudo apt-get install fonts-droid-fallback ttf-wqy-zenhei
ttf-wqy-microhei fonts-arphic-ukai fonts-arphic-uming -y &&
sudo apt-get install ttf-mscorefonts-installer -y
sudo fc-cache -f -v
装完中文语言包默认会变成中文,在下面几个文件添加环境变量
sudo gvim /etc/environment
增加
LANG="en_US.UTF-8"
LANGUAGE="en_US:en"
sudo vim /var/lib/locales/supported.d/local
修改
en_US.UTF-8 UTF-8
sudo vim /etc/default/locale
修改
LANG="en_US.UTF-8"
LANGUAGE="en_US:en"
使配置生效
sudo locale-gen
调整时间:设置时区
sudo timedatectl set-timezone "Asia/Shanghai"
timedatectl status
网上同步时间并将系统时间写入硬件时间
sudo apt-get install ntpdate
sudo ntpdate cn.pool.ntp.org
sudo hwclock --systohc
4. 配置VNC
vncserver的选择, 这个至关重要!!!
开始用的是 vnc4server,也试了tightvnc。登录之后发现Quartus卡死,而本机完全没问题。后来发现Quartus18.0的界面用了新版本的QT,和vnc不兼容,主机正常,vnc中无法打开GUI,直接卡死。而且有些能打开的软件,键盘输入是乱的。VS Code也打不开。
报错信息:
Failed to initialize XRandr VNC
XKEYBOARD extension not present on the X server VNC
xkb extension not present on
尝试了各种办法都没有效果,xrdp登录也不行,最后发现了 tigervnc才解决了这个问题。只有tigervnc才支持XRandr,还能能够动态的调节分辨率。tigervnc是github上的项目,一直在更新,有人解答问题, 比较靠谱。
PS: Tiger的vncviewer效率比较高,流畅度明显比之前用的realvncviewer要好,就是登陆界面做的太丑了。
VNC Server启动命令:
tigervncserver :1 -geometry 2560x1388 -depth 24 -localhost no
Ubuntu18.04仓库里默认的是1.7版本,需要加localhost这个参数,不然vncviewer无法连接,这个也是坑爹坑到家了,如果能早点把tigervnc用起来,这个Qt GUI的问题也不会搞很久。最新的1.9版本不需要加了,这个参数被作废了。
开机自启动脚本(两个文件)
/etc/vncserver/vncservers.conf
VNCSERVERS="1:1920x1080:user0"
VNCSERVERS=${VNCSERVERS}" 2:1920x1080:user1"
VNCSERVERS=${VNCSERVERS}" 5:1920x1080:user2"
VNCSERVERS=${VNCSERVERS}" 6:2560x1388:user3"
/etc/init.d/vncserver.sh (以服务形式开机自动启动)
#!/bin/bash
### BEGIN INIT INFO
# Provides: set_vncserver
# Required-Start:
# Required-Stop:
# Default-Start: 2 3 4 5
# Default-Stop: 1 0 6
# Short-Description: ...
# Description: ...
### END INIT INFO
VNCSERVERS=""
[ -f /etc/vncserver/vncservers.conf ] && . /etc/vncserver/vncservers.conf
# [ -f vncservers.conf ] && . vncservers.conf
echo $VNCSERVERS
prog=$"VNC server"
. /lib/lsb/init-functions
REQ_USER=$2
echo -n $"Starting $prog: "
ulimit -S -c 0 >/dev/null 2>&1
RETVAL=0
for display in ${VNCSERVERS}
do
export USER="${display##*:}"
if test -z "${REQ_USER}" -o "${REQ_USER}" == ${USER} ; then
echo -n "${display} "
unset BASH_ENV ENV
DISP="${display%%:*}"
GEOMETRY=`echo $display | sed 's/.*:(.*):.*/1/g'`
# echo $DISP
# echo $USER
# echo $GEOMETRY
su ${USER} -c "cd ~${USER} && [ -f .vnc/passwd ] && vncserver -geometry ${GEOMETRY} :${DISP} && exit"
fi
done
5. 安装Quartus II 18.0
最难搞的问题是启动时GUI卡死,在前面关于VNC的问题里已经说明。
缺库Solution:
wget http://ftp.cn.debian.org/debian/pool/main/libp/libpng/libpng12-0_1.2.49-1+deb7u2_amd64.deb
sudo apt install ./libpng12-0_1.2.49-1+deb7u2_amd64.deb
库版本报错Solution:
mv /tools/intelFPGA/18.0u_pro/quartus/linux64/liblzma.so.5 /tools/intelFPGA/18.0u_pro/quartus/linux64/liblzma.so.5.bak
ln -s /lib/x86_64-linux-gnu/liblzma.so.5.2.2 /tools/intelFPGA/18.0u_pro/quartus/linux64/liblzma.so.5
报错
libGL error: unable to load driver: swrast_dri.so
libGL error: failed to load driver: swrast
这个使用 LIBGL_DEBUG=verbose quartus 就可以看到详细错误信息,根据提示,得到Solution:
mv /tools/intelFPGA/18.0u_pro/quartus/linux64/libstdc++.so.6 /tools/intelFPGA/18.0u_pro/quartus/linux64/libstdc++.so.6.bak
ln -s /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.25 /tools/intelFPGA/18.0u_pro/quartus/linux64/libstdc++.so.6
6. 安装Synopsys, Mentor
Crack就不说了,eetop去搜吧。
lmgrd无法执行,报错找不到,没有此文件。这个问题也是坑的让你怀疑人生,文件明明在哪里就是说没有,原来是系统不认,装个包就好了。
sudo apt-get install lsb lsb-base lsb-core
VCS
报错/bin/sh illegal option -h
Solution:
sudo rm -f /bin/sh
sudo ln -s /bin/bash /bin/sh
Verdi
mv /tools/synopsys/Verdi_vN-2017.12-SP1/etc/lib/libstdc++/linux64/libtinfo.so.5 /tools/synopsys/Verdi_vN-2017.12-SP1/etc/lib/libstdc++/linux64/libtinfo.so.5.bak
ln -s /lib/x86_64-linux-gnu/libtinfo.so.5 /tools/synopsys/Verdi_vN-2017.12-SP1/etc/lib/libstdc++/linux64/libtinfo.so.5
Modelsim
sudo apt-get install libxft2
7. Samba共享
使用hostname生效:
sudo apt-get install libnss-winbind samba -y
sudo gvim /etc/nsswitch.conf
找到 hosts: files dns
改为 hosts: files dns wins
sudo service winbind start
现在可以使用hostname来登录vnc了。
与Window共享文件夹:
前面已经安装samba的包,直接
sudo gvim /etc/samba/smb.conf
在最后加上:
[share]
comment = Share Folder require password
browseable = yes
path = /home/share
create mask = 0777
directory mask = 0777
valid users = user0 user1 user2 @group_name
public = yes
writable = yes
available = yes
设置共享目录
mkdir /home/share
sudo chmod 777 /home/share
sudo chown root:root /home/share/
添加samba用户
sudo smbpasswd -a user0
sudo smbpasswd -a user1
sudo smbpasswd -a user2
重启samba服务
sudo service smbd restart
sudo service nmbd restart
此时window上可以看到server的共享目录并用对应的用户登录访问。
PS: Samba相对scp拷贝文件还是快不少的。千兆网Winscp拷贝只有半速,Babun里scp大概用到80%带宽,Samba是全速。
挂载windows上的共享:
sudo apt-get install cifs-utils
sudo mount -t cifs //192.168.xxx.xxx/dd$ ~/mnt -o username=your_name,gid=1000,uid=1000
9. 安装多版本GCC
sudo apt-get install -y gcc-4.8 gcc-4.8-multilib
sudo apt-get install -y g++-4.8 g++-4.8-multilib
sudo apt-get install -y gcc-5 gcc-5-multilib
sudo apt-get install -y g++-5 g++-5-multilib
sudo apt-get install -y gcc-6 gcc-6-multilib
sudo apt-get install -y g++-6 g++-6-multilib
sudo apt-get install -y gcc-7 gcc-7-multilib
sudo apt-get install -y g++-7 g++-7-multilib
sudo apt-get install -y gcc-8 gcc-8-multilib
sudo apt-get install -y g++-8 g++-8-multilib
sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-4.8 48
sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-5 50
sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-6 60
sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-7 70
sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-8 80
sudo update-alternatives --install /usr/bin/g++ g++ /usr/bin/g++-4.8 48
sudo update-alternatives --install /usr/bin/g++ g++ /usr/bin/g++-5 50
sudo update-alternatives --install /usr/bin/g++ g++ /usr/bin/g++-6 60
sudo update-alternatives --install /usr/bin/g++ g++ /usr/bin/g++-7 70
sudo update-alternatives --install /usr/bin/g++ g++ /usr/bin/g++-8 80
切换版本
sudo update-alternatives --config gcc
sudo update-alternatives --config g++
目前VCS只有用gcc4.8才不报错。gcc-5是版本5.5,也不行。Ubuntu 16.04上默认gcc版本是5.4,VCS没问题。可能是VCS不支持版本大于5.4的gcc吧。
10. 修改网卡名字
网卡默认名字是ensXX,而有些EDA工具不认这个名字,导致license Check Out 失败,比如Quartus 16.0。所以必须改成eth0。
18.04以前
sudo gvim /etc/network/interfaces
添加文件内容:
auto lo
iface lo inet loopback
auto eth0
iface eth0 inet dhcp
auto eth1
iface eth1 inet static
address 192.168.10.1
netmask 255.255.255.0
auto eth2
iface eth2 inet static
address 192.168.10.2
netmask 255.255.255.0
systemctl restart networking
以下18.04之后可用:
旧的管理工具如果有,要先卸载掉
apt remove ifupdown
In Ubuntu 18.04 server, cloud-init manages the network configuration. So, you would need to disable it by editing the below file.
sudo vim /etc/cloud/cloud.cfg.d/99-disable-network-config.cfg
Put the below line into the configuration file.
network: {config: disabled}
编辑文件:
sudo vim /etc/netplan/50-cloud-init.yaml
内容:
network:
renderer: networkd
ethernets:
eth0:
# dhcp4: true
dhcp4: no
addresses: [192.168.32.37/24]
gateway4: 192.168.32.1
nameservers:
# search: [itzgeek.local]
addresses: [166.111.8.28, 8.8.8.8]
eth1:
dhcp4: true
eth2:
dhcp4: true
eth3:
dhcp4: true
version: 2
Generate the required configuration for the renderers.
netplan generate
Apply all configuration and restart renderers.
netplan apply
ifconfig -a
查看DNS状态:
systemd-resolve --status
然后:
sudo gvim /etc/default/grub
找到 GRUB_CMDLINE_LINUX=""
改为 GRUB_CMDLINE_LINUX="net.ifnames=0 biosdevname=0"
更新grub配置文件 :
sudo update-grub
重启。
总结
安装过程坑太多,各种乱七八糟的问题没有做详细描述,贴的命令基本就是解决方案。
最后
以上就是正直口红为你收集整理的Ubuntu Server 18.04 EDA服务器安装日志目标步骤总结的全部内容,希望文章能够帮你解决Ubuntu Server 18.04 EDA服务器安装日志目标步骤总结所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复