Nie jesteś zalogowany.
Jeśli nie posiadasz konta, zarejestruj je już teraz! Pozwoli Ci ono w pełni korzystać z naszego serwisu. Spamerom dziękujemy!
Prosimy o pomoc dla małej Julki — przekaż 1% podatku na Fundacji Dzieciom zdazyć z Pomocą.
Więcej informacji na dug.net.pl/pomagamy/.
Witam
jestem początkującym użytkownikiem Debiana (i ogólnie Linuxa). Korzystam z Debiana Wheezy amd64. Chciałby zainstalować na nim oprogramowanie Quartus 12 (oprogramowanie do obsługi i programowania układów FPGA Altera).
Pobrałem już ze strony producenta wersję na Linuxa. Znalazłem też instrukcję instalacji - http://www.alterawiki.com/wiki/Quartus_for_Debian_Wheezy. Chciałbym się dowiedzieć czy mogę bezpiecznie wykonać polecenia z tej instrukcji. Pytam, ponieważ jakiś czas temu próbowałem instalować Quartusa i były jakieś problemy z instalacją (niestety nie pamiętam już jakie), a jak wspomniałem jestem początkującym użytkownikiem Debiana i niec chiałbym nic w nim zepsuć :)
Skrypt instalcyjny wygląda następująco:
#!/bin/env bash # Copyright (c) 2013 Altera Corporation. All rights reserved. # Your use of Altera Corporation's design tools, logic functions and other # software and tools, and its AMPP partner logic functions, and any output files # any of the foregoing (including device programming or simulation files), and # any associated documentation or information are expressly subject to the terms # and conditions of the Altera Program License Subscription Agreement, Altera # MegaCore Function License Agreement, or other applicable license agreement, # including, without limitation, that your use is for the sole purpose of # programming logic devices manufactured by Altera and sold by Altera or its # authorized distributors. Please refer to the applicable agreement for # further details. # Check if we are running on a supported version of Linux distribution with pre-requisite packages installed. # Both RedHat and CentOS have the /etc/redhat-release file. unsupported_os=0 is_rhel_or_centos=0 missing_package=0 if [ -f /etc/redhat-release ] ;then os_version=`cat /etc/redhat-release | grep release | sed -e 's/ (.*//g'` os_platform=`echo ${os_version} | grep "Red Hat Enterprise" || echo ${os_version} | grep "CentOS"` if [ "$os_platform" != "" ] ;then is_rhel_or_centos=1 os_rev=`echo ${os_version} | grep "release 3" || echo ${os_version} | grep "release 4"` if [ "$os_rev" != "" ] ;then unsupported_os=1 fi fi elif [ -f /etc/SuSE-release ] ;then os_version=`cat /etc/SuSE-release` os_platform=`echo ${os_version} | grep SUSE` if [ "$os_platform" != "" ] ;then os_rev=`echo ${os_version} | grep "VERSION = 10"` if [ "$os_rev" != "" ] ;then os_version=`cat /etc/SuSE-release | tr "\n" ' '| sed -e 's/ VERSION.*//g'` unsupported_os=1 fi fi fi if [ $unsupported_os -eq 1 ] ;then echo "" echo "Altera software is not supported on the $os_version operating system. Refer to the Operating System Support page of the Altera website for complete operating system support information." echo "" answer="n" while [ "$answer" != "y" ] do echo -n "Do you want to continue to install the software? (y/n): " read answer if [ "$answer" = "n" ] ;then exit fi done fi if [ $is_rhel_or_centos -eq 1 ] ;then for item in libstdc++ glibc libX11 libXext libXau libXdmcp freetype fontconfig expat do if test -z `rpm -q $item --qf "%{n}-%{arch}\n"| grep "i386\|i486\|i586\|i686"` ; then if [ $missing_package -eq 0 ] ;then missing_package=1 echo "" echo "You must install the 32-bit version of the following libraries for the Quartus II installer and software to operate properly:" fi echo "> $item" fi done else machine_bitness=`uname -m` if [ "$machine_bitness" == "x86_64" ] ;then echo "" echo "You must have the 32-bit compatibility libraries installed for the Quartus II installer and software to operate properly." echo "" fi fi if [ $missing_package -eq 1 ] ;then echo "" echo "You can install these libraries with the RPM utility on Red Hat Linux Enterprise systems or with the yum utility on CentOS systems. Refer to the Altera Software Installation and Licensing Manual for any additional libraries required by Altera Software." echo "" echo "If you proceed with the installation your software may not function correctly." echo "" answer="n" while [ "$answer" != "y" ] do echo -n "Do you want to continue to install the software? (y/n): " read answer if [ "$answer" = "n" ] ;then exit fi done fi export SCRIPT_PATH=`dirname "$0"` export CMD_NAME="$SCRIPT_PATH/components/QuartusSetupWeb-13.1.0.162.run" eval exec "\"$CMD_NAME\"" $@
Pozdrawiam i z góry dziękuję za pomoc
Offline
http://www.alterawiki.com/wiki/Quartus_for_Debian_Wheezy napisał(-a):
Kod:
aptitude install ia32-libs ia32-libs-gtk libxerces-c28 zsh
na wiki w sznurku piszą, żeby instalować ia32-libs, a te paczki wyleciały, zmieniły znaczenie:
ia32-libs-i386 - Transitional package to migrate ia32-libs to multiarch ia32-libs-gtk - Transitional package to migrate ia32-libs-gtk to multiarch ia32-libs-gtk-i386 - Transitional package to migrate ia32-libs-gtk to multiarch
Debian teraz wspiera Multiarch.
Oryginalne ia32-libs ostatnio widziałem w Squeeze.
Ostatnio edytowany przez Jacekalex (2014-10-11 17:10:27)
Offline
Czyli teraz zamisat instalacji pakietów ia-32libs oraz ia32-libs-gtk muszę zainstalować biblioteki 32-bitowe
dpkg --add-architecture i386 apt-get update apt-get install <nazwabiblioteki>:i386
?
A co z pakietem libxerces-c28? Chyba też już go nie ma w repozytorium Debiana.
Offline
michal napisał(-a):
A co z pakietem libxerces-c28? Chyba też już go nie ma w repozytorium Debiana.
Offline
michal napisał(-a):
Czyli teraz zamisat instalacji pakietów ia-32libs oraz ia32-libs-gtk muszę zainstalować biblioteki 32-bitowe
Kod:
dpkg --add-architecture i386 apt-get update apt-get install <nazwabiblioteki>:i386?
A co z pakietem libxerces-c28? Chyba też już go nie ma w repozytorium Debiana.
Biblioteka jest w wheezym:
apt-cache policy libxerces-c28 libxerces-c28: Zainstalowana: (brak) Kandydująca: 2.8.0+deb1-3 Tabela wersji: 2.8.0+deb1-3 0 500 http://ftp.us.debian.org/debian/ stable/main amd64 Packages
Co do multiarch, generalnie tak się teraz postępuje, przy czym ja bym użył aptitude.
Poza tym składnia poleceń wygląda na prawidłową.
Jednak musisz troszkę pokombinować, albo instalacja tych ia32 pakietów migracyjnych, albo tak, jak napisałeś wyżej z multiarch, coś powinno się udać.
Nie mam tu pod ręką programu Quartus, żeby sprawdzić, i prowadzić (za rączkę) czy może inaczej (na smyczy). :D
Offline
Dzięki za wskazówki :)
Mam jeszcze jedno pytanie - czy polecenie
dpkg-reconfigure locales -> Select all en_US
nie zmieni jęsyka programów na angielski?
Ostatnio edytowany przez michal (2014-10-11 17:29:50)
Offline
Udało się zainstalować Quartusa i wygląda, że wszystko działa poprawnie.
Mam jednak jeszcze pytanie odnośnie instalacji sterowników do programatora USB Blaster. Na stronie alterawiki piszą, że trzeba dodać grupę blaster i użytkownika blaster, a następnię do /etc/udev/rules.d/51-usbblaster.rules taką regułę:
# USB-Blaster SUBSYSTEM=="usb", ATTR{idVendor}=="09fb", ATTR{idProduct}=="6001", GROUP="blaster" SUBSYSTEM=="usb", ATTR{idVendor}=="09fb", ATTR{idProduct}=="6002", GROUP="blaster" SUBSYSTEM=="usb", ATTR{idVendor}=="09fb", ATTR{idProduct}=="6003", GROUP="blaster" # USB-Blaster II SUBSYSTEM=="usb", ATTR{idVendor}=="09fb", ATTR{idProduct}=="6010", GROUP="blaster" SUBSYSTEM=="usb", ATTR{idVendor}=="09fb", ATTR{idProduct}=="6810", GROUP="blaster" # BeMicro SUBSYSTEM=="usb", ATTR{idVendor}=="0403", ATTR{idProduct}=="a4a0", GROUP="blaster"
.
Szukałem jeszcze informacji odnośnie instalacji USB Blastera na Debianie i znalazłem na elektrodzie takie coś:
Pacjent: Release 7.1 (wheezy) 32-bit Kernel Linux 3.2.0-4-686-pae Quartus II Web edition USB Blaster "Z pudełka" nie działa komunikacja z Blasterem z powodu braku uprawnień do zapisu do USB, na http://www.altera.com/download/drivers/dri-usb_b-lnx.html można poczytać: Add the following lines to the /etc/udev/rules.d/51-usbblaster.rules file. # USB-Blaster BUS=="usb", SYSFS{idVendor}=="09fb", SYSFS{idProduct}=="6001",\ MODE="0666" BUS=="usb", SYSFS{idVendor}=="09fb", SYSFS{idProduct}=="6002",\ MODE="0666" BUS=="usb", SYSFS{idVendor}=="09fb", SYSFS{idProduct}=="6003",\ MODE="0666" # USB-Blaster II BUS=="usb", SYSFS{idVendor}=="09fb", SYSFS{idProduct}=="6010",\ MODE="0666" BUS=="usb", SYSFS{idVendor}=="09fb", SYSFS{idProduct}=="6810",\ MODE="0666" Problemem jest składnia pliku, powinien on wyglądać tak: # USB-Blaster DRIVERS=="usb", ATTR{idVendor}=="09fb", ATTR{idProduct}=="6001",\ MODE="0666" DRIVERS=="usb", ATTR{idVendor}=="09fb", ATTR{idProduct}=="6002",\ MODE="0666" DRIVERS=="usb", ATTR{idVendor}=="09fb", ATTR{idProduct}=="6003",\ MODE="0666" # USB-Blaster II DRIVERS=="usb", ATTR{idVendor}=="09fb", ATTR{idProduct}=="6010",\ MODE="0666" DRIVERS=="usb", ATTR{idVendor}=="09fb", ATTR{idProduct}=="6810",\ MODE="0666" Problemem też jest plik /lib/udev/rules.d/91-permissions.rules, a konkretnie wpis # usbfs-like devices SUBSYSTEM=="usb", ENV{DEVTYPE}=="usb_device", MODE="0664" powodujący nadpisanie zmiennej MODE, więc nasz plik 51-usbblaster..rules powinien zwac się np 92-usbblaster.rules tadaa... JTAG działa. am
I teraz nie wiem która instrukcja jest poprawna (a nie mam jak sprawdzić bo dostęp do płytki mam tylko na uczelni i chciałbym, żeby już wszystko dobrze działało).
Nie wiem co daje dodanie gupy i użytkownika blaster.
Mam zainstalowany programator USBAsp (do programowania AVR'ów) i reguła wygląda tak:
# USBasp programmer ATTRS{idVendor}=="16c0", ATTRS{idProduct}=="05dc", ATTRS{product}=="USBasp", GROUP="usb", MODE="0666" # Atmel devices SYSFS{idVendor}=="16c0", MODE="666", GROUP="usb" # Devices: free (VOTI) SYSFS{idVendor}=="16c0", MODE="666", GROUP="usb" # Microchip devices SYSFS{idVendor}=="04d8", MODE="666", GROUP="usb" # standard converter FTDI SYSFS{idVendor}=="0403", MODE="666", GROUP="usb" # NXP SYSFS{idVendor}=="0471", MODE="666", GROUP="usb" # LPC-Link probe (Code Red?) SYSFS{idVendor}=="1FC9", MODE="666", GROUP="usb"
Offline
Te regułki do udeva decydują o uprawnieniach gniazda w /dev - który reprezentuje podłączone urządzenie.
Przykład gniazda tworzonego przez sterownik Nvidii:
crw-rw---- 1 root video 195, 0 10-12 07:32 /dev/nvidia0
W tamtych przykładach:
SYSFS{idVendor}=="1FC9", MODE="666", GROUP="usb"
MODE - to uprawnienia gniazda, przy Nvidii 660, GROUP - to grupa, przy Nvidii video, tam blaster albo usb.
W przykładzie z Wiki blastera zastosowany będzie umask domyślny z systemu operacyjnego, w drugim przykładzie MODE ustala 666.
Ostatnio edytowany przez Jacekalex (2014-10-12 20:07:26)
Offline
Czyli taka reguła jest poprawna (gdy nie jest podana grupa to uprawnienia są dla wysztkich użytkowników?)?
SUBSYSTEM=="usb", ATTRS{idVendor}=="09fb", ATTRS{idProduct}=="6001", MODE="0666"
Offline
Jak nie podasz grupy. domyślnie będzie root:root, uprawnienia 666 oznaczają zapis i odczyt dla wszystkich.
Ja bym dał grupę blaster i MODE 660, wtedy tylko root i członkowie danej grupy będą mogli korzystać z danego urządzenia.
Ostatnio edytowany przez Jacekalex (2014-10-12 21:16:08)
Offline