Sziasztok,
Fajlrendszert csereltem nehany napja egy mukodo rendszer alatt es nem tudom mennyire lehet koze hozza, de nehany dolgot nem tudok feltelepeiteni. Igy van ez pl a grub-bal is ill. a callgrind ami meg rendetlenkedett. Linkelesiproblemanak velem a mit dob, de fogalmam sincs, hogy mit nem talal. Ime egy emerge grub kimenetenek kezdodo reszlete a leallas utan:
pre_stage2_exec-bios.o: In function `biosdisk':
bios.c:(.text+0x18): undefined reference to `__guard'
bios.c:(.text+0xa9): undefined reference to `__guard'
bios.c:(.text+0xcf): undefined reference to `__stack_smash_handler'
pre_stage2_exec-bios.o: In function `get_diskinfo':
bios.c:(.text+0x1d8): undefined reference to `__guard'
bios.c:(.text+0x27c): undefined reference to `__guard'
bios.c:(.text+0x299): undefined reference to `__stack_smash_handler'
pre_stage2_exec-char_io.o: In function `convert_to_ascii':
char_io.c:(.text+0x14): undefined reference to `__guard'
char_io.c:(.text+0xc2): undefined reference to `__stack_smash_handler'
ppre_stage2_exec-bios.o: In function `biosdisk':
bios.c:(.text+0x18): undefined reference to `__guard'
bios.c:(.text+0xa9): undefined reference to `__guard'
bios.c:(.text+0xcf): undefined reference to `__stack_smash_handler'
pre_stage2_exec-bios.o: In function `get_diskinfo':
bios.c:(.text+0x1d8): undefined reference to `__guard'
bios.c:(.text+0x27c): undefined reference to `__guard'
bios.c:(.text+0x299): undefined reference to `__stack_smash_handler'
pre_stage2_exec-char_io.o: In function `convert_to_ascii':
char_io.c:(.text+0x14): undefined reference to `__guard'
char_io.c:(.text+0xc2): undefined reference to `__stack_smash_handler'
Van ennek koze a fajlrendszer cserehez? (ext3-->xfs) Talalkozott mar valaki ilyennel?
Koszi a segitseget elore is. :-)
- 1306 megtekintés
Hozzászólások
Milyen verziójú a GRUB?
- A hozzászóláshoz be kell jelentkezni
A __guard és a __stack_smash_handler undefined reference hibaüzenetet ssp-vel (stack smashing protection) fordított bináris ssp támogatással nem rendelkező toolchainnel rendelkező környezetben történő futtatása eredményezi.
Gentoo alatt a "hardened" USE flag használatával az összes lehetséges bináris ssp-vel fordul és a fontos rendszer komponensekbe (leginkább glibc) is bekerül az ssp támogatás. Nem raktad újra a glibc-t hardened nélkül? Ellenőrizd a "profile"-odat: lehet, hogy a file rendszer átmásolásával már nem az eredeti profile-ra mutat link?
Ha nincs a profilokkal és a USE flag-ekkel kavar (hardened, pie), akkor szerintem egy "emerge -e system && emerge gurb"-nak meg kéne oldania a problémát, mert rendezi a sorokat. De biztos, hogy ezt akarod? Szerintem mégiscsak a USE flag-ekkel, vagy a profile-lal lehet a baj...
"Jegyezze fel a vádhoz - utasította Metcalf őrnagy a tizedest, aki tudott gyorsírni. - Tiszteletlenül beszélt a feljebbvalójával, amikor nem pofázott közbe."
- A hozzászóláshoz be kell jelentkezni
Igen koszi, igazad van, a hardened flaget kivettem az egesz gentoo alol es kapott egy "emerge -uDN world"-t miutan a livecd-rol chroot-ozva nem tudtam felrakni a grub-ot. Jo, mondjuk a livecd-s grub-bal megparameterzeve felraktam a boot sectort a hdd-re, de az maradt meg bennem, hogy a grub nem megy fel emerge-dzsel. Kesobb aztan frissitettem az X-et es utana nem volt hajlando elindulni az uj X, libbitmap.a linkelesi gondjai voltak. Utanaolvastam es kiderult, hogy koze van a hardened flaghez. Mivel anno a telepiteskor nem volt idom, hogy acl-ezzem a desktop gepet, igy a
"hardened-desktop-terveim" abbamaradtak. Aztan mikor elojott az X-es gond akkor ugy dontottem, hogy kiveszem a hardened flaget, mivel kedvem sincs hozza, hogy desktop gepen acl-ezzek.
Tehat, ezek szerint nem eleg neki az emerge -uDN world. :-)
koszi a segitseget mindenkinek. :-)
---------------------
Ригидус а бетегадьбол
- A hozzászóláshoz be kell jelentkezni
Hat, sajnos nem jott ossze a mutatvany. :-(
Lefuttattam az "emerge -e system"-et, de minden a regi: callgrind es a grub nem akar installalodzni. :-(
Valakinek egyeb otlete?
---------------------
Ригидус а бетегадьбол
- A hozzászóláshoz be kell jelentkezni
Dwokfur bácsi következő tippje:
- először nézd át mégegyszer a USE flag-eket
- csekkold, hogy helyes a portage profile (hova mutat a /etc/make.profile link): ha hardened-ként volt telepítve a gép, akkor nagy az esély rá, hogy valami hardened profile-ra mutat. Ez defaultban bekapcsol hardened funkciókat. Szóval akkor át kell állítani valami sima profile-ra.
- végül: nézd meg "gcc-config"-gal, hogy milyen gcc profile van beállítva. Itt érdemes vagy a vanilla-t, vagy valamelyik nossp profile-t aktiválni (grub fordítás előtt mindenképpen).
Egyébként miért vetted ki a hardened flag-et? Nem kell erőltetni az aclezést, ha nem megy. Lehet anélkül is, és akkor majd később hozzárakod. SELinux esetén nem kell enforce módban bootolni, grsecurity esetén meg lazán hanyagolhatod az RBAC rendszert, amíg nincs rá időd. Én már több éve hardened gentoo-t használok a munkahelyi desktop gépemen és a laptopomon (grsec, RBAC). És nincs gondom az X-szel. Mondjuk a hardened X-szel nem megy a gyári ati és nvidia driver, csak az opensource, mert dlloader-t használ. Nálam Radeon 8500LE-vel (radeon) és i855-tel (i8x0) is megy a DRI.
Szerintem a gcc-profile-os tippem mindenképpen megoldja majd a problémád, de ettől eltekintve érdemes lenne visszatérned hardened-re (talán nem SELinux-ra, mert ott úgyis nagy változások várhatók mostanában a reference policy miatt).
Üdv,
Dw.
"Jegyezze fel a vádhoz - utasította Metcalf őrnagy a tizedest, aki tudott gyorsírni. - Tiszteletlenül beszélt a feljebbvalójával, amikor nem pofázott közbe."
- A hozzászóláshoz be kell jelentkezni
Koszi a segitseget ismet. :-)
Termeszetesen a make.profile jo helyre mutat es a USE flageket is atneztem, nincsen benne a hardened, ill. a gcc default profile sem mutat "hardened" tipusu profile-ra.
Talan ez egy kicsit tobbet mond:
# emerge info
Portage 2.0.54-r2 (default-linux/x86/2006.0, gcc-3.4.5, glibc-2.3.6-r3, 2.6.14-hardened-r7 i686)
=================================================================
System uname: 2.6.14-hardened-r7 i686 Intel(R) Pentium(R) 4 CPU 2.00GHz
Gentoo Base System version 1.6.14
distcc 2.18.3 i686-pc-linux-gnu (protocols 1 and 2) (default port 3632) [enabled]
dev-lang/python: 2.3.5-r2, 2.4.2
dev-python/pycrypto: [Not Present]
dev-util/ccache: [Not Present]
dev-util/confcache: [Not Present]
sys-apps/sandbox: 1.2.17
sys-devel/autoconf: 2.13, 2.59-r7
sys-devel/automake: 1.4_p6, 1.5, 1.6.3, 1.7.9-r1, 1.8.5-r3, 1.9.6-r1
sys-devel/binutils: 2.16.1
sys-devel/libtool: 1.5.22
virtual/os-headers: 2.6.11-r2
ACCEPT_KEYWORDS="x86"
AUTOCLEAN="yes"
CBUILD="i686-pc-linux-gnu"
CFLAGS="-march=pentium4 -O3 -pipe -fomit-frame-pointer"
CHOST="i686-pc-linux-gnu"
CONFIG_PROTECT="/etc /usr/kde/2/share/config /usr/kde/3.5/env /usr/kde/3.5/share/config /usr/kde/3.5/shutdown /usr/kde/3/share/config /usr/lib/X11/xkb /usr/share/config /usr/share/texmf/dvipdfm/config/ /usr/share/texmf/dvips/config/ /usr/share/texmf/tex/generic/config/ /usr/share/texmf/tex/platex/config/ /usr/share/texmf/xdvi/ /var/qmail/control"
CONFIG_PROTECT_MASK="/etc/eselect/compiler /etc/gconf /etc/terminfo /etc/env.d"
CXXFLAGS="-march=pentium4 -O3 -pipe -fomit-frame-pointer"
DISTDIR="/usr/portage/distfiles"
FEATURES="autoconfig distcc distlocks prelink sandbox sfperms strict"
GENTOO_MIRRORS="http://mir.zyrianes.net/gentoo/ http://194.117.143.70 http://194.117.143.71 ftp://194.117.143.70/mirrors/gentoo"
LINGUAS="en_GB"
MAKEOPTS="-j2 -s"
PKGDIR="/usr/portage/packages"
PORTAGE_TMPDIR="/var/tmp"
PORTDIR="/usr/portage"
SYNC="rsync://rsync.gentoo.org/gentoo-portage"
USE="X a52 accessibility alsa apm arts artswrappersuid audiofile avi bash-completion berkdb bluetooth bzip2 cairo cdda cdr chroot cli crypt cups curl custom-cflags divx4linux doc dri dts dvd dvdread eds emboss encode exif expat fam fbcon ffmpeg flac foomaticdb fortran freetype gd gdbm gif glut gmp gpm gtk gtk2 hal idn ieee1394 irda isdnlog java javascript jpeg jpeg2k kde lcms ldap libg++ libkscan libwww lisa lm_sensors logitech-mouse mad mhash mikmod mjpeg mmx mmxext mng mod motif mp3 mpeg mpi ncurses network nfs nls nptl odbc ogg openal opengl pam pascal pcre pdf pdflib perl png postgres pppd python qt quicktime rdesktop readline real reflection rtc scanner sdk sdl sensord session sms spell spl sql sqlite3 sse sse2 ssl subversion svg symlink tcpd tetex tga threads tidy tiff truetype truetype-fonts type1-fonts udev unicode usb vcd video_cards_radeon vorbis wmf x86 xml xml2 xorg xv xvid yv12 zlib linguas_en_GB userland_GNU kernel_linux elibc_glibc"
Unset: ASFLAGS, CTARGET, INSTALL_MASK, LANG, LC_ALL, LDFLAGS, PORTAGE_RSYNC_EXTRA_OPTS, PORTAGE_RSYNC_OPTS, PORTDIR_OVERLAY
A hardened profile-rol azert vettem le, mert az X-em frissult es egyszeruen nem volt hajlando elindulni. Utananeztem, masoknak is volt hasolo jellegu gondja es az a hardened-re volt visszavezetheto. Ekkor dontottem ugy, hogy ideiglenesen leveszem a hardened flaget. Ez a telepites nem hardened stage-bol lett telepitve, hanem telepites elott (stage1) allitottam at hardened profile-ra, de csak a gondok voltak vele. Nagyon nem rettegek, a gateway-en durvan paranoiasra van allitva minden es egyebkent se toltok le minden szart amirol nem tudom, hogy mi az. A grub mondjuk nem letfontossagu, ami inkabb nagyobb gond, hogy nem tudom frissiteni sem mert a callgrind sem fordul ugyanezzel a problemaval.
A hardened dolgot nem adtam fel a desktopon, csak egyenlore hasznalni akartam a gepet es nem volt ra idom, hogy jatszadozzam vele, de ha az uj halozatom kesz lesz, akkor az osszes gep ugyis acl-ezve lesz, akkor majd elojon megint. :-)
A kozben attettem egy vanilla gcc profile-ra:
# gcc-config -l
[1] i686-pc-linux-gnu-3.4.4-hardened
[2] i686-pc-linux-gnu-3.4.5
[3] i686-pc-linux-gnu-3.4.5-hardened
[4] i686-pc-linux-gnu-3.4.5-hardenednopie
[5] i686-pc-linux-gnu-3.4.5-hardenednopiessp
[6] i686-pc-linux-gnu-3.4.5-hardenednossp
[7] i686-pc-linux-gnu-3.4.5-vanilla *
(igen, volt source /etc/profile is :-) )
Majd raeresztettem az "emerge grub"-ot ujra es sajnos ugyanaz a hiba... :-(
Mar azon is gondolkodtam, hogy visszarakom hardened-re, de akkor meg az X nem fog indulni.
PS: eszrevettem, hogy a gcc profile-ok kozt van egy korabbrol visszamaradt i686-pc-linux-gnu-3.4.4-hardened. Nincsen fent a 3.4.4, akkor ez miert maradt bent?
Koszi ismet. :-)
---------------------
Ригидус а бетегадьбол
- A hozzászóláshoz be kell jelentkezni
A korábbi gcc nekem is benne van, de nem okoz gondot.
Viszont ami még gond lehet, az a distcc, és a ccache. A distcc-vel gondok vannak, ha nem konzisztens a fordításban résztvevő gépek hardened-sége (remélem jól ki tudtam fejezni magam). A ccache-nél meg egy USE flag átállítása után nem mindig fordítja újra igazából, annak ellenére, hogy kéne. Szóval ha van (aktív) distcc, vagy ccache, akkor azt kapcsold ki a fordítás idejére mindenképpen.
"Jegyezze fel a vádhoz - utasította Metcalf őrnagy a tizedest, aki tudott gyorsírni. - Tiszteletlenül beszélt a feljebbvalójával, amikor nem pofázott közbe."
- A hozzászóláshoz be kell jelentkezni