Ozan Şelte
Mühendis Adayı


LFS 5 - Sisteme Giriş(Boot)
21 Ağustos 2015 - Linux

Kalan derlemeleri de yapıp sistemimize girebiliriz.

1
2
3
4
5
6
7
8
9
10
mount -v --bind /dev $LFS/dev  
mount -vt devpts devpts $LFS/dev/pts -o gid=5,mode=620  
mount -vt proc proc $LFS/proc  
mount -vt sysfs sysfs $LFS/sys  
mount -vt tmpfs tmpfs $LFS/run

chroot "$LFS" /usr/bin/env -i              \  
	HOME=/root TERM="$TERM" PS1='\u:\w\$ ' \
	PATH=/bin:/usr/bin:/sbin:/usr/sbin     \
	/bin/bash --login

LFS-Bootscripts

1
2
3
4
5
6
7
cd /sources
tar xvf lfs-bootscripts-20150222.tar.bz2
cd lfs-bootscripts-20150222

make install
cd /sources
rm -rf lfs-bootscripts-20150222

Cihazlar

Burada cihazlarla ilgili bazı işlemler yapılıyor.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
bash /lib/udev/init-net-rules.sh
cat /etc/udev/rules.d/70-persistent-net.rules

udevadm test /sys/block/hdd
sed -i -e 's/"write_cd_rules"/"write_cd_rules mode"/' \
    /etc/udev/rules.d/83-cdrom-symlinks.rules

udevadm info -a -p /sys/class/video4linux/video0
cat > /etc/udev/rules.d/83-duplicate_devs.rules << "EOF"

# Persistent symlinks for webcam and tuner
KERNEL=="video*", ATTRS{idProduct}=="1910", ATTRS{idVendor}=="0d81", \
    SYMLINK+="webcam"
KERNEL=="video*", ATTRS{device}=="0x036f", ATTRS{vendor}=="0x109e", \
    SYMLINK+="tvtuner"

EOF

Ağ bağlantısı ayarları

Zaten buraları biliyorsunuz iface kısmına ne yazacağınıza ifconfig ile bakabilirsiniz. Gerisi normal statik ip ayarları. Henüz dhcp kurulumu yapmadık.

1
2
3
4
5
6
7
8
9
10
cd /etc/sysconfig/
cat > ifconfig.eth0 << "EOF"
ONBOOT=yes
IFACE=eth0
SERVICE=ipv4-static
IP=192.168.1.2
GATEWAY=192.168.1.1
PREFIX=24
BROADCAST=192.168.1.255
EOF

resolv.conf

nameserver DNS gireceğiniz bölüm, domain sizin alan adınız.

Google: 8.8.8.8, 8.8.4.4

OpenNIC: 217.12.203.133, 31.171.155.107

1
2
3
4
5
6
7
8
9
cat > /etc/resolv.conf << "EOF"
# Begin /etc/resolv.conf

domain <Your Domain Name>
nameserver <IP address of your primary nameserver>
nameserver <IP address of your secondary nameserver>

# End /etc/resolv.conf
EOF

hosts

1
2
3
4
5
6
7
8
9
10
11
# <lfs> yerine kendi bilgisayar adınızı yazacaksınız
echo "<lfs>" > /etc/hostname

cat > /etc/hosts << "EOF"
# Begin /etc/hosts (network card version)

127.0.0.1 localhost
# <192.168.1.1> <HOSTNAME.example.org> [alias1] [alias2 ...]

# End /etc/hosts (network card version)
EOF

inittab

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
cat > /etc/inittab << "EOF"
# Begin /etc/inittab

id:3:initdefault:

si::sysinit:/etc/rc.d/init.d/rc S

l0:0:wait:/etc/rc.d/init.d/rc 0
l1:S1:wait:/etc/rc.d/init.d/rc 1
l2:2:wait:/etc/rc.d/init.d/rc 2
l3:3:wait:/etc/rc.d/init.d/rc 3
l4:4:wait:/etc/rc.d/init.d/rc 4
l5:5:wait:/etc/rc.d/init.d/rc 5
l6:6:wait:/etc/rc.d/init.d/rc 6

ca:12345:ctrlaltdel:/sbin/shutdown -t1 -a -r now

su:S016:once:/sbin/sulogin

1:2345:respawn:/sbin/agetty --noclear tty1 9600
2:2345:respawn:/sbin/agetty tty2 9600
3:2345:respawn:/sbin/agetty tty3 9600
4:2345:respawn:/sbin/agetty tty4 9600
5:2345:respawn:/sbin/agetty tty5 9600
6:2345:respawn:/sbin/agetty tty6 9600

# End /etc/inittab
EOF

clock

1
2
3
4
5
6
7
8
9
# Begin /etc/sysconfig/clock

UTC=1

# Set this to any options you might need to give to hwclock,
# such as machine hardware clock type for Alphas.
CLOCKPARAMS=

# End /etc/sysconfig/clock

console

1
2
3
4
5
6
# Begin /etc/sysconfig/console

KEYMAP="trq"
FONT="iso09.16"

# End /etc/sysconfig/console

profile

1
2
3
4
5
6
7
cat > /etc/profile << "EOF"
# Begin /etc/profile

export LANG=tr_TR.utf8

# End /etc/profile
EOF

inputrc

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
cat > /etc/inputrc << "EOF"
# Begin /etc/inputrc
# Modified by Chris Lynn <[email protected]>

# Allow the command prompt to wrap to the next line
set horizontal-scroll-mode Off

# Enable 8bit input
set meta-flag On
set input-meta On

# Turns off 8th bit stripping
set convert-meta Off

# Keep the 8th bit for display
set output-meta On

# none, visible or audible
set bell-style none

# All of the following map the escape sequence of the value
# contained in the 1st argument to the readline specific functions
"\eOd": backward-word
"\eOc": forward-word

# for linux console
"\e[1~": beginning-of-line
"\e[4~": end-of-line
"\e[5~": beginning-of-history
"\e[6~": end-of-history
"\e[3~": delete-char
"\e[2~": quoted-insert

# for xterm
"\eOH": beginning-of-line
"\eOF": end-of-line

# for Konsole
"\e[H": beginning-of-line
"\e[F": end-of-line

# End /etc/inputrc
EOF

shells

1
2
3
4
5
6
7
8
cat > /etc/shells << "EOF"
# Begin /etc/shells

/bin/sh
/bin/bash

# End /etc/shells
EOF

fstab

Bu dosya önemli. Bu dosya sizin disk bölümlerinizi bağlayacak olan dosya. En başta nasıl planladıysanız ona göre düzenleyin.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
cat > /etc/fstab << "EOF"
# Begin /etc/fstab

# file system  mount-point  type     options   dump  fsck
#                                                       order

/dev/<xxx>   /          <fff>    defaults            1   1
/dev/<yyy>   swap       swap     pri=1               0   0
proc         /proc      proc     nosuid,noexec,nodev 0   0
sysfs        /sys       sysfs    nosuid,noexec,nodev 0   0
devpts       /dev/pts   devpts   gid=5,mode=620      0   0
tmpfs        /run       tmpfs    defaults            0   0
devtmpfs     /dev       devtmpfs mode=0755,nosuid    0   0

# End /etc/fstab
EOF

hdparm -I /dev/sda | grep NCQ

Linux Çekirdek(Kernel) Derleme

Çekirdeği kendinize göre düzenleyeceksiniz. Kesinlikle yapmamız gereken bir düzenlemeyi kitabımız bize söylüyor. Onun dışında eğer siz de benim gibi USB’ye kuruyorsanız ve versiyon 3.0 ise çekirdekte aktifleştirin.

Device Drivers —>
—>Generic Driver Options —>
—>—>[ ] Support for uevent helper [CONFIG_UEVENT_HELPER]
—>—>[*] Maintain a devtmpfs filesystem to mount at /dev [CONFIG_DEVTMPFS]

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
cd /sources
tar xvf linux-3.19.tar.xz
cd linux-3.19

make mrproper
make LANG=tr_TR LC_ALL= menuconfig
make
make modules_install

cp -v arch/x86/boot/bzImage /boot/vmlinuz-3.19-lfs-7.7
cp -v System.map /boot/System.map-3.19
cp -v .config /boot/config-3.19

install -d /usr/share/doc/linux-3.19
cp -r Documentation/* /usr/share/doc/linux-3.19

install -v -m755 -d /etc/modprobe.d
cat > /etc/modprobe.d/usb.conf << "EOF"
# Begin /etc/modprobe.d/usb.conf

install ohci_hcd /sbin/modprobe ehci_hcd ; /sbin/modprobe -i ohci_hcd ; true
install uhci_hcd /sbin/modprobe ehci_hcd ; /sbin/modprobe -i uhci_hcd ; true

# End /etc/modprobe.d/usb.conf
EOF

Grub Yapılandırması

İsterseniz grubu kullandığınız sistemden güncelleyin fakat ben kitaba uygun gidiyorum.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
grub-install /dev/sdX# x'i siz dolduracaksınız

cat > /boot/grub/grub.cfg << "EOF"
# Begin /boot/grub/grub.cfg
set default=0
set timeout=5

insmod ext2
set root=(hd0,X)

menuentry "GNU/Linux, Linux 3.19-lfs-7.7" {
        linux   /boot/vmlinuz-3.19-lfs-7.7 root=/dev/<xxx> ro
}
EOF

Chroot ile son ayarlar

LFS bilgilerimizi kaydediyoruzve gurularımız şu formu doldurmamızı rica ediyorlar. lfscounter name->adınız, version->7.7, SVN date->boş

1
2
3
4
5
6
7
8
echo 7.7 > /etc/lfs-release# LFS sürümümüzü kaydediyoruz

cat > /etc/lsb-release << "EOF"
DISTRIB_ID="Linux From Scratch"
DISTRIB_RELEASE="7.7"
DISTRIB_CODENAME="<your name here>"
DISTRIB_DESCRIPTION="Linux From Scratch"
EOF

Çıkış

1
2
3
4
5
6
7
8
9
logout

umount -v $LFS/dev/pts
umount -v $LFS/dev
umount -v $LFS/run
umount -v $LFS/proc
umount -v $LFS/sys

umount -v $LFS

Merhaba LFS

lfs-grub

Artık bilgisayarımızı yeniden başlatabiliriz. Baya sorunlu bir boot süreci yaşadığım için ben çekirdeği güncelledim. Zaten siz de nasıl yapacağınızı biliyorsunuz. Eğer açılışta bir sorunla karşılaşırsanız lütfen bana fotoğrafını gönderin. Ya grub.cfg ya da kernel sorunu çıkıyor. Yardımcı olmaya çalışırım.