Illegal Instrucion dopo aggiornamento glibc-solib

Se avete problemi con l'installazione e la configurazione di Slackware64 postate qui. Non usate questo forum per argomenti che trattano la Slackware32 o generali... per quelli usate rispettivamente il forum Slackware e Gnu/Linux in genere.

Moderatore: Staff

Regole del forum
1) Citare sempre la versione di Slackware64 usata, la versione del Kernel e magari anche la versione della libreria coinvolta. Questi dati aiutano le persone che possono rispondere.
2) Per evitare confusione prego inserire in questo forum solo topic che riguardano appunto Slackware64, se l'argomento è Slackware32 o generale usate rispettivamente il forum Slackware o Gnu/Linux in genere.
3) Leggere attentamente le risposte ricevute
4) Scrivere i messaggi con il colore di default, evitare altri colori.
5) Scrivere in Italiano o in Inglese, se possibile grammaticalmente corretto, evitate stili di scrittura poco chiari, quindi nessuna abbreviazione tipo telegramma o scrittura stile SMS o CHAT.
6) Appena registrati è consigliato presentarsi nel forum dedicato.

La non osservanza delle regole porta a provvedimenti di vari tipo da parte dello staff, in particolare la non osservanza della regola 5 porta alla cancellazione del post e alla segnalazione dell'utente. In caso di recidività l'utente rischia il ban temporaneo.
Rispondi
ilmich
Master
Master
Messaggi: 1645
Iscritto il: lun 16 lug 2007, 17:39
Slackware: 15.0 64bit
Kernel: 5.15.27
Desktop: kde
Località: Roma

Illegal Instrucion dopo aggiornamento glibc-solib

Messaggio da ilmich »

Ragazzi,

ho un server di test che sto provando da diverse ore ad aggiornare alla 14 (attualmente c'e' la 13.37)
L'architettura è a 64bit e dopo aver aggiornato le glibc-solibs come da 'manuale' tutti i programmi mi danno il seguente errore

Codice: Seleziona tutto

Illegal Instruction
quindi nn riesco piu' a procedere e devo brasare tutto.

Inizialmente pensavo a qualche errore mio, ma googlando un po' sembra che questo errore sia dovuto ad una istruzione illegale, insomma come se la 14.0 nn supportasse quel processore!
Ma secondo voi è possibile sta cosa?!!? soprattutto in considerazione del fatto che la 13.37 va bene?!?!?!?! il salto di versione non è una cosa fondamentale pero' a sto punto voglio capirci comunque di piu'.

ciau
#LiveSimple and #ProgramThings
https://github.com/ilmich
http://ilmich6502.it/

Avatar utente
targzeta
Iper Master
Iper Master
Messaggi: 6631
Iscritto il: gio 3 nov 2005, 14:05
Nome Cognome: Emanuele Tomasi
Slackware: 64-current
Kernel: latest stable
Desktop: IceWM
Località: Carpignano Sal. (LE) <-> Pisa

Re: Illegal Instrucion dopo aggiornamento glibc-solib

Messaggio da targzeta »

Dipende da quanto è importante il server e da come ci accede, però se hai un server ssh attivo ci puoi ancora copiar qualche programma compilato staticamente per vedere di evitare di cancellare tutto.

A me una volta è capitato qualcosa del genere, non ricordo l'errore preciso, però avevo sbagliato l'upgrade e nessun programma trovava più le glibc. Fortunatamente avevo ancora una server ssh e una bash caricati in memoria. Sono riuscito a risolvere miracolosamente copiando le vecchie glibc e usando solo i comandi interni della bash.

Se invece hai già "brasato" tutto, puoi provare a vedere se installando la 14 di sana pianta il problema si ripresenta. Non metto in dubbio le tue capacità però mi sembra strano che da un giorno ad un altro il tuo processore a 64bit non sia più supportato.

Emanuele
Se pensi di essere troppo piccolo per fare la differenza, prova a dormire con una zanzara -- Dalai Lama

ilmich
Master
Master
Messaggi: 1645
Iscritto il: lun 16 lug 2007, 17:39
Slackware: 15.0 64bit
Kernel: 5.15.27
Desktop: kde
Località: Roma

Re: Illegal Instrucion dopo aggiornamento glibc-solib

Messaggio da ilmich »

Riuppo questo post perchè sto avendo tempo per riprendere il discorso.
Sostanzialmente la macchina in questione è un server virtuale hostato presso un provider, quindi la cpu è emulata.
Ebbene, partendo dalla 13.37 la slackware 14 a 64bit non si aggiorna per incompatibilità col processore emulato.
Non ho le competenze, nè tantomeno riesco a riprodurre il problema in locale, quindi a parte queste misere considerazioni non posso dire nient'altro
Se invece dalla 13.37, aggiorno alla current tutto fila liscio e il problema non si presenta.
La procedura che ho seguito è sempre la stessa ovvero:
1) modificati i mirror in /etc/slackpkg/mirrors
2) slackpkg update
3) slackpkg upgrade-all

L'aggiornamento dalla 13.37 alla 14 invece funziona se uso la versione a 32bit.
Quindi sostanzialmente ho 1/2 risolto in quanto non mi resta che attendere la nuova versione stabile :D

EDIT: preciso che l'installazione che ho sul server viene fornita dal provider e non è una full, ma una slackware minimale con il solo servizio ssh operativo (il resto è a cura dell'amministratore) percio' i passaggi soliti slackpkg install-new e slackpkg clean-system nel mio caso non sono necessari
#LiveSimple and #ProgramThings
https://github.com/ilmich
http://ilmich6502.it/

Avatar utente
ZeroUno
Staff
Staff
Messaggi: 5441
Iscritto il: ven 2 giu 2006, 14:52
Nome Cognome: Matteo Rossini
Slackware: current
Kernel: slack-current
Desktop: ktown-latest
Distribuzione: 01000000-current
Località: Roma / Castelli
Contatta:

Re: Illegal Instrucion dopo aggiornamento glibc-solib

Messaggio da ZeroUno »

install-new completo no, ma mirato si. Il clean-system invece sicuro.
Il concetto é che dalla 13.37 ad oggi alcuni pacchetti di sistema sono stati sostituiti.
Per esempio modules-init-tool vs. kmod. Credo che devi scorrere un po' il changelog.

Secondo me comunque é questione di kernel. Che kernel ha nativamente e a quale stai aggiornando?


Magari dacci un cat /proc/cpu
Che tecnologia di virtualizzazione usa?

Poi dal momento che sto giocherellando con la virtualizzazione mi puoi dare l'elenco dei pacchetti installati?

Giusto per curiosità, che provider usi?
Packages finder: slakfinder.org | Slackpkg+, per aggiungere repository a slackpkg

Codice: Seleziona tutto

1011010 1100101 1110010 1101111 - 0100000 - 1010101 1101110 1101111

ilmich
Master
Master
Messaggi: 1645
Iscritto il: lun 16 lug 2007, 17:39
Slackware: 15.0 64bit
Kernel: 5.15.27
Desktop: kde
Località: Roma

Re: Illegal Instrucion dopo aggiornamento glibc-solib

Messaggio da ilmich »

ZeroUno ha scritto:install-new completo no, ma mirato si. Il clean-system invece sicuro.
Il concetto é che dalla 13.37 ad oggi alcuni pacchetti di sistema sono stati sostituiti.
si si.. diciamo che la mia precisazione era piu' dovuta al fatto che magari si era tentati di pensare che non avendo seguito la procedura descritta un po' ovunque (anche nella documentazione ufficiale) il problema stava li :D
ZeroUno ha scritto:Secondo me comunque é questione di kernel. Che kernel ha nativamente e a quale stai aggiornando?
pero' questo non spiegherebbe perchè poi alla fine l'aggiornamento alla current invece funziona... o meglio... a logica non dovrebbe.

Il sistema è paravirtualizzato con xen (al momento in cui scrivo kernel 3.9.3).. la cpu cosi' come la vedo nella macchina virtuale è (sono 8 percio' ti posto solo l'ultima che tanto le altre sono uguali)

Codice: Seleziona tutto

processor	: 7
vendor_id	: GenuineIntel
cpu family	: 6
model		: 45
model name	: Intel(R) Xeon(R) CPU E5-2670 0 @ 2.60GHz
stepping	: 7
microcode	: 0x70d
cpu MHz		: 2600.078
cache size	: 20480 KB
physical id	: 0
siblings	: 8
core id		: 0
cpu cores	: 1
apicid		: 0
initial apicid	: 6
fpu		: yes
fpu_exception	: yes
cpuid level	: 13
wp		: yes
flags		: fpu de tsc msr pae cx8 sep cmov pat clflush mmx fxsr sse sse2 ss ht syscall nx lm constant_tsc rep_good nopl nonstop_tsc pni pclmulqdq ssse3 cx16 sse4_1 sse4_2 x2apic popcnt tsc_deadline_timer aes hypervisor lahf_lm ida arat epb pln pts dtherm
bogomips	: 5200.15
clflush size	: 64
cache_alignment	: 64
address sizes	: 46 bits physical, 48 bits virtual
power management:
mentre l'immagine slackware che viene messa a disposizione al primo deploy è composta dai seguenti pacchetti (come dicevo nel post precedente sono tornato alla 13.37 in attesa della 14.1.. percio' i pacchetti sono versioni della 13.37)

Codice: Seleziona tutto

aaa_base-13.37-x86_64-3
aaa_elflibs-13.37-x86_64-7
aaa_terminfo-5.8-x86_64-1
acct-6.5.4-x86_64-1
acl-2.2.50-x86_64-1
ash-0.4.0-x86_64-2
at-3.1.12-x86_64-1
attr-2.4.45-x86_64-1
autofs-5.0.5-x86_64-1
bash-4.1.010-x86_64-1
bc-1.06.95-x86_64-2
bin-11.1-x86_64-1
bpe-2.01.00-x86_64-2
bzip2-1.0.6-x86_64-1
ca-certificates-20090814-noarch-1
coreutils-8.11-x86_64-1
cxxlibs-6.0.14-x86_64-1
dc3dd-6.12.3-x86_64-1
dcron-4.4-x86_64-1
devs-2.3.1-noarch-25
dhcpcd-5.2.11-x86_64-1
dialog-1.1_20100428-x86_64-2
diffstat-1.53-x86_64-1
diffutils-3.0-x86_64-1
dirmngr-1.1.0-x86_64-1
e2fsprogs-1.41.14-x86_64-1
elvis-2.2_0-x86_64-2
etc-13.013-x86_64-1
file-5.05-x86_64-1
findutils-4.4.2-x86_64-1
gawk-3.1.8-x86_64-1
gettext-0.18.1.1-x86_64-1
getty-ps-2.1.0b-x86_64-1
glibc-solibs-2.13-x86_64-4
glibc-zoneinfo-2.13-noarch-4
gnupg-1.4.11-x86_64-1
gnupg2-2.0.17-x86_64-1
gnutls-2.10.5-x86_64-1
gpa-0.7.5-x86_64-1
gpgme-1.3.0-x86_64-1
grep-2.7-x86_64-1
groff-1.21-x86_64-1
gzip-1.4-x86_64-1
inetd-1.79s-x86_64-8
infozip-6.0-x86_64-1
iproute2-2.6.37-x86_64-1
iptables-1.4.10-x86_64-1
iputils-s20101006-x86_64-1
ispell-3.2.06-x86_64-1
kbd-1.15.2-x86_64-1
less-443-x86_64-1
lha-114i-x86_64-1
libassuan-2.0.1-x86_64-1
libgcrypt-1.4.6-x86_64-1
libgpg-error-1.9-x86_64-1
libksba-1.2.0-x86_64-1
libx86-1.1-x86_64-1
logrotate-3.7.8-x86_64-1
lrzip-0.602-x86_64-1
lsof-4.83-x86_64-1
lxc-0.7.4-x86_64-2
man-1.6g-x86_64-1
man-pages-3.32-noarch-1
mkinitrd-1.4.6-x86_64-11
module-init-tools-3.12-x86_64-2
most-5.0.0a-x86_64-2
nano-2.3.0-x86_64-1
ncompress-4.2.4.3-x86_64-1
net-tools-1.60-x86_64-3
netpipes-4.2-x86_64-1
network-scripts-13.0-noarch-3
ntp-4.2.6p3-x86_64-1
openssh-5.8p1-x86_64-1
openssl-0.9.8r-x86_64-3
openssl-solibs-0.9.8r-x86_64-3
patch-2.6.1-x86_64-1
perl-5.12.3-x86_64-1
pidentd-3.0.19-x86_64-1
pinentry-0.8.1-x86_64-1
pkg-config-0.25-x86_64-1
pkgtools-13.37-noarch-9
procps-3.2.8-x86_64-3
python-2.6.6-x86_64-1
screen-4.0.3-x86_64-2
sed-4.2.1-x86_64-1
shadow-4.1.4.3-x86_64-2
sharutils-4.11-x86_64-1
slackpkg-2.82.0-noarch-5
slocate-3.1-x86_64-3
sudo-1.7.4p6-x86_64-1
sysfsutils-2.1.0-x86_64-1
sysklogd-1.5-x86_64-1
sysvinit-2.86-x86_64-6
sysvinit-functions-8.53-x86_64-2
sysvinit-scripts-1.2-noarch-43
tar-1.26-x86_64-1
tcsh-6.17.00-x86_64-1
time-1.7-x86_64-1
traceroute-2.0.17-x86_64-1
udev-165-x86_64-2
utempter-1.1.5-x86_64-1
util-linux-2.19-x86_64-1
vim-7.3.154-x86_64-1
wget-1.12-x86_64-1
which-2.20-x86_64-1
whois-5.0.11-x86_64-1
xz-5.0.2-x86_64-1
Comunque il servizio che utilizzo si chiama Linode.. lo iniziai ad utilizzare un paio d'anni fa.. e da allora non me ne sono mai pentito.
Affidabile.. pannello di controllo molto semplice e chiaro.. si aggiorna spesso.. fai conto che giusto l'altro giorno hanno raddoppiato lo spazio a disposizione (da 25gb che già erano tanti visto che non è un server della NASA)... e tempo fa il numero delle cpu da 4 a 8.. attualmente ho una macchina con 1GB di ram, 8 processori e 50gb di hdd e mi costa 20$ al mese (pagamenti annuali e semestrali si risparmia un po')
Non è il piu' economico.. ma i soldi spesi a mio avviso li vale tutti.

giusto per completezza uso anche vr.org che pero' ha un servizio abbastanza scadente, le immagini slackware non si avviano (hanno un problema con il filesystem al boot e io per farle andare ho dovuto commentare un pezzo dell'rc.S) e fanno spesso manutenzione (per pochi minuti.. pero' linode m'ha spento i server 5 minuti in 1 anno).. pero' diciamo che questo è molto piu' economico (macchina con 512mb di ram costa 10$ mese) quindi sostanzialmente pochi soldi spesi.. servizio un po' piu' carente.

a tal proposito chi conosce/usa/consiglia altri provider è benvenuto
#LiveSimple and #ProgramThings
https://github.com/ilmich
http://ilmich6502.it/

Avatar utente
ZeroUno
Staff
Staff
Messaggi: 5441
Iscritto il: ven 2 giu 2006, 14:52
Nome Cognome: Matteo Rossini
Slackware: current
Kernel: slack-current
Desktop: ktown-latest
Distribuzione: 01000000-current
Località: Roma / Castelli
Contatta:

Re: Illegal Instrucion dopo aggiornamento glibc-solib

Messaggio da ZeroUno »

miklos ha scritto:che magari si era tentati di pensare che non avendo seguito la procedura descritta un po' ovunque (anche nella documentazione ufficiale) il problema stava li :D
No, quando è minimale è normale che non si fa un install-new, ma un controllo mirato si. E comunque dal tipo di errore il problema non è lì
ZeroUno ha scritto:Secondo me comunque é questione di kernel. Che kernel ha nativamente e a quale stai aggiornando?
pero' questo non spiegherebbe perchè poi alla fine l'aggiornamento alla current invece funziona... o meglio... a logica non dovrebbe.

Il sistema è paravirtualizzato con xen (al momento in cui scrivo kernel 3.9.3)..
Invece lo spiegherebbe.
xen richiede qualche funzionalità compilata nel kernel (e difatti non hai il pacchetto kernel-* di slackware installato); per la versione 13.37 poi credo che necessitava anche delle patch. Che kernel hai/avevi per la 13.37?
Il kernel 3.2.29 che ha slackware 14.0 ha giusto introdotto queste feature senza necessità di patch, ma comunque la funzionalità va abilitata (e il kernel ricompilato).
Il fatto che il kernel della current funziona magari è perchè ha qualche feature aggiornata (bug?); Per la 14.0 Pat ha aggiornato il kernel (in patches), 3.2.45


Anche io ho xen, solo che non mi viene dato a disposizione slackware ma solo centos, debian, e ubuntu. Tuttavia me la sono fatta io slackware.
Ho preso la lista di pacchetti da installare da un sito che mette a disposizione immagini per xen (per la 14.0 l'iso è a pagamento, ma la lista dei pacchetti è riportata), e ho fatto un merge con un post su linuxquestions ed è venuto fuori questo (slackware64-current):

Codice: Seleziona tutto

aaa_base-14.0-x86_64-5
aaa_elflibs-14.1-x86_64-2
aaa_terminfo-5.8-x86_64-1
acpid-2.0.19-x86_64-1
bash-4.2.045-x86_64-1
bin-11.1-x86_64-1
bzip2-1.0.6-x86_64-1
coreutils-8.21-x86_64-1
cpio-2.11-x86_64-2
curl-7.31.0-x86_64-1
cxxlibs-6.0.18-x86_64-1
cyrus-sasl-2.1.23-x86_64-5
dcron-4.5-x86_64-4
devs-2.3.1-noarch-25
dhcp-4.2.5_P1-x86_64-1
dhcpcd-6.0.5-x86_64-2
dialog-1.2_20130523-x86_64-1
diffutils-3.2-x86_64-1
e2fsprogs-1.42.8-x86_64-2
elvis-2.2_0-x86_64-2
etc-14.1-x86_64-1
file-5.14-x86_64-1
findutils-4.4.2-x86_64-1
fontconfig-2.10.93-x86_64-1
gawk-4.1.0-x86_64-2
gd-2.0.35-x86_64-4
gdbm-1.8.3-x86_64-4
gettext-0.18.2.1-x86_64-2
gettext-tools-0.18.2.1-x86_64-2
getty-ps-2.1.0b-x86_64-1
glib2-2.36.4-x86_64-1
glibc-2.17-x86_64-5
glibc-i18n-2.17-x86_64-5
glibc-solibs-2.17-x86_64-5
glibc-zoneinfo-2013d-noarch-5
gnupg-1.4.14-x86_64-1
gpgme-1.4.1-x86_64-1
grep-2.14-x86_64-1
groff-1.22.2-x86_64-1
gzip-1.6-x86_64-1
inetd-1.79s-x86_64-8
iproute2-3.10.0-x86_64-1
iptables-1.4.17-x86_64-1
iputils-s20101006-x86_64-2
kbd-1.15.3-x86_64-2
kmod-12-x86_64-1
ksh93-2012_08_01-x86_64-1
less-451-x86_64-1
libICE-1.0.8-x86_64-1
libSM-1.2.1-x86_64-1
libX11-1.6.1-x86_64-1
libXau-1.0.8-x86_64-1
libXaw-1.0.11-x86_64-1
libXdmcp-1.1.1-x86_64-1
libXext-1.3.2-x86_64-1
libXmu-1.1.1-x86_64-1
libXp-1.0.2-x86_64-1
libXpm-3.5.10-x86_64-1
libXt-1.1.4-x86_64-1
libassuan-2.1.0-x86_64-1
libffi-3.0.13-x86_64-2
libgpg-error-1.11-x86_64-1
libidn-1.25-x86_64-2
libtermcap-1.2.3-x86_64-7
libxcb-1.9-x86_64-1
libxml2-2.9.1-x86_64-1
logrotate-3.8.2-x86_64-1
lsof-4.83-x86_64-1
man-1.6g-x86_64-1
man-pages-3.50-noarch-1
mkinitrd-1.4.8-x86_64-1
mpfr-3.1.2-x86_64-1
nano-2.3.2-x86_64-1
ncurses-5.9-x86_64-2
net-tools-1.60.20120726git-x86_64-1
network-scripts-14.1-noarch-1
openssh-6.2p2-x86_64-1
openssl-1.0.1e-x86_64-1
openssl-solibs-1.0.1e-x86_64-1
perl-5.18.0-x86_64-1
pkgtools-14.0-noarch-2
popt-1.16-x86_64-2
procps-3.2.8-x86_64-4
python-2.7.5-x86_64-1
qca-cyrus-sasl-2.0.0_beta3-x86_64-1
qca-gnupg-2.0.0_beta3-x86_64-1
readline-5.2-x86_64-4
rsync-3.0.9-x86_64-1
screen-4.0.3-x86_64-4
sed-4.2.1-x86_64-1
shadow-4.1.5.1-x86_64-1
slackpkg-2.82.0-noarch-9
sudo-1.8.6p8-x86_64-1
sysklogd-1.5-x86_64-2
sysvinit-2.88dsf-x86_64-3
sysvinit-functions-8.53-x86_64-2
sysvinit-scripts-2.0-noarch-14
tar-1.26-x86_64-1
texinfo-4.13a-x86_64-4
traceroute-2.0.18-x86_64-1
tree-1.6.0-x86_64-1
udev-182-x86_64-6
utempter-1.1.5-x86_64-1
util-linux-2.21.2-x86_64-6
vim-7.3.1087-x86_64-1
wget-1.14-x86_64-2
which-2.20-x86_64-1
xz-5.0.5-x86_64-1
zlib-1.2.6-x86_64-1
zsh-5.0.2-x86_64-1
solo che ho fatto impicci col bootloader ed ora non posso farla partire. Che tipo di accesso hai alla console e al bootloader?
Io se faccio un errore nel kernel in console lo vedo, e se ho un initrd lo posso usare, ma il bootloader (per forza grub, o meglio, solo menu.lst perchè gli stage stanno sull'hosting) non lo posso vedere e se faccio un errore devo distruggere la macchina virtuale e ricrearla (10min in tutto ;))

Il kernel (3.10.7) l'ho ricompilato per abilitare il supporto a xen, ma con il .config di Pat non va bene; ho dovuto prendere il .config di centos (2.6.32 :(), dare un make oldconfig e fare un po' di adattamenti. La 14.0 non l'ho provata.



Il servizio che uso io è Tophost. Tanti si lamentano del supporto, ma io non ho mai avuto grossi problemi.
2 processori 512M ram 20G di disco sarebbero 5.99€+iva/mese, ma di tanto in tanto distribuiscono buoni sconto su facebook e io ne ho presi parecchi, quindi in pratica lo pago 0.99€+iva /mese.
Packages finder: slakfinder.org | Slackpkg+, per aggiungere repository a slackpkg

Codice: Seleziona tutto

1011010 1100101 1110010 1101111 - 0100000 - 1010101 1101110 1101111

ilmich
Master
Master
Messaggi: 1645
Iscritto il: lun 16 lug 2007, 17:39
Slackware: 15.0 64bit
Kernel: 5.15.27
Desktop: kde
Località: Roma

Re: Illegal Instrucion dopo aggiornamento glibc-solib

Messaggio da ilmich »

xen come prodotto lo conosco giusto il minimo indispensabile :D pero' da quel che capisco io linode usa la modalità paravirtualizzata e non in emulazione hardware (modello virtualbox). insomma nell'immagine che mettono a disposizione il kernel non c'e' perchè non viene utilizzato.. viene utilizzato quello messo a disposizione dall'hypervisor.
riprova ne è che non ho ne' un bootloader ne' i pacchetti del kernel. pero' puo' darsi che nn c'abbia capito un tubo :D

al momento in cui scrivo il kernel a disposizione è il 3.9.3.. posso sceglierne uno piu' recente(o anche della serie 2.6.x), ma sempre tramite pannello di configurazione.. all'interno del sistema anche facendolo nn sortirebbe alcun effetto.
io alla fine ipotizzo un qualche bug strano legato a gcc/glib che magari genera binari non compatibili con chissa quale set di istruzioni mancante della cpu in questione. bug che evidentemente è stato fixato con le nuove versioni (da qui la current)
pero' la mia domanda è... esiste un modo per poter vedere qualcosa di piu' del laconico "illegal instruction?!?!?!".. certo pensandoci bene considerando che lo da non appena aggiorno le glibc poi nn funzionerebbe quasi piu' un tubo :(

in effetti.. ma penso che il gioco nn valga la candela sopratutto perchè non ho un gran banda internet.. con linode puoi crearti un sistema in virtualbox eppoi trasferirlo tramite ssh+dd (percio' teoricamente puoi installare una qualsiasi distribuzione linux).. quindi magari potrei provare a installare una 14.0 in locale.. trasferirla e vedere che succede.. ma ripeto non so se mi imbarchero' in quest'impresa..

RIguardo al tipo di accesso.. linode offre una console web chiamata LISH che emula un terminale a caratteri.. quando poi tutto va a farfalle puoi abilitare una modalità che avvia una live chiamata finnix che monta le partizioni della macchina virtuale.. quindi puoi tentare il recupero del sistema (per la cronaca questa cosa la fa pure l'altro servizio di hosting che uso.. ovvero vr.org).
ZeroUno ha scritto:Il servizio che uso io è Tophost. Tanti si lamentano del supporto, ma io non ho mai avuto grossi problemi.
2 processori 512M ram 20G di disco sarebbero 5.99€+iva/mese, ma di tanto in tanto distribuiscono buoni sconto su facebook e io ne ho presi parecchi, quindi in pratica lo pago 0.99€+iva /mese.
sono contento che ti ci trovi bene.. perchè anche io con tophost ho dei brutti ricordi.. domini stupidi che pero' quando ho avuto dei problemi di qualsiasi natura (burocratico e tecnico) pare che gli stessi chiedendo un rene.
comunque buoni sconto a parte il prezzo è in linea con vr.org (stesse caratteristiche)
#LiveSimple and #ProgramThings
https://github.com/ilmich
http://ilmich6502.it/

Avatar utente
ZeroUno
Staff
Staff
Messaggi: 5441
Iscritto il: ven 2 giu 2006, 14:52
Nome Cognome: Matteo Rossini
Slackware: current
Kernel: slack-current
Desktop: ktown-latest
Distribuzione: 01000000-current
Località: Roma / Castelli
Contatta:

Re: Illegal Instrucion dopo aggiornamento glibc-solib

Messaggio da ZeroUno »

miklos ha scritto:xen come prodotto lo conosco giusto il minimo indispensabile :D pero' da quel che capisco io linode usa la modalità paravirtualizzata e non in emulazione hardware (modello virtualbox). insomma nell'immagine che mettono a disposizione il kernel non c'e' perchè non viene utilizzato.. viene utilizzato quello messo a disposizione dall'hypervisor.
riprova ne è che non ho ne' un bootloader ne' i pacchetti del kernel. pero' puo' darsi che nn c'abbia capito un tubo :D
Anche io lo conosco giusto un minimo. Il sistema di virtualizzazione in cui la macchina guest usa il kernel della macchina host è openvz (che è un chroot avanzato, in cui hai un minimo di gestione della /proc, ma il kernel a cui fai le richieste dirette è quello con cui è stato bootato l'host).
In xen ci sono due kernel; uno è quello dell'hypervisor e uno della macchina guest, che non necessariamente devono coincidere; l'importante è che quello della macchina guest abbia al suo interno compilato il supporto per xen, e i due kernel comunicano tra di loro.
Il bootloader c'è, ma risiede sull'hypervisor. Evidentemente in linode il bootloader punta ad una immagine del anch'essa kernel presente sull'hosting. In Tophost invece risiedono sull'hypervisor gli stage di grub, ma il menu.lst e i dischi a cui punta sono quelli della macchina guest, quindi ho controllo completo, anche se diventa un'arma a doppio taglio.
Infatti tu hai kernel compilati, testati e certificati da loro, e se la macchina non ti parte è perchè hai fatto casini con init.
Io posso compilarmi un kernel customizzato, ma se faccio un errore e la macchina non mi parte sto fregato (anche perchè la modalità 'boot da cd' non esiste).
La console che ho a disposizione io è un'applet java (un vnc client) che mi simula il monitor (con tanto di framebuffer; quando bootto vedo i pinguini :))..
io alla fine ipotizzo un qualche bug strano legato a gcc/glib che magari genera binari non compatibili con chissa quale set di istruzioni mancante della cpu in questione. bug che evidentemente è stato fixato con le nuove versioni (da qui la current)
non c'è altra soluzione. Forse dovresti segnalare la cosa su linuxquestions. Ho notato che le glibc sono compilate con il flag "-O3" che mi sembra di capire che ha tanti feedback negativi.
pero' la mia domanda è... esiste un modo per poter vedere qualcosa di piu' del laconico "illegal instruction?!?!?!"..
beh, fondamentalmente tu hai fatto una istruzione illegale :). che vuoi che ti dica? anzi che non panica! "illegal instruction" lo dice il processore al kernel; il kernel non fa altro che dirtelo a te. Windows ti direbbe "questo programma ha eseguito una istruzione illegale e sarà chiuso" (mi è successo), non è che è molto più chiaro.
in effetti.. ma penso che il gioco nn valga la candela sopratutto perchè non ho un gran banda internet.. con linode puoi crearti un sistema in virtualbox eppoi trasferirlo tramite ssh+dd (percio' teoricamente puoi installare una qualsiasi distribuzione linux).. quindi magari potrei provare a installare una 14.0 in locale.. trasferirla e vedere che succede.. ma ripeto non so se mi imbarchero' in quest'impresa..
Se è un problema di compatibilità con il processore, installare su virtualbox e portarla su xen non dovrebbe risolvere.
Io ho fatto l'installazione in chroot, l'ho testata e poi l'ho sostituita a quella originale. Ormai è una pratica che faccio spesso.
Fai questo lavoro.. prendi l'installer della 14.0 (initrd.img) e scompattalo in una directory. Questa dovrebbe usare le glibc della 14.0 (ovviamente). Entraci in chroot e vedi se da lo stesso messaggio.
Ho fatto una guida qualche anno fa; è un po' vecchiotta ma molte cose sono ancora valide.

Codice: Seleziona tutto

# mkdir -p /SLACK/INSTALL ; cd /SLACK/INSTALL
# gzip -cd /SLACK/INSTALL/isolinux/initrd.img|cpio -i 
# mount -o bind /proc /SLACK/INSTALL/proc
# mount -o bind /dev /SLACK/INSTALL/dev
# chroot /SLACK/INSTALL
Se le librerie sono fallate dovresti ottenere già l'errore.
Oppure prova a scaricare tutti i pacchetti elencati quì (clicca su Packages (Show/Hide) )

Codice: Seleziona tutto

# mkdir -p /SLACK
# installpkg -root /SLACK *.t?z
# mount -o bind /proc /SLACK/proc
# mount -o bind /dev /SLACK/dev
# chroot /SLACK
ora dovresti avere più o meno la stessa installazione che ti ha dato problemi con le glibc, solo che se ti crasha quì non fai casini.
Packages finder: slakfinder.org | Slackpkg+, per aggiungere repository a slackpkg

Codice: Seleziona tutto

1011010 1100101 1110010 1101111 - 0100000 - 1010101 1101110 1101111

Avatar utente
ZeroUno
Staff
Staff
Messaggi: 5441
Iscritto il: ven 2 giu 2006, 14:52
Nome Cognome: Matteo Rossini
Slackware: current
Kernel: slack-current
Desktop: ktown-latest
Distribuzione: 01000000-current
Località: Roma / Castelli
Contatta:

Re: Illegal Instrucion dopo aggiornamento glibc-solib

Messaggio da ZeroUno »

Senti, ci puoi riuscire a tirare fuori il .config del kernel 3.9.3 che hai?
Packages finder: slakfinder.org | Slackpkg+, per aggiungere repository a slackpkg

Codice: Seleziona tutto

1011010 1100101 1110010 1101111 - 0100000 - 1010101 1101110 1101111

ilmich
Master
Master
Messaggi: 1645
Iscritto il: lun 16 lug 2007, 17:39
Slackware: 15.0 64bit
Kernel: 5.15.27
Desktop: kde
Località: Roma

Re: Illegal Instrucion dopo aggiornamento glibc-solib

Messaggio da ilmich »

certamente.. lo trovi qui
per quanto riguarda i tuoi suggerimenti ci provo appena posso e ti faccio sapere :D
#LiveSimple and #ProgramThings
https://github.com/ilmich
http://ilmich6502.it/

Rispondi