1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150115111521153115411551156115711581159116011611162116311641165116611671168116911701171117211731174117511761177117811791180118111821183118411851186118711881189119011911192119311941195119611971198119912001201120212031204120512061207120812091210121112121213121412151216121712181219122012211222122312241225122612271228122912301231123212331234123512361237123812391240124112421243124412451246124712481249125012511252125312541255125612571258125912601261126212631264126512661267126812691270127112721273127412751276127712781279128012811282128312841285128612871288128912901291129212931294129512961297129812991300130113021303130413051306130713081309 |
- #!/bin/bash
- VERSION="1.0"
- ANADIZIN="`pwd`"
- TALIMATNAMELER="talimatname"
- DERLEME_SIRASI="derleme.sira"
- PAKETCI="mpsd"
- TALIMATNAME=""
- LOG_DIZIN="log"
- AYARLAR="ayarlar"
- PAKETCI_AYAR="mpsd.conf"
- INSTALL_COMMAND="`basename $0`"
- readonly CODE_NAME="malfs"
- birinci_ayarlar(){
- root_kontrol
- lfs_kontrol
- #lfs dizinin olusturulması
- mkdir -p $LFS
- #lfs kullanici-grup silme sıfırlama
- userdel lfs
- rm -r /home/lfs
- groupdel lfs
- #lfs kullanici-grup olusturma
- groupadd lfs
- useradd -s /bin/bash -g lfs -m -k /dev/null lfs
- passwd lfs
- #lfs icin gerekli dizin ve izinlerinin olusturulması
- mkdir -p /home/lfs
- mkdir -vp $LFS/{sources,tools}
- ln -svf $LFS/tools /
- ln -svf $LFS/sources /
- chown -v lfs $LFS/{tools,sources}
- chmod -v a+wt $LFS/sources
- chown -v lfs $LFS
- cp -a $ANADIZIN/ayarlar /home/lfs/
- cp -a $ANADIZIN/bin /home/lfs/
- cp -a $ANADIZIN/talimatname /home/lfs/
- cp -a $ANADIZIN/lfs-mekanizma /home/lfs/
- chown -R lfs:lfs /home/lfs/
- cp ayarlar/.bashrc /home/lfs/
- cp ayarlar/.bash_profile /home/lfs/
-
- su - lfs
- }
- paket_kur(){
- $PAKETCI -d -cf $ANADIZIN/$AYARLAR/$PAKETCI_AYAR -i || exit 1
- for i in *mps*
- do
- echo "=======> '$i' basarili sekilde kuruldu." >> $ANADIZIN/$LOG_DIZIN/$talimat.log
- done
- }
- talimatname_derle(){
- #dongu icerisinde talimatların derlenmesi
- if [ "$TALIMATNAME" == "onsistem" ]; then
- PAKETCI_AYAR="onmpsd.conf"
- fi
- if [ ! -d $ANADIZIN/$LOG_DIZIN ]; then
- mkdir -p $ANADIZIN/$LOG_DIZIN
- fi
- for dizin in `cat $ANADIZIN/$TALIMATNAMELER/$TALIMATNAME/$DERLEME_SIRASI`
- do
- talimat=`basename $dizin`
- derleme="evet"
- if [ -f $ANADIZIN/$LOG_DIZIN/$talimat.log ]; then
- derleme=`grep -q "basarili" $ANADIZIN/$LOG_DIZIN/$talimat.log; [ $? -eq 0 ] && echo "hayir" || echo "evet"`
- fi
- if [ "$derleme" == "evet" ]; then
- cd $ANADIZIN/$TALIMATNAMELER/$TALIMATNAME/$dizin
- touch $ANADIZIN/$LOG_DIZIN/$talimat.log
- $PAKETCI -d -cf $ANADIZIN/$AYARLAR/$PAKETCI_AYAR -kw 2>&1|tee $ANADIZIN/$LOG_DIZIN/$talimat.log || exit 1
-
- case $talimat in
- gcc)
- rm -fv /usr/lib{,64}/libgcc_s.so{,.1}
- rm -fv /usr/lib{,64}/libstdc++.so{,.6}
- rm -fv /usr/lib{,64}/libstdc++.la
- ;;
- bash)
- rm /bin/bash
- rm /bin/sh
- echo "bash chroot dısına cıkılıp elle kurulmalıdır."
- echo "=======> '$i' basarili sekilde kuruldu." >> $ANADIZIN/$LOG_DIZIN/$talimat.log
- exit 1
- ;;
- coreutils)
- rm -f /usr/bin/env
- for i in cat echo pwd stty
- do
- rm -f /bin/$i
- done
- ;;
- perl)
- rm -f /usr/bin/perl
- ;;
- esac
- if [ "$TALIMATNAME" != "onsistem" ] && [ "$talimat" != "bash" ]; then
- paket_kur
- fi
- fi
- if ( grep "^=======>" $ANADIZIN/$LOG_DIZIN/$talimat.log| tail -1 |grep "ERROR" > /dev/null);then
- exit 1
- fi
- cd -
- done
- }
- ikinci_ayarlar(){
- root_kontrol
- lfs_kontrol
- unmount_islemi
- mv /mnt/sources_depo $LFS/sources
- chown -R root:root $LFS
- install -dv -m0750 $LFS/root
- rm -r $LFS/root/bin
- rm -r $LFS/root/$TALIMATNAMELER
- rm -r $LFS/root/$LOG_DIZIN
- cp -a $ANADIZIN/bin $LFS/root/
- cp -a $TALIMATNAMELER $LFS/root/
- cp -a $AYARLAR $LFS/root/
- cp -a $ANADIZIN/lfs-mekanizma $LFS/root/
- cp -a $ANADIZIN/rootfs/* $LFS/
- cp /etc/resolv.conf $LFS/etc/
- gerekli_dizinler
- lokalizasyon
- fstab_olustur
- passwd_olustur
- grup_olustur
- bash_profil_olustur
- bashrc_olustur
- dmrc_olustur
- generate_hosts
- generate_inputrc
- generate_shells
- generate_dircolors_sh
- generate_extrapaths_sh
- generate_readline_sh
- generate_umask_sh
- generate_profile
- generate_hosts
- generate_inputrc
- generate_modules
- generate_createfiles
- generate_mouse
- generate_udev_retry
- generate_rc_site
- generate_etc_bashrc
- generate_blfs_bootscripts
- generate_milis_version
- cp $ANADIZIN/ayarlar/mpsd.conf $LFS/etc/
- cp $ANADIZIN/ayarlar/onmpsd.conf $LFS/etc/
- mkdir -p $LFS/var/lib/pkg/DB
- }
- generate_milis_version() {
- local FILE
- FILE="milis-version"
- [ -f ${LFS}/var/lib/pkg/$FILE ] && return
- [ ! -d ${LFS}/var/lib/pkg ] && mkdir -pv ${LFS}/var/lib/pkg
- echo "name ${CODE_NAME}
- version $VERSION" > ${LFS}/var/lib/pkg/$FILE
- }
- generate_blfs_bootscripts() {
- [ -f ${LFS}/etc/${LFS}/etc/blfs-bootscripts ] && return
- [ ! -d ${LFS}/etc ] && mkdir -pv ${LFS}/etc
- echo "scripts=blfs-bootscripts
- scriptsversion=20150924" > ${LFS}/etc/blfs-bootscripts
- }
- generate_etc_bashrc() {
- local FILE
- FILE="bashrc"
- [ -f ${LFS}/etc/$FILE ] && return
- [ ! -d ${LFS}/etc ] && mkdir -pv ${LFS}/etc
- if [ -f /etc/${INSTALL_COMMAND}.conf.d/$FILE ]; then
- cp /etc/${INSTALL_COMMAND}.conf.d/$FILE \
- ${LFS}/etc/$FILE
- return
- fi
- cat > ${LFS}/etc/$FILE << "EOF"
- # Begin /etc/bashrc
- # Written for Beyond Linux From Scratch
- # by James Robertson <jameswrobertson@earthlink.net>
- # updated by Bruce Dubbs <bdubbs@linuxfromscratch.org>
- # System wide aliases and functions.
- # System wide environment variables and startup programs should go into
- # /etc/profile. Personal environment variables and startup programs
- # should go into ~/.bash_profile. Personal aliases and functions should
- # go into ~/.bashrc
- # Provides a colored /bin/ls command. Used in conjunction with code in
- # /etc/profile.
- alias ls='ls --color=auto'
- # Provides prompt for non-login shells, specifically shells started
- # in the X environment. [Review the LFS archive thread titled
- # PS1 Environment Variable for a great case study behind this script
- # addendum.]
- #export LC_ALL="tr_TR.UTF-8"
- NORMAL="\[\e[0m\]"
- RED="\[\e[1;31m\]"
- GREEN="\[\e[1;32m\]"
- WHITE="\[\e[1;37m\]"
- case $TERM in
- xterm|rxvt*)
- TITLEBAR='\[\033]0;\u@\h \007\]'
- ;;
- *)
- TITLEBAR=''
- ;;
- esac
- if [[ $EUID == 0 ]] ; then
- PS1="$TITLEBAR$RED\u [ $NORMAL\w$RED ]# $NORMAL"
- else
- PS1="$TITLEBAR$GREEN\u [ $NORMAL\w$GREEN ]\$ $NORMAL"
- fi
- # End /etc/bashrc
- EOF
- }
- generate_rc_site() {
- local FILE
- FILE="rc.site"
- [ -f ${LFS}/etc/sysconfig/$FILE ] && return
- [ ! -d ${LFS}/etc/sysconfig ] && mkdir -pv ${LFS}/etc/sysconfig
- if [ -f /etc/${INSTALL_COMMAND}.conf.d/$FILE ]; then
- cp /etc/${INSTALL_COMMAND}.conf.d/$FILE \
- ${LFS}/etc/sysconfig/$FILE
- return
- fi
- cat > ${LFS}/etc/sysconfig/$FILE << "EOF"
- # rc.site
- # Optional parameters for boot scripts.
- # Distro Information
- # These values, if specified here, override the defaults
- #DISTRO="Linux From Scratch" # The distro name
- #DISTRO_CONTACT="lfs-dev@linuxfromscratch.org" # Bug report address
- #DISTRO_MINI="LFS" # Short name used in filenames for distro config
- # Define custom colors used in messages printed to the screen
- # Please consult `man console_codes` for more information
- # under the "ECMA-48 Set Graphics Rendition" section
- #
- # Warning: when switching from a 8bit to a 9bit font,
- # the linux console will reinterpret the bold (1;) to
- # the top 256 glyphs of the 9bit font. This does
- # not affect framebuffer consoles
- # These values, if specified here, override the defaults
- #BRACKET="\\033[1;34m" # Blue
- #FAILURE="\\033[1;31m" # Red
- #INFO="\\033[1;36m" # Cyan
- #NORMAL="\\033[0;39m" # Grey
- #SUCCESS="\\033[1;32m" # Green
- #WARNING="\\033[1;33m" # Yellow
- # Use a colored prefix
- # These values, if specified here, override the defaults
- #BMPREFIX=" "
- #SUCCESS_PREFIX="${SUCCESS} * ${NORMAL}"
- #FAILURE_PREFIX="${FAILURE}*****${NORMAL}"
- #WARNING_PREFIX="${WARNING} *** ${NORMAL}"
- # Interactive startup
- #IPROMPT="yes" # Whether to display the interactive boot prompt
- #itime="3" # The amount of time (in seconds) to display the prompt
- # The total length of the distro welcome string, without escape codes
- #wlen=$(echo "Welcome to ${DISTRO}" | wc -c )
- #welcome_message="Welcome to ${INFO}${DISTRO}${NORMAL}"
- # The total length of the interactive string, without escape codes
- #ilen=$(echo "Press 'I' to enter interactive startup" | wc -c )
- #i_message="Press '${FAILURE}I${NORMAL}' to enter interactive startup"
- # Set scripts to skip the file system check on reboot
- #FASTBOOT=yes
- # Skip reading from the console
- #HEADLESS=yes
- # Write out fsck progress if yes
- #VERBOSE_FSCK=no
- # Speed up boot without waiting for settle in udev
- #OMIT_UDEV_SETTLE=y
- # Speed up boot without waiting for settle in udev_retry
- #OMIT_UDEV_RETRY_SETTLE=yes
- # Skip cleaning /tmp if yes
- #SKIPTMPCLEAN=no
- # For setclock
- #UTC=1
- #CLOCKPARAMS=
- # For consolelog
- #LOGLEVEL=5
- # For network
- #HOSTNAME=milis
- # Delay between TERM and KILL signals at shutdown
- #KILLDELAY=3
- # Optional sysklogd parameters
- #SYSKLOGD_PARMS="-m 0"
- # Console parameters
- #UNICODE=1
- KEYMAP="trq"
- #KEYMAP_CORRECTIONS="euro2"
- #FONT="lat0-16 -m 8859-9"
- #LEGACY_CHARSET=
- EOF
- }
- generate_udev_retry() {
- local FILE
- FILE="udev_retry"
- [ -f ${LFS}/etc/sysconfig/$FILE ] && return
- [ ! -d ${LFS}/etc/sysconfig ] && mkdir -pv ${LFS}/etc/sysconfig
- if [ -f /etc/${INSTALL_COMMAND}.conf.d/$FILE ]; then
- cp /etc/sysconfig/$FILE \
- ${LFS}/etc/sysconfig/$FILE
- return
- fi
- cat > ${LFS}/etc/sysconfig/$FILE << "EOF"
- ########################################################################
- # Begin /etc/sysconfig/udev_retry
- #
- # Description : udev_retry script configuration
- #
- # Authors :
- #
- # Version : 00.00
- #
- # Notes : Each subsystem that may need to be re-triggered after mountfs
- # runs should be listed in this file. Probable subsystems to be
- # listed here are rtc (due to /var/lib/hwclock/adjtime) and sound
- # (due to both /var/lib/alsa/asound.state and /usr/sbin/alsactl).
- # Entries are whitespace-separated.
- ########################################################################
- rtc
- # End /etc/sysconfig/udev_retry
- EOF
- }
- generate_createfiles() {
- local FILE
- FILE="createfiles"
- [ -f ${LFS}/etc/sysconfig/$FILE ] && return
- [ ! -d ${LFS}/etc/sysconfig ] && mkdir -pv ${LFS}/etc/sysconfig
- if [ -f /etc/${INSTALL_COMMAND}.conf.d/$FILE ]; then
- cp /etc/${INSTALL_COMMAND}.conf.d/$FILE \
- ${LFS}/etc/sysconfig/$FILE
- return
- fi
- cat > ${LFS}/etc/sysconfig/$FILE << "EOF"
- ########################################################################
- # Begin /etc/sysconfig/createfiles
- #
- # Description : Createfiles script config file
- #
- # Authors :
- #
- # Version : 00.00
- #
- # Notes : The syntax of this file is as follows:
- # if type is equal to "file" or "dir"
- # <filename> <type> <permissions> <user> <group>
- # if type is equal to "dev"
- # <filename> <type> <permissions> <user> <group> <devtype>
- # <major> <minor>
- #
- # <filename> is the name of the file which is to be created
- # <type> is either file, dir, or dev.
- # file creates a new file
- # dir creates a new directory
- # dev creates a new device
- # <devtype> is either block, char or pipe
- # block creates a block device
- # char creates a character deivce
- # pipe creates a pipe, this will ignore the <major> and
- # <minor> fields
- # <major> and <minor> are the major and minor numbers used for
- # the device.
- ########################################################################
- # End /etc/sysconfig/createfiles
- EOF
- }
- generate_modules() {
- local FILE
- FILE="modules"
- [ -f ${LFS}/etc/sysconfig/$FILE ] && return
- [ ! -d ${LFS}/etc/sysconfig ] && mkdir -pv ${LFS}/etc/sysconfig
- if [ -f /etc/${INSTALL_COMMAND}.conf.d/$FILE ]; then
- cp /etc/${INSTALL_COMMAND}.conf.d/$FILE \
- ${LFS}/etc/sysconfig/$FILE
- return
- fi
- cat > ${LFS}/etc/sysconfig/$FILE << "EOF"
- ########################################################################
- # Begin /etc/sysconfig/modules
- #
- # Description : Module auto-loading configuration
- #
- # Authors :
- #
- # Version : 00.00
- #
- # Notes : The syntax of this file is as follows:
- # <module> [<arg1> <arg2> ...]
- #
- # Each module should be on its own line, and any options that you want
- # passed to the module should follow it. The line deliminator is either
- # a space or a tab.
- ########################################################################
- # End /etc/sysconfig/modules
- EOF
- }
- generate_mouse() {
- local FILE
- FILE="mouse"
- [ -f ${LFS}/etc/$FILE ] && return
- [ ! -d ${LFS}/etc/sysconfig ] && mkdir -pv ${LFS}/etc/sysconfig
- if [ -f /etc/${INSTALL_COMMAND}.conf.d/$FILE ]; then
- cp /etc/${INSTALL_COMMAND}.conf.d/$FILE \
- ${LFS}/etc/sysconfig/$FILE
- return
- fi
- cat > ${LFS}/etc/sysconfig/$FILE << "EOF"
- MDEVICE="/dev/input/mice"
- PROTOCOL="imps2"
- EOF
- }
- generate_inputrc() {
- local FILE
- FILE="inputrc"
- [ -f ${LFS}/etc/$FILE ] && return
- [ ! -d ${LFS}/etc ] && mkdir -pv ${LFS}/etc
- if [ -f /etc/${INSTALL_COMMAND}.conf.d/$FILE ]; then
- cp /etc/${INSTALL_COMMAND}.conf.d/$FILE \
- ${LFS}/etc/$FILE
- return
- fi
- cat > ${LFS}/etc/$FILE << "EOF"
- # Begin /etc/inputrc
- # Modified by Chris Lynn <roryo@roryo.dynup.net>
- # 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 xorg-term
- "\eOH": beginning-of-line
- "\eOF": end-of-line
- # for Konsole
- "\e[H": beginning-of-line
- "\e[F": end-of-line
- # End /etc/inputrc
- EOF
- }
- generate_hosts() {
- local FILE
- FILE="hosts"
- [ -f ${LFS}/etc/$FILE ] && return
- [ ! -d ${LFS}/etc ] && mkdir -pv ${LFS}/etc
- if [ -f /etc/${INSTALL_COMMAND}.conf.d/$FILE ]; then
- cp /etc/${INSTALL_COMMAND}.conf.d/$FILE \
- ${LFS}/etc/$FILE
- return
- fi
- cat > ${LFS}/etc/$FILE << "EOF"
- # Begin /etc/hosts
- 127.0.0.1 localhost.localdomain localhost
- 127.0.0.1 milis
- # End /etc/hosts
- EOF
- }
- generate_shells() {
- local FILE
- FILE="shells"
- [ -f ${LFS}/etc/$FILE ] && return
- [ ! -d ${LFS}/etc ] && mkdir -pv ${LFS}/etc
- if [ -f /etc/${INSTALL_COMMAND}.conf.d/$FILE ]; then
- cp /etc/${INSTALL_COMMAND}.conf.d/$FILE \
- ${LFS}/etc/$FILE
- return
- fi
- cat > ${LFS}/etc/$FILE << "EOF"
- # Begin /etc/shells
- /bin/sh
- /bin/bash
- # End /etc/shells
- EOF
- }
- generate_umask_sh() {
- local FILE
- FILE="umask.sh"
- [ -f ${LFS}/etc/profile.d/$FILE ] && return
- [ ! -d ${LFS}/etc/profile.d ] && mkdir -pv ${LFS}/etc/profile.d
- if [ -f /etc/${INSTALL_COMMAND}.conf.d/$FILE ]; then
- cp /etc/${INSTALL_COMMAND}.conf.d/$FILE \
- ${LFS}/etc/profile.d/$FILE
- return
- fi
- cat > ${LFS}/etc/profile.d/$FILE << "EOF"
- # By default we want the umask to get set.
- if [ "$(id -gn)" = "$(id -un)" -a $EUID -gt 99 ] ; then
- umask 002
- else
- umask 022
- fi
- EOF
- }
- generate_readline_sh() {
- local FILE
- FILE="readline.sh"
- [ -f ${LFS}/etc/profile.d/$FILE ] && return
- [ ! -d ${LFS}/etc/profile.d ] && mkdir -pv ${LFS}/etc/profile.d
- if [ -f /etc/${INSTALL_COMMAND}.conf.d/$FILE ]; then
- cp /etc/${INSTALL_COMMAND}.conf.d/$FILE \
- ${LFS}/etc/profile.d/$FILE
- return
- fi
- cat > ${LFS}/etc/profile.d/$FILE << "EOF"
- # Setup the INPUTRC environment variable.
- if [ -z "$INPUTRC" -a ! -f "$HOME/.inputrc" ] ; then
- INPUTRC=/etc/inputrc
- fi
- export INPUTRC
- EOF
- }
- generate_extrapaths_sh() {
- local FILE
- FILE="extrapaths.sh"
- [ -f ${LFS}/etc/profile.d/$FILE ] && return
- [ ! -d ${LFS}/etc/profile.d ] && mkdir -pv ${LFS}/etc/profile.d
- if [ -f /etc/${INSTALL_COMMAND}.conf.d/$FILE ]; then
- cp /etc/${INSTALL_COMMAND}.conf.d/$FILE \
- ${LFS}/etc/profile.d/$FILE
- return
- fi
- cat > ${LFS}/etc/profile.d/$FILE << "EOF"
- if [ -d /usr/local/lib/pkgconfig ] ; then
- pathappend /usr/local/lib/pkgconfig PKG_CONFIG_PATH
- fi
- if [ -d /usr/local/bin ]; then
- pathprepend /usr/local/bin
- fi
- if [ -d /usr/local/sbin -a $EUID -eq 0 ]; then
- pathprepend /usr/local/sbin
- fi
- if [ -d ~/bin ]; then
- pathprepend ~/bin
- fi
- #if [ $EUID -gt 99 ]; then
- # pathappend .
- #fi
- EOF
- }
- generate_dircolors_sh() {
- local FILE
- FILE="dircolors.sh"
- [ -f ${LFS}/etc/profile.d/$FILE ] && return
- [ ! -d ${LFS}/etc/profile.d ] && mkdir -pv ${LFS}/etc/profile.d
- if [ -f /etc/${INSTALL_COMMAND}.conf.d/$FILE ]; then
- cp /etc/${INSTALL_COMMAND}.conf.d/$FILE \
- ${LFS}/etc/profile.d/$FILE
- return
- fi
- cat > ${LFS}/etc/profile.d/$FILE << "EOF"
- # Setup for /bin/ls to support color, the alias is in /etc/bashrc.
- if [ -f "/etc/dircolors" ] ; then
- eval $(dircolors -b /etc/dircolors)
- if [ -f "$HOME/.dircolors" ] ; then
- eval $(dircolors -b $HOME/.dircolors)
- fi
- fi
- alias ls='ls --color=auto'
- EOF
- }
- generate_profile() {
- local FILE
- FILE="profile"
- [ -f ${LFS}/etc/$FILE ] && return
- [ ! -d ${LFS}/etc ] && mkdir -pv ${LFS}/etc
- if [ -f /etc/${INSTALL_COMMAND}.conf.d/$FILE ]; then
- cp /etc/${INSTALL_COMMAND}.conf.d/$FILE \
- ${LFS}/etc/$FILE
- return
- fi
- cat > ${LFS}/etc/$FILE << "EOF"
- # Begin /etc/profile
- # Written for Beyond Linux From Scratch
- # by James Robertson <jameswrobertson@earthlink.net>
- # modifications by Dagmar d'Surreal <rivyqntzne@pbzpnfg.arg>
- # System wide environment variables and startup programs.
- # System wide aliases and functions should go in /etc/bashrc. Personal
- # environment variables and startup programs should go into
- # ~/.bash_profile. Personal aliases and functions should go into
- # ~/.bashrc.
- # Functions to help us manage paths. Second argument is the name of the
- # path variable to be modified (default: PATH)
- pathremove () {
- local IFS=':'
- local NEWPATH
- local DIR
- local PATHVARIABLE=${2:-PATH}
- for DIR in ${!PATHVARIABLE} ; do
- if [ "$DIR" != "$1" ] ; then
- NEWPATH=${NEWPATH:+$NEWPATH:}$DIR
- fi
- done
- export $PATHVARIABLE="$NEWPATH"
- }
- pathprepend () {
- pathremove $1 $2
- local PATHVARIABLE=${2:-PATH}
- export $PATHVARIABLE="$1${!PATHVARIABLE:+:${!PATHVARIABLE}}"
- }
- pathappend () {
- pathremove $1 $2
- local PATHVARIABLE=${2:-PATH}
- export $PATHVARIABLE="${!PATHVARIABLE:+${!PATHVARIABLE}:}$1"
- }
- export -f pathremove pathprepend pathappend
- export LC_ALL="tr_TR.UTF-8"
- # Set the initial path
- export PATH=/usr/bin:/bin:/usr/sbin:/sbin
- if [ $EUID -eq 0 ] ; then
- unset HISTFILE
- fi
- # Setup some environment variables.
- export HISTSIZE=1000
- export HISTIGNORE="&:[bf]g:exit"
- # Set some defaults for graphical systems
- export XDG_DATA_DIRS=/usr/share/
- export XDG_CONFIG_DIRS=/etc/xdg/
- # Setup a red prompt for root and a green one for users.
- NORMAL="\[\e[0m\]"
- RED="\[\e[1;31m\]"
- GREEN="\[\e[1;32m\]"
- if [[ $EUID == 0 ]] ; then
- PS1="$RED\u [ $NORMAL\w$RED ]# $NORMAL"
- else
- PS1="$GREEN\u [ $NORMAL\w$GREEN ]\$ $NORMAL"
- fi
- for script in /etc/profile.d/*.sh ; do
- if [ -r $script ] ; then
- . $script
- fi
- done
- unset script RED GREEN NORMAL
- # End /etc/profile
- EOF
- }
- dmrc_olustur() {
- local FILE
- FILE=".dmrc"
- [ -f ${LFS}/etc/skel/$FILE ] && return
- [ ! -d ${LFS}/etc/skel ] && mkdir -pv ${LFS}/etc/skel
- if [ -f /etc/${INSTALL_COMMAND}.conf.d/$FILE ]; then
- cp /etc/${INSTALL_COMMAND}.conf.d/$FILE \
- ${LFS}/etc/skel/$FILE
- return
- fi
- cat > ${LFS}/etc/skel/$FILE << "EOF"
- [Desktop]
- Session=default
- EOF
- }
- bashrc_olustur() {
- local FILE
- FILE=".bashrc"
- [ -f ${LFS}/etc/skel/$FILE ] && return
- [ ! -d ${LFS}/etc/skel ] && mkdir -pv ${LFS}/etc/skel
- if [ -f /etc/${INSTALL_COMMAND}.conf.d/$FILE ]; then
- cp /etc/${INSTALL_COMMAND}.conf.d/$FILE \
- ${LFS}/etc/skel/$FILE
- return
- fi
- cat > ${LFS}/etc/skel/$FILE << "EOF"
- # Personal aliases and functions.
- # Personal environment variables and startup programs should go in
- # ~/.bash_profile. System wide environment variables and startup
- # programs are in /etc/profile. System wide aliases and functions are
- # in /etc/bashrc.
- if [ -f "/etc/bashrc" ] ; then
- source /etc/bashrc
- fi
- alias ll='ls -l'
- alias l='ls -alh'
- alias duh='du -h --max-depth=1'
- alias dfh='df -h'
- # End ~/.bashrc
- EOF
- [ -f ${LFS}/root/$FILE ] && return
- [ ! -d ${LFS}/root ] && install -dv -m0750 ${LFS}/root
- cp -v ${LFS}/etc/skel/$FILE \
- ${LFS}/root
- }
- bash_profil_olustur() {
- local FILE
- FILE=".bash_profile"
- [ -f ${LFS}/etc/skel/$FILE ] && return
- [ ! -d ${LFS}/etc/skel ] && mkdir -pv ${LFS}/etc/skel
- if [ -f /etc/${INSTALL_COMMAND}.conf.d/$FILE ]; then
- cp /etc/${INSTALL_COMMAND}.conf.d/$FILE \
- ${LFS}/etc/skel/$FILE
- return
- fi
- cat > ${LFS}/etc/skel/$FILE << "EOF"
- # Personal environment variables and startup programs.
- # Personal aliases and functions should go in ~/.bashrc. System wide
- # environment variables and startup programs are in /etc/profile.
- # System wide aliases and functions are in /etc/bashrc.
- append () {
- # First remove the directory
- local IFS=':'
- local NEWPATH
- for DIR in $PATH; do
- if [ "$DIR" != "$1" ]; then
- NEWPATH=${NEWPATH:+$NEWPATH:}$DIR
- fi
- done
- # Then append the directory
- export PATH=$NEWPATH:$1
- }
- if [ -f "$HOME/.bashrc" ] ; then
- source $HOME/.bashrc
- fi
- # unset append
- # End ~/.bash_profile
- EOF
- [ ! -d ${LFS}/root ] && install -dv -m0750 ${LFS}/root
- [ -f ${LFS}/root/$FILE ] && return
- cp -v ${LFS}/etc/skel/$FILE \
- ${LFS}/root
- }
- gerekli_dizinler() {
- mkdir ${LFS}/{dev,sys,proc,run,tmp,home,srv,mnt}
- mkdir -p ${LFS}/var/tmp
- mkdir -p ${LFS}/usr/{,local/}lib
- chmod 1777 ${LFS}/{,var/}tmp
- mkdir -v ${LFS}/var/{mail,spool}
- mkdir -pv ${LFS}/var/run/lock
- mknod -m 600 ${LFS}/dev/console c 5 1
- mknod -m 666 ${LFS}/dev/null c 1 3
- }
- lokalizasyon() {
- [ ! -d ${LFS}/etc/locale ] && mkdir -p ${LFS}/etc/locale
- if [ -d ${LFS}/usr/lib/locale ]; then
- rm -r ${LFS}/usr/lib/locale
- ln -sv /etc/locale/ ${LFS}/usr/lib/locale
- fi
- }
- fstab_olustur() {
- local FILE
- FILE="fstab"
- [ -f ${LFS}/etc/$FILE ] && return
- [ ! -d ${LFS}/etc ] && mkdir -pv ${LFS}/etc
- if [ -f /etc/${INSTALL_COMMAND}.conf.d/$FILE ]; then
- cp /etc/${INSTALL_COMMAND}.conf.d/$FILE \
- ${LFS}/etc/$FILE
- return
- fi
- cat > ${LFS}/etc/$FILE << "EOF"
- # Begin /etc/fstab
- # file system mount-point type options dump fsck
- # order
- 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
- EOF
- }
- grup_olustur() {
- [ -f ${LFS}/etc/group ] && return
- [ ! -d ${LFS}/etc ] && mkdir -pv ${LFS}/etc
- cat > ${LFS}/etc/group << "EOF"
- root:x:0:
- bin:x:1:
- sys:x:2:
- kmem:x:3:
- tape:x:4:
- tty:x:5:
- daemon:x:6:
- floppy:x:7:
- disk:x:8:
- lp:x:9:
- dialout:x:10:
- audio:x:11:gdm
- video:x:12:gdm
- utmp:x:13:
- usb:x:14:
- cdrom:x:15:
- adm:x:16:
- atd:x:17:
- messagebus:x:18:
- lpadmin:x:19:
- named:x:20:
- gdm:x:21:
- fcron:x:22:
- www:x:24:
- apache:x:25:
- smmsp:x:26:
- polkitd:x:27:
- wheel:x:30:root
- exim:x:31:
- postfix:x:32:
- postdrop:x:33:
- mail:x:34:
- vmailman:x:35:
- news:x:36:
- kdm:x:37:
- mysql:x:40:
- postgres:x:41:
- dovecot:x:42:
- dovenull:x:43:
- ftp:x:45:
- proftpd:x:46:
- vsftpd:x:47:
- rsyncd:x:48:
- sshd:x:50:
- stunnel:x:51:
- svn:x:56:
- svntest:x:57:
- pulse:x:58:
- pulse-access:x:59:
- games:x:60:
- kvm:x:61:
- wireshark:x:62:
- lightdm:x:63:
- sddm:x:64:
- scanner:x:70:
- colord:x:71:
- vboxusers:x:80:
- ldap:x:83:
- avahi:x:84:
- avahi-autoipd:x:85:
- netdev:x:86:
- ntp:x:87:
- unbound:x:88:
- nogroup:x:99:
- users:x:999:
- EOF
- }
- passwd_olustur() {
- [ -f ${LFS}/etc/passwd ] && return
- [ ! -d ${LFS}/etc ] && mkdir -pv ${LFS}/etc
- cat > ${LFS}/etc/passwd << "EOF"
- root::0:0:root:/root:/bin/bash
- bin:x:1:1:bin:/dev/null:/bin/false
- lp:x:9:9:Print Service User:/dev/null:/bin/false
- atd:x:17:17:add daemon:/dev/null:/bin/false
- messagebus:x:18:18:D-Bus Message Daemon User:/dev/null:/bin/false
- named:x:20:20:BIND Owner:/home/named:/bin/false
- gdm:x:21:21:GDM Daemon User:/var/lib/gdm:/bin/false
- fcron:x:22:22:Fcron User:/dev/null:/bin/false
- www:x:24:24:Nginx Server:/dev/null:bin/false
- apache:x:25:25:Apache Server:/dev/null:/bin/false
- smmsp:x:26:26:Sendmail Daemon:/dev/null:/bin/false
- polkitd:x:27:27:Policy Kit Daemon User:/etc/polkit-1:/bin/false
- exim:x:31:31:Exim Daemon:/dev/null:/bin/false
- postfix:x:32:32:Postfix Daemon User:/var/spool/postfix:/bin/false
- sendmail:x:34:34:Sendmail Daemon:/dev/null:/bin/false
- vmailman:x:35:35:Vmail Daemon:/dev/null:/bin/false
- news:x:36:36:News Daemon:/dev/null:/bin/false
- kdm:x:37:37:KDM Daemon Owner:/var/lib/kdm:/bin/false
- mysql:x:40:40:MySQL Server:/dev/null:/bin/false
- postgres:x:41:41:PostgreSQL Server:/srv/pgsql/data:/bin/bash
- dovecot:x:42:42:Dovecot unprivileged user:/dev/null:/bin/false
- dovenull:x:43:43:Dovecot login user:/dev/null:/bin/false
- ftp:x:45:45:anonymous_user:/home/ftp:/bin/false
- proftpd:x:46:46:proftpd:/srv/ftp:/usr/bin/proftpdshell
- vsftpd:x:47:47:vsftpd User:/dev/null:/bin/false
- rsyncd:x:48:48:rsyncd Daemon:/home/rsync:/bin/false
- sshd:x:50:50:sshd PrivSep:/var/lib/sshd:/bin/false
- stunnel:x:51:51:stunnel Daemon:/var/lib/stunnel:/bin/false
- svn:x:56:56:SVN Owner:/home/svn:/bin/false
- games:x:60:60:Games High Score Owner:/var/games:/bin/false
- lightdm:x:63:63:Light Display Manager:/var/lib/lightdm:/sbin/nologin
- sddm:x:64:64:Simple Desktop Display Manager:/var/lib/sddm:/bin/false
- colord:x:71:71:Color Daemon Owner:/var/lib/colord:/bin/false
- ldap:x:83:83:OpenLDAP Daemon Owner:/var/lib/openldap:/bin/false
- avahi:x:84:84:Avahi Daemon Owner:/var/run/avahi-daemon:/bin/false
- avahi-autoipd:x:85:85:Avahi autoip Daemon:/:/var/run/avahi-autoipd:/bin/false
- ntp:x:87:87:Network Time Protocol:/var/lib/ntp:/bin/false
- unbound:x:88:88:Unbound DNS resolver:/var/lib/unbound:/bin/false
- anonymous:x:98:99:Unprivileged User:/dev/null:/bin/false
- nobody:x:99:99:Unprivileged User:/dev/null:/bin/false
- EOF
- }
- mount_islemi(){
- cp -v /etc/resolv.conf $LFS/etc
- mount -v -B /dev $LFS/dev
- #mount -vt devpts devpts $LFS/dev/pts -o gid=5,mode=620
- #mount -vt devpts devpts $LFS/dev/pts
- # make hatası düzeliyor-segm fault
- mount --bind /dev/pts $LFS/dev/pts
- mount -vt proc proc $LFS/proc
- #bazı durumlarda bu kullanılacak tty değilde pty i kullanan derlemelerde
- #mount --bind /dev/pts $LFS/dev/pts
- mount -vt sysfs sysfs $LFS/sys
- #if [ -h /dev/shm ]; then rm -f $LFS/dev/shm;mkdir $LFS/dev/shm;fi
- #mount -vt tmpfs shm $LFS/dev/shm
- #chmod 1777 /dev/shm
- }
- chroot_gir(){
- root_kontrol
- lfs_kontrol
- unmount_islemi
- mount_islemi
- cp ayarlar/bashrc_chroot "$LFS"/etc/bashrc
- chroot "$LFS" /usr/bin/env -i HOME=/root TERM="$TERM" PS1='\u:\w\$ ' /bin/bash --login
- #chroot "$LFS" /usr/bin/env -i HOME=/root PS1='\u:\w\$ ' /bin/bash --login +h
- }
- unmount_islemi() {
- lfs_kontrol
- if [ "$LFS" != "" ];then
- umount -lf $LFS/dev/shm
- umount -lf $LFS/dev/pts
- umount -lf $LFS/dev
- umount -lf $LFS/run
- umount -lf $LFS/proc
- umount -lf $LFS/sys
- else
- echo "LFS boş tanımlı"
- fi
- }
- bash_kur(){
- cd $LFS/root/talimatname/temel/bash
- for PACK in *.lz; do tar xf $PACK -C $LFS;done
- }
- onsistem_sfs(){
- tarih=`date +%Y-%m-%d`
- mv $LFS/sources /mnt/sources_depo
- mksquashfs $LFS malfs-asama1-onsistem_$tarih.sfs -comp xz
- }
- temel_sfs(){
- unmount_islemi
- tarih=`date +%Y-%m-%d`
- mv $LFS/sources /mnt/sources_depo
- mv $LFS/tools /mnt/tools_ydk
- mv $LFS/paket_depo /mnt/base_paket_depo
- mksquashfs $LFS malfs-asama2-temel_$tarih.sfs -comp xz
- mv /mnt/sources_depo $LFS/sources
- }
- son_sfs(){
- unmount_islemi
- tarih=`date +%Y-%m-%d`
- mv $LFS/sources /mnt/sources_depo
- mv $LFS/paket_depo /mnt/paket_depo
- rm -r -f $LFS/usr/src
- mksquashfs $LFS malfs-asama3-sonsistem_$tarih.sfs -comp xz
- }
- baslatici_olustur(){
- rm /boot/initramfs
- #kernelv=`ls /boot/kernel-* | cut -d'-' -f2`
- kernelv=`ls /lib/modules`
- #mkdir -p /usr/lib/dracut/modules.d/01milis
- #cp /root/bin/dracut/* /usr/lib/dracut/modules.d/01milis/
- #dracut -N --xz --force-add milis --omit systemd /boot/initramfs $kernelv
- dracut -N --force --xz --add 'crypt dmsquash-live pollcdrom livenet' --omit systemd /boot/initramfs $kernelv
- }
- grub_efi_boot(){
- : ${BASE_ARCH:=$(uname -m)}
- : ${KEYMAP:=tr}
- : ${LOCALE:=tr_TR.UTF-8}
- : ${INITRAMFS_COMPRESSION:=xz}
- : ${SQUASHFS_COMPRESSION:=xz}
- : ${BOOT_TITLE:="Milis_Linux"}
- ISO_VOLUME="MILIS_CALISAN"
- IMAGEDIR="iso_icerik"
- IMAGEDIR=$(readlink -f $IMAGEDIR)
- BOOT_DIR="$IMAGEDIR/boot"
- ISOLINUX_DIR="$BOOT_DIR/isolinux"
- GRUB_DIR="$BOOT_DIR/grub"
- ISOLINUX_CFG="$ISOLINUX_DIR/isolinux.cfg"
- SPLASH_IMAGE="$ISOLINUX_DIR/back.jpg"
- #noaer vs yazabiliriz.
- BOOT_CMDLINE=""
- KERNELVERSION=`uname -r`
- mkdir -p $GRUB_DIR
- cp -f ayarlar/grub/grub.cfg $GRUB_DIR/
- cp -f ayarlar/grub/grub_milis.cfg.in $GRUB_DIR/grub_milis.cfg
- sed -i -e "s|@@SPLASHIMAGE@@|$(basename ${SPLASH_IMAGE})|" \
- -e "s|@@KERNVER@@|${KERNELVERSION}|" \
- -e "s|@@KEYMAP@@|${KEYMAP}|" \
- -e "s|@@ARCH@@|$BASE_ARCH|" \
- -e "s|@@BOOT_TITLE@@|${BOOT_TITLE}|" \
- -e "s|@@BOOT_CMDLINE@@|${BOOT_CMDLINE}|" \
- -e "s|@@LOCALE@@|${LOCALE}|" $GRUB_DIR/grub_milis.cfg
- mkdir -p $GRUB_DIR/fonts
- cp -f ayarlar/grub/fonts/unicode.pf2 $GRUB_DIR/fonts/
- modprobe -q loop || :
- # EFI vfat imajı olusturuyoruz.
- truncate -s 16M $GRUB_DIR/efiboot.img >/dev/null 2>&1
- mkfs.vfat -F12 -S 512 -n "grub_uefi" "$GRUB_DIR/efiboot.img" >/dev/null 2>&1
- GRUB_EFI_TMPDIR="$(mktemp --tmpdir=/tmp -d)"
- LOOP_DEVICE="$(losetup --show --find ${GRUB_DIR}/efiboot.img)"
- mount -o rw,flush -t vfat "${LOOP_DEVICE}" "${GRUB_EFI_TMPDIR}" >/dev/null 2>&1
- cp -a $IMAGEDIR/boot $LFS
-
- echo "chroot gir"
-
- chroot "$LFS" /usr/bin/env -i grub-mkstandalone --directory="/usr/lib/grub/x86_64-efi" --format="x86_64-efi" --output="/tmp/bootx64.efi" "ayarlar/grub/grub.cfg"
-
- echo "chroot cik"
-
- if [ $? -ne 0 ]; then
- umount "$GRUB_EFI_TMPDIR"
- losetup --detach "${LOOP_DEVICE}"
- echo "EFI yukleyici olusturulması basarısız!"
- exit 1
- fi
- echo "${GRUB_EFI_TMPDIR} silinecek"
- mkdir -p ${GRUB_EFI_TMPDIR}/EFI/BOOT
- cp -f $LFS/tmp/bootx64.efi ${GRUB_EFI_TMPDIR}/EFI/BOOT/BOOTX64.EFI
- umount "$GRUB_EFI_TMPDIR"
- echo " ${LOOP_DEVICE} silinecek"
- losetup --detach "${LOOP_DEVICE}"
- rm -rf $GRUB_EFI_TMPDIR
- }
- squashfs_olustur(){
- unmount_islemi
- lfs_kontrol
- #son ayar yuklemeleri
- cp rootfs/etc/bashrc $LFS/etc/bashrc
- cp rootfs/etc/profile $LFS/etc/profile
- cp ./ayarlar/mps.conf $LFS/etc/mps.conf
- cp -f ./rootfs/etc/rc.d/init.d/* $LFS/etc/rc.d/init.d/
- iso_etiket="MILIS_DISK_IMAJ"
- rm -rf iso_icerik/boot/kernel
- rm -rf iso_icerik/boot/initramfs
- rm -rf iso_icerik/LiveOS
- cp $LFS/boot/kernel-* iso_icerik/boot/kernel
- cp $LFS/boot/initramfs* iso_icerik/boot/initramfs
- anayer=$(du -sm "$LFS"|awk '{print $1}')
- fazladan="$((anayer))"
- mkdir -p tmp
- #yeni dracut guncellemesiyle-210817 gerek yok
- #mkdir -p tmp/LiveOS
- #dd if=/dev/zero of=tmp/LiveOS/ext3fs.img bs=1MB count=16192
- #dd if=/dev/zero of=tmp/ext3fs.img bs=1MB count=16384
- fallocate -l 16G tmp/rootfs.img
- mke2fs -t ext4 -L $iso_etiket -F tmp/rootfs.img
- mkdir -p temp-root
- mount -o loop tmp/rootfs.img temp-root
- cp -dpR $LFS/* temp-root/
- #rsync -a kur/ temp-root
- umount -l temp-root
- rm -rf temp-root
- mkdir -p iso_icerik/LiveOS
- mksquashfs tmp iso_icerik/LiveOS/squashfs.img -comp xz -b 256K -Xbcj x86
- chmod 444 iso_icerik/LiveOS/squashfs.img
- rm -rf tmp
- }
- iso_olustur(){
- iso_etiket="MILIS_CALISAN"
- rm milis_calisan.iso
- genisoimage -l -V $iso_etiket -R -J -pad -no-emul-boot -boot-load-size 4 -boot-info-table \
- -b boot/isolinux/isolinux.bin -c boot/isolinux/boot.cat -o milis_calisan.iso iso_icerik && isohybrid milis_calisan.iso
- }
- iso_olustur_efili() {
- cp $LFS/usr/lib/syslinux/isohdpfx.bin iso_icerik/boot/isolinux/isohdpfx.bin
- xorriso -as mkisofs \
- -iso-level 3 -rock -joliet \
- -max-iso9660-filenames -omit-period \
- -omit-version-number -relaxed-filenames -allow-lowercase \
- -volid "MILIS_LIVE" \
- -eltorito-boot boot/isolinux/isolinux.bin \
- -eltorito-catalog boot/isolinux/isolinux.cat \
- -no-emul-boot -boot-load-size 4 -boot-info-table \
- -eltorito-alt-boot -e boot/grub/efiboot.img -isohybrid-gpt-basdat -no-emul-boot \
- -isohybrid-mbr iso_icerik/boot/isolinux/isohdpfx.bin \
- -output "milislinux-live.iso" iso_icerik || echo "ISO imaj olusturalamadı";exit 1
- }
- temizlik(){
- rm -r /tools/*
- rm -r chroot/.log/*
- rm -r /tmp/work
- }
- lfs_kontrol(){
- if [ -z "${LFS}" ]; then
- echo "export LFS=/mnt/lfs"
- echo "komutu verilmeli"
- exit 1
- fi
- }
- root_kontrol(){
- if [ ! $(whoami) == "root" ]; then
- echo "mekanizma işlemleri için root olmalısınız."
- exit 1
- fi
- }
- #calisma ortaminin klonlanmasi
- git_clone(){
- git clone git://github.com/milisarge/malfs malfs
- }
- kaynak_kodlar_indir(){
- lfs_kontrol
- mkdir -p $LFS/sources
- for link in `cat kaynaklar.liste`
- do
- #MD5SUM=`echo $i|cut -d "|" -f1`
- MD5SUM="iptal"
- wget -nc --no-check-certificate $link -P $LFS/sources
- if [ "$MD5SUM" != "iptal" ]; then
- echo "$MD5SUM $FILE" >> $LFS/sources/.md5sums
- fi
- done
- }
- parametre_analiz() {
- while [ "$1" ]; do
- case $1 in
- -h|--help)
- print_help
- exit 0;;
- -gk|--gerek-kontrol)
- ./bin/version-check.sh
- exit 0;;
- -ki|--kaynak-indir)
- kaynak_kodlar_indir
- exit 0;;
- -cg|--chroot-gir)
- chroot_gir
- exit 0;;
- -os|--onsistem-sfs)
- onsistem_sfs
- exit 0;;
- -ts|--temel-sfs)
- temel_sfs
- exit 0;;
- -ss|--son-sfs)
- son_sfs
- exit 0;;
- -bo|--initrd-yap)
- baslatici_olustur
- exit 0;;
- -geb)
- grub_efi_boot
- exit 0;;
- -so|--squashfs-yap)
- squashfs_olustur
- exit 0;;
- -io|--iso-yap)
- iso_olustur
- exit 0;;
- -iof|--iso-yap-efili)
- iso_olustur_efili
- exit 0;;
- -ba|--birinci-ayarlar)
- birinci_ayarlar
- exit 0;;
- -ia|--ikinci-ayarlar)
- ikinci_ayarlar
- exit 0;;
- -mi|--mount-islemi)
- mount_islemi
- exit 0;;
- -bk|--bash-kur)
- bash_kur
- exit 0;;
- -ui|--unmount-islemi)
- unmount_islemi
- exit 0;;
- -te|--temizlik)
- temizlik
- exit 0;;
- -td|--tlm-derle)
- if [ ! "$2" ]; then
- echo "talimatname dizini giriniz."
- echo "ornek: lfs-mekanizma -td temel"
- exit 1
- fi
- TALIMATNAME="$2"
- talimatname_derle
- shift;;
- -v|--version)
- echo "`basename $0` $VERSION"
- exit 0;;
- *)
- echo "`basename $0`: gecersiz parametre $1"
- exit 1 ;;
- esac
- shift
- done
- }
- parametre_analiz "$@"
|