Pentium-m용 젠투리눅스를 빌드하고 있습니다. 그런데 뭔가 이상합니다.
Pentium-m용 젠투리눅스를 빌드하고 있습니다.
정확히 말하면 젠투리눅스기반인 크로뮴OS를 빌드중인데, 빌드방법이나 포티지시스템이 거의 흡사하니 젠투라고 보셔도 무방할것 같습니다. (emerge/equery 명령어와 각 설정파일 path만 조금 다름)
문제는 Pentium-m의 instruction set는 mmx,sse,sse2 인데,
젠투의 x86-generic용 설정파일인 make.conf에는 MARCH_TUNE="-march=i686 -mfpmath=sse -mmmx -msse -msse2 -msse3"로 되어있습니다.
그 이유 때문인지 x86-generic용으로 빌드해서 Pentium-m에서 부팅 후 쉘을 띄우면, mkfs.ext4(sys-fs/e2fsprogs 패키지)명령이 안먹힙니다.(illegal instruction 에러발생) 물론 다른PC에선 잘작동합니다.
그래서 저는 sse3만 빼고 빌드하면 된다고 생각해서, 아래와 같은 각각의 옵션들로 모두 각각 빌드해서 테스트를 해보았습니다.
하지만 여전히 타겟pc에서는 mkfs.ext4(sys-fs/e2fsprogs패키지)명령이 작동되지 않습니다.
MARCH_TUNE="-march=i686 -mfpmath=sse -mmmx -msse -msse2 -msse3" #original value. But Pentium-m does not supports SSE3 #Belows are I've tried #But every values are failed to successful booting #MARCH_TUNE="-march=i686" #MARCH_TUNE="-march=i686 -mfpmath=sse -mmmx -msse -msse2" #MARCH_TUNE="-march=pentium-m" #MARCH_TUNE="-march=pentium-m -mmmx -msse -msse2" #MARCH_TUNE="-march=pentium-m -mfpmath=sse -mmmx -msse -msse2" #MARCH_TUNE="-mtune=generic" #MARCH_TUNE="-mtune=generic -mmmx -msse -msse2" #MARCH_TUNE="-mtune=generic -mfpmath=sse -mmmx -msse -msse2"
저는 분명 위와 같이, global설정파일인 make.conf에서 설정을 바꿧고,
아래와 같이 emerge --info로 전체 설정이 바뀐것을 확인했고, equery uses sys-fs/e2fsprogs 명령으로 개별패키지에서도 sse3가 설정되어있지 않은 것도 확인했습니다.
Portage 2.2.12-r9 (python 2.7.10-final-0, default/linux/x86/10.0/chromeos, gcc-4.9.x, unavailable, 3.19.0-25-generic x86_64) ================================================================= System uname: Linux-3.19.0-25-generic-x86_64-AMD_FX-tm-4100_Quad-Core_Processor-with-glibc2.2.5 KiB Mem: 8133472 total, 144860 free KiB Swap: 0 total, 0 free Timestamp of tree: Unknown ld GNU gold (binutils-2.25.51-r56-48ba8648ee02f246c4fb286d7918f750c2b4ea4f_cos_gg 2.25.51.20141117) 1.11 ccache version 3.1.10 [disabled] app-shells/bash: 4.2_p48-r1 dev-lang/python: 2.7.10::chromiumos sys-apps/baselayout: 2.2::chromiumos sys-apps/sandbox: 2.6-r1 sys-devel/autoconf: 2.69 sys-devel/automake: 1.11.6-r1, 1.13.4, 1.14.1 sys-devel/binutils: 2.25.51-r56::chromiumos sys-devel/libtool: 2.4.6 sys-devel/make: 4.1-r1 sys-kernel/linux-headers: 4.0-r3::chromiumos (virtual/os-headers) Repositories: portage-stable chromiumos eclass-overlay freon x86-generic ACCEPT_KEYWORDS="x86" ACCEPT_LICENSE="* -@EULA -@CHROMEOS" CBUILD="x86_64-pc-linux-gnu" CFLAGS="-O2 -march=pentium-m -pipe -O2 -pipe -march=pentium-m -mfpmath=sse -mmmx -msse -msse2 -g -fno-exceptions -fno-unwind-tables -fno-asynchronous-unwind-tables -clang-syntax" CHOST="i686-pc-linux-gnu" CONFIG_PROTECT="" CONFIG_PROTECT_MASK="/etc/ca-certificates.conf /etc/env.d /etc/fonts/fonts.conf /etc/gconf /etc/gentoo-release /etc/revdep-rebuild /etc/sandbox.d /etc/terminfo" CXXFLAGS="-O2 -march=pentium-m -pipe -O2 -march=pentium-m -pipe -O2 -pipe -march=pentium-m -mfpmath=sse -mmmx -msse -msse2 -g -fno-exceptions -fno-unwind-tables -fno-asynchronous-unwind-tables -clang-syntax" DISTDIR="/var/lib/portage/distfiles-target" EMERGE_DEFAULT_OPTS="--oneshot" FCFLAGS="" FEATURES="allow-missing-manifests assume-digests binpkg-logs buildpkg clean-logs config-protect-if-modified distlocks fixlafiles force-mirror news nodoc noinfo noman parallel-fetch parallel-install protect-owned sandbox sfperms splitdebug unmerge-logs unmerge-orphans userfetch userpriv usersandbox usersync xattr" FFLAGS="" GENTOO_MIRRORS="https://commondatastorage.googleapis.com/chromeos-localmirror <a href="https://commondatastorage.googleapis.com/chromeos-mirror/gentoo" INSTALL_MASK="" rel="nofollow">https://commondatastorage.googleapis.com/chromeos-mirror/gentoo" INSTALL_MASK="</a> /usr/lib*/*.la /etc/init.d /etc/conf.d /etc/logrotate.d /etc/sandbox.d /usr/share/bash-completion " LANG="en_US.UTF-8" LDFLAGS="-Wl,-O1 -Wl,-O2 -Wl,--as-needed" MAKEOPTS="-j4" PKGDIR="/build/x86-generic/packages/" PORTAGE_BUNZIP2_COMMAND="pbunzip2 --ignore-trailing-garbage=1" PORTAGE_BZIP2_COMMAND="pbzip2" PORTAGE_CONFIGROOT="/build/x86-generic/" PORTAGE_RSYNC_OPTS="--recursive --links --safe-links --perms --times --omit-dir-times --compress --force --whole-file --delete --stats --human-readable --timeout=180 --exclude=/distfiles --exclude=/local --exclude=/packages" PORTAGE_TMPDIR="/build/x86-generic/tmp/" PORTDIR="/usr/local/portage/stable" PORTDIR_OVERLAY="/usr/local/portage/chromiumos /usr/local/portage/eclass-overlay /mnt/host/source/src/overlays/project-freon /mnt/host/source/src/overlays/overlay-x86-generic" USE="acpi bindist bluetooth buffet bzip2 cairo cros-debug cros_p2p crypt cxx dri drm_atomic evdev_gestures frecon hardened iconv kernel-3_14 legacy_keyboard legacy_power_button mbim mmx modules mudflap ncurses nptl nptlonly opengles ozone pam peerd readline scanner sse sse2 ssl sysfs unicode usb vaapi vlan wifi_bootstrapping x86 xkbcommon xorg zlib" ALSA_CARDS="ali5451 als4000 atiixp atiixp-modem bt87x ca0106 cmipci emu10k1 emu10k1x ens1370 ens1371 es1938 es1968 fm801 hda-intel intel8x0 intel8x0m maestro3 trident usb-audio via82xx via82xx-modem ymfpci" APACHE2_MODULES="authn_core authz_core socache_shmcb unixd actions alias auth_basic authn_alias authn_anon authn_dbm authn_default authn_file authz_dbm authz_default authz_groupfile authz_host authz_owner authz_user autoindex cache cgi cgid dav dav_fs dav_lock deflate dir disk_cache env expires ext_filter file_cache filter headers include info log_config logio mem_cache mime mime_magic negotiation rewrite setenvif speling status unique_id userdir usertrack vhost_alias" BOARD_USE="x86-generic" CALLIGRA_FEATURES="kexi words flow plan sheets stage tables krita karbon braindump author" CAMERAS="ptp2" COLLECTD_PLUGINS="df interface irq load memory rrdtool swap syslog" ELIBC="glibc" GPSD_PROTOCOLS="ashtech aivdm earthmate evermore fv18 garmin garmintxt gpsclock itrax mtk3301 nmea ntrip navcom oceanserver oldstyle oncore rtcm104v2 rtcm104v3 sirf superstar2 timing tsip tripmate tnt ubx" INPUT_DEVICES="evdev synaptics cmt" KERNEL="linux" LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text" LIBREOFFICE_EXTENSIONS="presenter-console presenter-minimizer" LINGUAS="en" LINUX_FIRMWARE="iwlwifi-all" OFFICE_IMPLEMENTATION="libreoffice" OZONE_PLATFORM="gbm default_gbm" OZONE_PLATFORM_DEFAULT="gbm" PHP_TARGETS="php5-5" PYTHON_SINGLE_TARGET="python2_7" PYTHON_TARGETS="python2_7" RUBY_TARGETS="ruby19 ruby18" USERLAND="GNU" VIDEO_CARDS="intel nouveau radeon fbdev" XTABLES_ADDONS="quota2 psd pknock lscan length2 ipv4options ipset ipp2p iface geoip fuzzy condition tee tarpit sysrq steal rawnat logmark ipmark dhcpmac delude chaos account" Unset: CPPFLAGS, CTARGET, LC_ALL, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS, PORTAGE_RSYNC_EXTRA_OPTS, SYNC, USE_PYTHON
[ Legend : U - final flag setting for installation] [ : I - package is installed with flag ] [ Colors : set, unset ] * Found these USE flags for sys-fs/e2fsprogs-1.42.12: U I - - nls : Add Native Language Support (using gettext - GNU locale utilities) - - static-libs : Build static libraries
도대체 뭐가 문제일까요?
제가 잘못알고 있거나, 빠뜨린게 있습니까?
"emerge -e @world"
e2fsprogs 재컴파일만 해선 안되고 적어도 관련 라이브러리
나아가 시스템 전체를 새로 빌드하셔야할텐데요.
emerge -e @world
emerge -e @system 먼저
모든 패키지를 다시 빌드하려면
emerge -e @system
먼저하시고emerge -e @world
하세요.댓글 달기