Gentoo 12 も SMEPが有効になってるタコ。

ftp://ftp.kddlabs.co.jp/Linux/distributions/gentoo/releases/x86/autobuilds/current-install-x86-minimal/
install-x86-minimal-20150929.iso

vbox-BOOT
jp


passwd
/etc/init.d/sshd start

gentoo-SSH>challenge/response.


#Linuxでn ext するのは苦行でしかない
#なんでredhat系のやつらは拡張パーティション使いたがるんだ。
#答え:サポート費を徴収するため

  • Gentooではそんなことしないのが好き

ガイド通りにセット
/dev/sda1 (bootloader) 2M BIOS boot partition
/dev/sda2 ext2 (or vfat) 128M Boot partition
/dev/sda3 (swap) 512M or higher Swap partition
/dev/sda4 ext4 Rest of the disk Root partition

parted -a optimal -- /dev/sda 
parted -a optimal -- /dev/sda mklabel gpt
parted -a optimal -- /dev/sda mkpart primary 1 3 name 1 grub set 1 bios_grub on
parted -a optimal -- /dev/sda mkpart primary 3 131 name 2 boot
parted -a optimal -- /dev/sda mkpart primary 131 643 name 3 swap
parted -a optimal -- /dev/sda mkpart primary 643 -1 name 4 rootfs
parted -a optimal -- /dev/sda print

Model: ATA VBOX HARDDISK (scsi)
Disk /dev/sda: 21.5GB
Sector size (logical/physical): 512B/512B
Partition Table: gpt
Disk Flags:

Number Start End Size File system Name Flags
1 1049kB 3146kB 2097kB grub bios_grub
2 3146kB 131MB 128MB boot
3 131MB 643MB 512MB swap
4 643MB 21.5GB 20.8GB rootfs

mkfs.ext2 /dev/sda1
mkfs.ext2 /dev/sda2
mkswap    /dev/sda3
mkfs.ext3 /dev/sda4
swapon    /dev/sda3
mount /dev/sda4 /mnt/gentoo
mkdir /mnt/gentoo/boot
mount /dev/sda2 /mnt/gentoo/boot
mkdir /mnt/gentoo/tmp
chmod 1777 /mnt/gentoo/tmp
wget http://ftp.kddlabs.co.jp/Linux/distributions/gentoo/releases/x86/autobuilds/current-stage3-i486/stage3-i486-20151110.tar.bz2
wget http://ftp.kddlabs.co.jp/Linux/distributions/gentoo/releases/x86/autobuilds/current-stage3-i486/stage3-i486-20151110.tar.bz2.DIGESTS
wget http://ftp.kddlabs.co.jp/Linux/distributions/gentoo/releases/x86/autobuilds/current-stage3-i486/stage3-i486-20151110.tar.bz2.DIGESTS.asc

tar xf stage3-i486-20151110.tar.bz2 -C /mnt/gentoo/
cp -L /etc/resolv.conf /mnt/gentoo/etc/
mirrorselect -i -o >> /mnt/gentoo/etc/portage/make.conf

mount -t proc proc /mnt/gentoo/proc
mount --rbind /sys /mnt/gentoo/sys
mount --make-rslave /mnt/gentoo/sys
mount --rbind /dev /mnt/gentoo/dev
mount --make-rslave /mnt/gentoo/dev
chroot /mnt/gentoo /bin/bash
source /etc/profile
export PS1="(chroot) $PS1"

下記を実行してお茶。

emerge-webrsync

下記を実行

emerge --sync --quiet &
eselect profile list

.. ロケーるセット ...

emerge sys-kernel/gentoo-sources
emerge sys-apps/pciutils
emerge sys-apps/ack
emerge sys-apps/the_silver_searcher
emerge vim
emerge sudo
emerge zsh
emerge git
emerge tig
emerge tmux
cd /usr/src/linux 
cd arch/x86/
ag SMEP -C 2
vi kernel/cpu/common.c +282

static __always_inline void setup_smep(struct cpuinfo_x86 *c)
{
//      if (cpu_has(c, X86_FEATURE_SMEP))
//              cr4_set_bits(X86_CR4_SMEP);
}
ag cr4_set_bits | ag X86_CR4_SMEP
cd /usr/src/linux 
make menuconfig

ext2ext3 は有効にする
あとVMNET3

make
make install
rc-update add sshd default
emerge sys-boot/grub
grub2-install /dev/sda
grub2-mkconfig -o /boot/grub/grub.cfg
passwd

起動したら、VirtualBoxで仮想化アプライアンスのエクスポートして
インポートするとvmdkが生成される
VMwareでvmdkをインポする


が、結局net は使えなかった。
AMD 79C970 PCnet32- LANCE NIC 有効になってるはずなんだがな...
・・原因判明
Mにしておかないとロード時に失敗してる謎過ぎ。

CONFIG_MII=m
CONFIG_PCNET32=m

にしてmake clean ;make;make moduleinstall install
reboot

modprobe pcnet32
/etc/init.d/net.eth0 start

ああああ もうめんどくせーんじゃぁぁぁぁぁ
#undef VERMAGIC_STRING
#define VERMAGIC_STRING "gentoo"