GentooPlayer easy install

Pagina 1 di 6 1 2 3 4 5 6 ultimo
Visualizzazione dei risultati da 1 a 10 su 51
  1. #1
    tebibyte
    Registrato
    Aug 2011
    Età
    44
    Messaggi
    2,283
    configurazione

    Predefinito GentooPlayer easy install

    Dopo un po sono arrivato a qualcosa.

    Grazie a fedeliallalinea per avermi risolto qualche problema e per le varie ebuild e a audiodef (https://gentoostudio.org/) per avermi aiutato, molto, con Catalyst.
    Gli scrtip di installazione praticamente sono quelli di audiodef, ho solo cambiato qualcosa.

    Per l´installazione oltre all´usb con SystemRescueCD sopra ci deve essero SOLO L´HD/usb per l´installazione onde evitare perdita di dati importanti. (il mio consiglio é un ssd).
    https://sourceforge.net/projects/sys...1.iso/download


    Eventuali suggerimenti sugli script o traduzione (visto che é mezzo in inglese e mezzo in italiano) sono ben accetti.

    Assicurarsi che SystemRescueCD parta in modalitá bios (dovreste avere una schermata colorata). All´avvio opzione "C" (for standard 64-bit kerne) e poi "1" (for default options).
    A SystemRescue ci si puó collegare anche da un altro PC (putty win, ssh Linux), dopo aver reimpostato la Password di root (passwd).

    ##########################################################################################

    INSTALLAZIONE:
    codice:
    wget -O install.sh https://paste.pound-python.org/raw/SXz31EkFxHLr1EqoEgf8/
    chmod +x install.sh
    ./install.sh
    ##########################################################################################

    seguire le istruzioni. v. Video

    Sono presenti 2 tipi di installazioni "test" e "normal", in realtá sono due stage4 diverse. non ho trovato altro modo per chiamarle.

    test: sono comprese le modifiche indicate su linuxaudio.org e qualcos altro.
    il risultato del loro script é questo:
    codice:
    Checking if you are root... yes - not good
    You are running this script as root. Please run it as a regular user for the most reliable results.
    Checking filesystem 'noatime' parameter... 4.11.12 kernel - good
    (relatime is default since 2.6.30)
    Checking CPU Governors... CPU 0: 'performance' CPU 1: 'performance' CPU 2: 'performance' CPU 3: 'performance'  - good
    Checking swappiness... 10 - good
    Checking for resource-intensive background processes... none found - good
    Checking checking sysctl inotify max_user_watches... >= 524288 - good
    Checking access to the high precision event timer... readable - good
    Checking access to the real-time clock... readable - good
    Checking whether you're in the 'audio' group... no - not good
    add yourself to the audio group with 'adduser $USER audio'
    
    Checking for multiple 'audio' groups... yes - not good
    Found 3 groups with name 'audio'. You should not have duplicate 'audio' groups.
    For more information, see http://wiki.linuxaudio.org/wiki/system_configuration#audio_group
    Checking the ability to prioritize processes with chrt... yes - good
    Checking kernel support for high resolution timers... found - good
    Kernel with Real-Time Preemption... found - good
    Checking if kernel system timer is high-resolution... found - good
    Checking kernel support for tickless timer... found - good
    == Other checks ==
    Checking filesystem types... ok.
    not found.
    ** Warning: no tmpfs partition mounted on /tmp
       For more information, see:
       - http://wiki.linuxaudio.org/wiki/system_configuration#tmpfs
       - http://lowlatency.linuxaudio.org
    ** Set $SOUND_CARD_IRQ to the IRQ of your soundcard to enable more checks.
       Find your sound card's IRQ by looking at '/proc/interrupts' and lspci.
    normal: é senza queste modifiche.

    Il kernel é RT fully-preemptible compilato in modo generico.

    i Software installati sono:
    Squeezelite-R2
    Networkaudiod
    Mpd
    RoonBridg
    RTapp suite (rtapp, rtapp.timer, rtcheck, rtmonitorirq, rtreset, rtstatus e rttest) by AudioLinux. v. post e post
    RTirq
    Sox-DSD
    Logitechmediaserver

    Non sono messi all´avvio del pc, viene chiesto cosa aggiungere all´avvio durante l´installazione, si puó anche tutti.
    All´avvio sono pre impostati: alsasound|default dbus|default sshd|default acpid|default

    Per la configurazione guidata di squeezelite-R2 e mpd eseguire il comando:

    codice:
    sqconfig
    Non c´é una interfaccia grafica...per chi la vuole puó vedere questo post https://www.nexthardware.com/forum/p...tml#post965872
    la ebuild di Hqplayer é giá compresa, quidi per installarlo basta dare:
    codice:
    emerge --ask hqplayer-bin
    Successivamente se si vuole, non é necessario...ma consigliato, c´é la possibilitá di compilare un Kernel-RT minimale e/o pf-kernel minimale (che secondo me é quello che usa wtfplay, ma non ne sono certo) senza moduli.

    Per farlo basta dare:
    codice:
    kernelinstall
    il kernel originale rimane comunque, quindi non si rischia di avere un sistema che non parte piú.

    Una volta nel Menu le cose sicure da modificare sono:

    Processor type and features--->Processor Family > scegliere tra le varie opzioni (consiglio Native optimizations autodetected by GCC oppure sceglire la propia cpu)
    per il nome della cpu, durante l´esecuzione dello script c´é la possibilitá di visualizzare come la vedono le gcc
    es:
    codice:
    -march=sandybridge -mmmx -mno-3dnow -msse -msse2 -msse3 -mssse3 -mno-sse4a -mcx16 -msahf -mno-movbe -mno-aes -mno-sha -mpclmul -mpopcnt -mno-abm -mno-lwp -mno-fma -mno-fma4 -mno-xop -mno-bmi -mno-bmi2 -mno-tbm -mavx -mno-avx2 -msse4.2 -msse4.1 -mno-lzcnt -mno-rtm -mno-hle -mno-rdrnd -mno-f16c -mno-fsgsbase -mno-rdseed -mno-prfchw -mno-adx -mfxsr -mxsave -mxsaveopt -mno-avx512f -mno-avx512er -mno-avx512cd -mno-avx512pf -mno-prefetchwt1 -mno-clflushopt -mno-xsavec -mno-xsaves -mno-avx512dq -mno-avx512bw -mno-avx512vl -mno-avx512ifma -mno-avx512vbmi -mno-clwb -mno-pcommit -mno-mwaitx --param l1-cache-size=32 --param l1-cache-line-size=64 --param l2-cache-size=3072 -mtune=sandybridge
    Maximum number of CPUs > mettere il Numero di core

    Device Drivers---->Network device support---->Ethernet driver Support > linkare staticamente la vostra cheda di rete (*)

    un video che puó essere di aiuto a capire come funziona la ricerca del driver
    https://www.youtube.com/watch?v=JFSDILuUMzA


    Come aiuto per l´hardware sono giá presenti due file:
    codice:
    cat /root/hardware/lspci
    cat /root/hardware/lsmod
    cat /root/hardware/lspciv
    File di configurazione:

    Squeezelite-R2> /etc/conf.d/squeezelite-R2
    RTapp> /etc/rtapp/rtapp.conf
    v. post https://www.nexthardware.com/forum/p...tml#post968812
    RTirq> /etc/conf.d/rtirq

    PS: alsa ho lasciato la versione 1.0.29


    Buon Divertimento!!!

    Originariamente inviato da antonellocaroli
    Ho aggiunto alcuni comandi alla shell.
    Alcuni utili, altri meno.

    audio ---> Visualizza lo stato attuale della Scheda Audio
    es.
    codice:
    GentooPlayer filippo # audio
    AUDIO CARDS
    CARD    TYPE                    ADDRESS                 NAME
    --------------------------------------------------------------------------------------------------------
    card0   USB Audio card          usb1  --> 20b1:2023     XMOS XMOS USB
    card0   STATUS  --> access: RW_INTERLEAVED format: S32_LE subformat: STD channels: 2 rate: 44100 (44100/1) period_size: 7335 buffer_size: 22005
    --------------------------------------------------------------------------------------------------------
    rtirqconf ---> apre la configurazione GUIDATA di RTirq


    ipstatic ---> apre la configurazione GUIDATA per un IP statico


    kernelinstall ---> apre l´installazione GUIDATA di un kernel-RT minimale e/o pf-kernel minimale


    sqconfig ---> Apre la configurazione GUIDATA di squeezelite-R2 e "mpd"


    grubconf ---> monta la partizione di boot, apre il file di configurazione di grub e fa il "restart" di grub. Utile in caso si vogliono cambiare i parametri di avvio di grub.

    ###squeezelite
    sqc ---> apre il file di configurazione di squeezelite-R2 per essere editato e alla chiusura fa il retasrt
    sqr ---> restart di squeezelite-R2 stop degli altri player
    sqrestart ---> restart squeezelite-R2
    sqstop ---> Stop squeezelite-R2
    sqadd ---> aggiunge squeezelite-R2 all´avvio
    sqremove ---> rimuove squeezelite-R2 dall´avvio
    ###networkaudiod
    nadr---> restart di networkaudiod stop degli altri player
    nadrestart ---> restart di networkaudiod
    nadstop ---> stop di networkaudiod
    nadadd ---> aggiunge networkaudiod all´avvio
    nadremove ---> rimuove networaudiod dall´avvio
    ###mpd
    mpdc ---> apre il file di configurazione di mpd per essere editato e fa il restart
    mpdr ---> fa il restart di e mpd e lo stop degli altri player
    mpdrestart ---> restart di mpd
    mpdstop ---> stop di mpd
    mpdadd ---> aggiunge mpd all´avvio
    mpdremove ---> rimuove mpd dall´avvio
    ###roon
    roonr ---> fa il restart di roon-bridge e lo stop degli altri player
    roonrestart ---> restart di roon-bridge
    roonstop ---> stop di roon-bridge
    roonadd ---> aggiunge roon-bridge all´vvio
    roonremove ---> rimuove roon-bridge dall´avvio
    ###RT
    rtappc ---> apre in file di configurazione di RTapp per essere editato e fa il restart di RTapp
    rtirqc ---> apre in file di configurazione di RTirq per essere editato e fa il restart di RTirq
    rtirqadd ---> aggiunge RTirq all´avvio
    rtirqremove ---> rimuove RTirq dall´avvio
    rtappadd ---> aggiunge RTapp-Timer all´avvio
    rtappremove ---> rimuove RTapp-Timer dall´avvio
    ###LMS
    lmsadd ---> aggiunge LogitechMediaServer all´avvio
    lmsremove ---> rimuove LogitechMediaServer dall´avvio

    a parte audio gli altri vanno solo da utente root.

    NOTA su kernelinstall:
    questo script attualmente prevede la scelta tra intel e amd
    ma se qualcuno é interessato a postare i propi lspci e lsmod e poi a testare il kernell,
    la lista si potrebbe allungare e entrare piú nello specifico, tipo:
    intel
    amd
    futro xxxx
    nuc xxxx
    ecc


    Nota2: Io personalmente nella compilazione del kernel minimale ho messo nelle impostazione dei core (2) anziché (4) che sono quelli effettivi della cpu. Poi ho aggiundo ai comandi di avvio di grub "isolcpus=0".
    Il risultato mi é piaciuto.
    Ultima modifica di antonellocaroli : 10-12-2017 a 12:04 Motivo: Aggiornate le due stage, passate al profilo 17. v. news https://www.gentoo.org/support/news-items/2017-11-30-new-17-profiles
    UnixMan and ciccio1112 like this.

  2. #2
    tebibyte
    Registrato
    Aug 2011
    Età
    44
    Messaggi
    2,283
    configurazione

    Predefinito

    Gli script sono questi

    install.sh
    codice:
    #!/bin/bash
    
    # Confirm to proceed
    echo -e "This will install GentooPlayer on your computer."
    echo -e "This iteration of GentooPlayer is an open beta."
    echo -e "Feedback is welcome at: "
    echo -e "You need an internet connection for this install - it can't be performed offline."
    echo -e "THIS INSTALLATION WILL PARTITION AND FORMAT YOUR HARD DRIVE."
    echo -e "ALL DATA ON THE DRIVE WILL BE IRRETRIEVABLY LOST."
    echo -e "If this is not OK, cancel this installation and start again when you are ready."
    echo -e "Proceed? Y/N"
    read proceed
    if [ "$proceed" = "Y" ]; then # Proceed with install
    	read -rsp $'If warned about existing file systems, type \'y\' to proceed anyway. Press any key to continue.\n' -n1 key
    	echo -e "Do you want a (t)est or (n)ormal install?"
    	read installtype
    	until [ "$installtype" = "t" ] || [ "$installtype" = "n" ]; do
    		echo -e "Invalid option \"$installtype\". Please select a (t)est or (n)ormal install."
    		read installtype
    	done
    	if [ "$installtype" = "t" ]; then
    		fetch="pjumbz6uero2epq"
    	else
    		fetch="8m9evj7u57g0dqh"
    	fi
        
    	echo -e "verrá eseguido fdisk per l´individuazione dei diski"
        read -rsp $'Press any key to continue.\n' -n1 key
        fdisk -l 	
        echo -e "l´HardDisk di installazzione é sd(a) o sd(b)?"
    	read HardDisk
    	until [ "$HardDisk" = "a" ] || [ "$HardDisk" = "b" ]; do
    		echo -e "Invalid option \"$HardDisk\". Please select a sd(a) or sd(b)."
    		read HardDisk
    	done
    	if [ "$HardDisk" = "a" ]; then
    		HD="sda"
    	else
    		HD="sdb"
    	fi
    
    	# Make sure everything is off and unmounted, in case install is being restarted
    	cd
    	umount /mnt/gentoo/boot
    	umount /mnt/gentoo
    	swapoff /dev/$HD"3"
    	# Partition/format drive
    	parted -a optimal /dev/$HD mklabel msdos
    	parted -a optimal /dev/$HD unit mib mkpart primary 1 3
    	parted -a optimal /dev/$HD mkpart primary 3 256
    	parted -a optimal /dev/$HD mkpart primary 256 643
    	parted -a optimal -s -- /dev/$HD mkpart primary 643 -1
    	parted -a optimal /dev/$HD set 2 boot on
    	mkfs.ext2 /dev/$HD"2"
    	mkfs.ext4 /dev/$HD"4"
    	mkswap /dev/$HD"3"
    	
        # Mount drives and install base system
    	swapon /dev/$HD"3"
    	mount /dev/$HD"4" /mnt/gentoo
    	mkdir /mnt/gentoo/boot
    	mount /dev/$HD"2" /mnt/gentoo/boot
    	cd /mnt/gentoo
    	wget --no-check-certificate https://www.dropbox.com/s/$fetch/stage4-amd64-gentooplayer.tar.bz2
    	tar xvjpf stage4-amd64-gentooplayer.tar.bz2 --xattrs --numeric-owner
    	rm stage4-amd64-gentooplayer.tar.bz2
    	read -rsp $'Select at least one Gentoo mirror on the following screen. Press any key when ready.\n' -n1 key
    	mirrorselect -i -o >> /mnt/gentoo/etc/portage/make.conf
    
    	# Chroot and configure
    	rm /mnt/gentoo/etc/resolv.conf
    	cp -L /etc/resolv.conf /mnt/gentoo/etc/
    	mount -t proc proc /mnt/gentoo/proc
    	mount --rbind /sys /mnt/gentoo/sys
    	mount --rbind /dev /mnt/gentoo/dev
    	wget -O chroot_install.sh https://paste.pound-python.org/raw/TOaee7le7z2xXzUYyRqo/
    	chmod +x chroot_install.sh
    	chroot /mnt/gentoo /bin/bash -c "./chroot_install.sh"
    	# chroot_install.sh takes over inside chroot at this point.
    else
    	echo -e "Installation cancelled."
    fi
    chroot_install.sh

    codice:
    #!/bin/bash
    
    #Basic prep
    env-update
    source /etc/profile
    emerge-webrsync
    
    #Time zone
    echo -e "impostazione del timezone"
    echo -e "es. Europe>invio verranno visualizzate le zone dell´Europa"
    echo -e "dopodiché Rome>invio"
    read -rsp $'Press any key to continue.\n' -n1 key
    ls /usr/share/zoneinfo
    echo -e "Please type your country/region from the list above:"
    read country
    if [ -d /usr/share/zoneinfo/$country ]; then
            ls /usr/share/zoneinfo/$country
            echo -e "Please type your sub-region from the list above:"
            read region
            if [ -d /usr/share/zoneinfo/$country/$region ]; then
                    ls /usr/share/zoneinfo/$country/$region
                    echo -e "Please type your sub-region from the list above:"
                    read region
                    timezone="$country/$region"
            else
                	timezone="$country/$region"
            fi
    else
        	timezone="$country/$region"
    fi
    echo -e "You selected $country/$region. If this is incorrect, please correct it after installation is complete."
    read -rsp $'Press any key to continue.\n' -n1 key
    echo "$timezone" > /etc/timezone
    emerge --config timezone-data
    
    #Locale
    echo -e "On the following screen, please uncomment the line(s) for your locale."
    echo -e "per italiano scommentare la riga it_IT.utf8"
    echo -e "chiudete (ctrl+x) e confermate con (y)"
    read -rsp $'Press any key to continue.\n' -n1 key
    nano -w /etc/locale.gen
    locale-gen
    eselect locale list
    echo -e "Please select your locale:"
    read locale
    eselect locale set $locale
    
    #Layot
    
    echo -e "si vuole cambiare impostarzione della tastiera? es. keymap=it y/n"
    read  cambiare
        if [ "$cambiare" = "y" ]; then
        nano -w /etc/conf.d/keymaps
        fi
    env-update
    source /etc/profile
    	
    #Lspci e lsmod
    lspci > /root/kernelinstall/lspci
    lsmod > /root/kernelinstall/lsmod
    
    #Player systemstart	
    echo -e "si vuole aggiungere squeezelite-R2 all´avvio? y/n"
    read aggiungere
        if [ "$aggiungere" = "y" ]; then
        rc-update add squeezelite-R2 default
        fi 	
    echo -e "si vuole aggiungere mpd all´avvio? y/n"
    read aggiungere
    	if [ "$aggiungere" = "y" ]; then
        rc-update add mpd default
        fi 	
    echo -e "si vuole aggiungere networkaudiod all´avvio? y/n"
    read aggiungere
    	if [ "$aggiungere" = "y" ]; then
        rc-update add networkaudiod default
        fi 		
    echo -e "si vuole aggiungere logitechmediaserver all´avvio? y/n"
    read aggiungere
    	if [ "$aggiungere" = "y" ]; then
        rc-update add logitechmediaserver default
        fi
    echo -e "si vuole aggiungere RoonBridg all´avvio? y/n"
    read aggiungere
    	if [ "$aggiungere" = "y" ]; then
        rc-update add roon default
        fi
    echo -e "si vuole aggiungere RTapp all´avvio,verrá eseguito ogni tot minuti? y/n"
    read aggiungere
    	if [ "$aggiungere" = "y" ]; then
        rc-update add rtapp-timer default
        fi	
    	
    #Grub installation
    echo -e "adesso verrá installato grub (bootloader) sul vostro HD"
    echo -e "l´HardDisk di installazzione é sd(a) o sd(b)?"
    	read HardDisk
    	until [ "$HardDisk" = "a" ] || [ "$HardDisk" = "b" ]; do
    		echo -e "Invalid option \"$installtype\". Please select a sd(a) or sd(b)."
    		read Hardisk
    	done
    	if [ "$HarDisk" = "a" ]; then
    		grub-install /dev/sda
    		wget -O fstab https://paste.pound-python.org/raw/yIgxPzPkRgdtatAaVcWC/
    		mv -f fstab /etc/fstab
    	else
    		grub-install /dev/sdb
    		wget -O fstab https://paste.pound-python.org/raw/E1xKwqI8h7pvnWXZ3Dr4/
    		mv -f fstab /etc/fstab
    	fi
    grub-mkconfig -o /boot/grub/grub.cfg
    
    #Users and passwords
    echo -e "Set password for root:"
    passwd
    echo -e "Please type your desired username:"
    read username
    useradd -m -G users,wheel,audio -s /bin/bash $username
    echo -e "Set the password for $username:"
    passwd $username
    
    #kernellinstall
    wget -O kernellinstall.sh https://paste.pound-python.org/raw/OqiSj9urVnj3wGJXBCFC/
    mv -f kernellinstall.sh /root/kernelinstall/
    
    #CPU flag tweaking
    cpuinfo2cpuflags-x86 >> /etc/portage/make.conf
    echo -e "Verrá chiesto di aggiornare il sistema."
    echo -e "in realtá e un aggiornamento e una ricompilazione dell´intero sistema"
    echo -e "con le Cflags e cpu flags adatte al tuo PC"
    echo -e "l´operazione richiede nolto tempo ma é FORTEMENTE consigliata"
    echo -e "rispondendo no il sistema viene solo aggiornato con le CPU flags" 
    #emerge -vuDN --keep-going --with-bdeps=y --backtrack=1000 @system @world
    echo -e "aggiornare il sistema? y/n"
    read aggiornare
    	if [ "$aggiungere" = "y" ]; then
        emerge -e @system @world
    	else
    	emerge -vuDN --keep-going --with-bdeps=y --backtrack=1000 @system @world
        fi
    
    #dcron ssd
    echo -e "si sta installando su ssd?"
    echo -e "si vuole aggiungere il trim giornaliero? y/n"
    read aggiungere
    	if [ "$aggiungere" = "y" ]; then
        emerge --unmerge cronie
    	emerge dcron
    	/etc/init.d/dcron start
    	rc-update add dcron default
    	crontab /etc/crontab
    	fi
    cat > crons.cron <<EOF
    #Mins  Hours  Days   Months  Day of the week   command
    00     21   *      *       *                 /sbin/fstrim -v /
    EOF
    crontab crons.cron
    echo -e "verrá effetuato il trim alle 9 pm"
    
    #Data
    echo -e "###############FINE DELLA INSTALLAZIONE##############################"
    echo -e "#####################ULTIMA INFO#####################################"
    echo -e "al riavvio assicurarsi che la data sia corretta con il comando 'date'"
    echo -e "se la data non é giusta date il comando 'date mmgghhaa'"
    echo -e "es. 'date 100120182017' equivale al 01 ott 2017 20:18"	 
    
    #Done
    echo -e "Install complete. Computer will now reboot. Please type reboot and boot from your hard drive."
    echo -e "Remember, this is an open beta. Please provide feedback at ...."

    kernellinstall.sh

    codice:
    #!/bin/bash
    emerge rt-sources
    echo -e "Si vuole compilare un kerneRT minimale? y/n"
    read  compilare
        if [ "$compilare" = "y" ]; then
    	  eselect kernel set 1
              wget -O rt_config https://paste.pound-python.org/raw/FL5g1FyvdFWtpaGAv3zg/
    	  mv rt_config /usr/src/linux/.config
    	  genkernel --kernname=RT-Minimal --oldconfig --menuconfig --install all
        fi
    	
    echo -e "Si vuole compilare un Pf-Kernel minimale? y/n"
    read  compilare
        if [ "$compilare" = "y" ]; then
    	  emerge pf-sources
    	  eselect kernel set 2
    	  wget -O pf_config https://paste.pound-python.org/raw/FL5g1FyvdFWtpaGAv3zg/
    	  mv pf_config /usr/src/linux/.config
    	  genkernel --kernname=Pf-Minimal --oldconfig --menuconfig --install all
        fi
    	
    echo -e "se si é proceduto alla compilazione di nuovi Kernel, bisogna aggiornare l´elenco dei kernel avviabile."
    echo -e "si vuole aggiornare l´elenco? y/n"
    read  aggiornare
        if [ "$aggiornare" = "y" ]; then
           grub-mkconfig -o /boot/grub/grub.cfg
        fi
    Ultima modifica di antonellocaroli : 12-10-2017 a 15:43

  3. #3
    tebibyte
    Registrato
    Aug 2011
    Età
    44
    Messaggi
    2,283
    configurazione

    Predefinito

    Update.

    Migliorata l´individuazione del device di installazione

    codice:
    #!/bin/bash
    
    function choosedisk {
            n=0
    	for disk in "${array[@]}"
            do
              	printf "$n: $disk\n"
                    n=$((n+1))
            done
    	read choice
            re='^[0-9]+$' #Make sure $choice is a number
            until [[ $choice =~ $re ]]; do
                    if ! [[ $choice =~ $re ]]; then
                            echo "Error: Please enter the NUMBER of your choice."
                            choosedisk
                    fi
            done
    	IFS=' ' read -r -a diskparts <<< "${array[$choice]}"
    }
    
    # Create array of disks to choose from.
    lsblk -dn -o NAME,SIZE,TYPE --include 8 > disks
    n=0
    while read line; do
            array[$n]=$line
            n=$((n+1))
    done < disks
    
    # Ask user to choose disk.
    echo "fonte GentooStudio.org"
    echo "This will install GentooPlayer on your computer."
    echo "This iteration of GentooPlayer is an open beta."
    echo "Feedback is welcome at: "
    echo "You need an internet connection for this install - it can't be performed offline."
    echo "THIS INSTALLATION WILL PARTITION AND FORMAT YOUR HARD DRIVE."
    echo "ALL DATA ON THE DRIVE WILL BE IRRETRIEVABLY LOST."
    echo "If this is not OK, cancel this installation and start again when you are ready."
    echo "Please choose a disk to install GentooPlayr to:"
    choosedisk
    # Check for existence of /dev/(choice). If it doesn't exist, user entered invalid option.
    diskexists=0
    until [ "$diskexists" = "1" ]; do
            if [ -b /dev/${diskparts[0]} ]; then
                    let diskexists=1
                    echo "You are installing on /dev/${diskparts[0]}."
                    echo "Proceed? Y/N"
                    read formatdisk
                    if [ "$formatdisk" = "Y" ]; then
                            echo "Install will proceed."
                            read -rsp $'If warned about existing file systems, type \'y\' to proceed anyway. Press any key to continue.\n' -n1 key
                            echo -e "Do you want a (t)est or (n)ormal install?"
    	                    read installtype
    	                    until [ "$installtype" = "t" ] || [ "$installtype" = "n" ]; do
    		                       echo -e "Invalid option \"$installtype\". Please select a (t)est or (n)ormal install."
    		                       read installtype
    	                done
    	                if [ "$installtype" = "t" ]; then
    		                  fetch="pjumbz6uero2epq"
    	                else
    		            fetch="8m9evj7u57g0dqh"
    	                fi
                        # Make sure everything is off and unmounted, in case install is being restarted
    	                cd
    	                umount /mnt/gentoo/boot
    	                umount /mnt/gentoo
    	                swapoff /dev/${diskparts[0]}3
    	                # Partition/format drive
    	                # List physical disks
    					lsblk -dn -o NAME,SIZE,TYPE --include 8
    	                parted -a optimal /dev/${diskparts[0]} mklabel msdos
    	                parted -a optimal /dev/${diskparts[0]} unit mib mkpart primary 1 3
    					parted -a optimal /dev/${diskparts[0]} mkpart primary 3 256
    					parted -a optimal /dev/${diskparts[0]} mkpart primary 256 643
    					parted -a optimal -s -- /dev/${diskparts[0]} mkpart primary 643 -1
    					parted -a optimal /dev/${diskparts[0]} set 2 boot on
    					mkfs.ext2 /dev/${diskparts[0]}2
    					mkfs.ext4 /dev/${diskparts[0]}4
    					mkswap /dev/${diskparts[0]}3
    	
    					# Mount drives and install base system
    					swapon /dev/${diskparts[0]}3
    					mount /dev/${diskparts[0]}4 /mnt/gentoo
    					mkdir /mnt/gentoo/boot
    					mount /dev/${diskparts[0]}2 /mnt/gentoo/boot
    					cd /mnt/gentoo
    					wget --no-check-certificate https://www.dropbox.com/s/$fetch/stage4-amd64-gentooplayer.tar.bz2
    					tar xvjpf stage4-amd64-gentooplayer.tar.bz2 --xattrs --numeric-owner
    					rm stage4-amd64-gentooplayer.tar.bz2
    					read -rsp $'Select at least one Gentoo mirror on the following screen. Press any key when ready.\n' -n1 key
    					mirrorselect -i -o >> /mnt/gentoo/etc/portage/make.conf
    
    					# Chroot and configure
    					rm /mnt/gentoo/etc/resolv.conf
    					cp -L /etc/resolv.conf /mnt/gentoo/etc/
    					mount -t proc proc /mnt/gentoo/proc
    					mount --rbind /sys /mnt/gentoo/sys
    					mount --rbind /dev /mnt/gentoo/dev
    					wget -O chroot_install.sh https://paste.pound-python.org/raw/pZYCP45zocgh0ARxtW9N/
    					chmod +x chroot_install.sh
    					chroot /mnt/gentoo /bin/bash -c "./chroot_install.sh"
    					# chroot_install.sh takes over inside chroot at this point.
    			else
    					echo -e "Installation cancelled."
    			fi
    			else
                    echo "Disk $choice does not exist."
                    choosedisk
            fi
    done
    rm disks #Delete tmp file.
    codice:
    #!/bin/bash
    
    usedisk=$(<usedisk)
    
    #Basic prep
    env-update
    source /etc/profile
    emerge-webrsync
    
    #Time zone
    echo -e "impostazione del timezone"
    echo -e "es. Europe>invio verranno visualizzate le zone dell´Europa"
    echo -e "dopodiché Rome>invio"
    read -rsp $'Press any key to continue.\n' -n1 key
    ls /usr/share/zoneinfo
    echo -e "Please type your country/region from the list above:"
    read country
    if [ -d /usr/share/zoneinfo/$country ]; then
            ls /usr/share/zoneinfo/$country
            echo -e "Please type your sub-region from the list above:"
            read region
            if [ -d /usr/share/zoneinfo/$country/$region ]; then
                    ls /usr/share/zoneinfo/$country/$region
                    echo -e "Please type your sub-region from the list above:"
                    read region
                    timezone="$country/$region"
            else
                	timezone="$country/$region"
            fi
    else
        	timezone="$country/$region"
    fi
    echo -e "You selected $country/$region. If this is incorrect, please correct it 
    after installation is complete."
    read -rsp $'Press any key to continue.\n' -n1 key
    echo "$timezone" > /etc/timezone
    emerge --config timezone-data
    
    #Locale
    echo -e "On the following screen, please uncomment the line(s) for your locale."
    echo -e "per italiano scommentare la riga it_IT.utf8"
    echo -e "chiudete (ctrl+x) e confermate con (y)"
    read -rsp $'Press any key to continue.\n' -n1 key
    nano -w /etc/locale.gen
    locale-gen
    eselect locale list
    echo -e "Please select your locale:"
    read locale
    eselect locale set $locale
    
    #Layot
    echo -e "si vuole cambiare impostarzione della tastiera? es. keymap=it y/n"
    read  cambiare
        if [ "$cambiare" = "y" ]; then
        nano -w /etc/conf.d/keymaps
        fi
    env-update
    source /etc/profile
    	
    #Lspci e lsmod
    lspci > /root/kernelinstall/lspci
    lsmod > /root/kernelinstall/lsmod
    
    #Player systemstart	
    echo -e "si vuole aggiungere squeezelite-R2 all´avvio? y/n"
    read aggiungere
        if [ "$aggiungere" = "y" ]; then
        rc-update add squeezelite-R2 default
        fi 	
    echo -e "si vuole aggiungere mpd all´avvio? y/n"
    read aggiungere
    	if [ "$aggiungere" = "y" ]; then
        rc-update add mpd default
        fi 	
    echo -e "si vuole aggiungere networkaudiod all´avvio? y/n"
    read aggiungere
    	if [ "$aggiungere" = "y" ]; then
        rc-update add networkaudiod default
        fi 		
    echo -e "si vuole aggiungere logitechmediaserver all´avvio? y/n"
    read aggiungere
    	if [ "$aggiungere" = "y" ]; then
        rc-update add logitechmediaserver default
        fi
    echo -e "si vuole aggiungere RoonBridg all´avvio? y/n"
    read aggiungere
    	if [ "$aggiungere" = "y" ]; then
        rc-update add roon default
        fi
    echo -e "si vuole aggiungere RTapp all´avvio,verrá eseguito ogni tot minuti? y/n"
    read aggiungere
    	if [ "$aggiungere" = "y" ]; then
        rc-update add rtapp-timer default
        fi	
    	
    #Grub installation
    wget -O fstab https://paste.pound-python.org/raw/yIgxPzPkRgdtatAaVcWC/
    mv -f fstab /etc/fstab
    grub-install /dev/$usedisk
    grub-mkconfig -o /boot/grub/grub.cfg
    
    #Users and passwords
    echo -e "Set password for root:"
    passwd
    echo -e "Please type your desired username:"
    read username
    useradd -m -G users,wheel,audio -s /bin/bash $username
    echo -e "Set the password for $username:"
    passwd $username
    
    #kernellinstall
    wget -O kernellinstall.sh https://paste.pound-python.org/raw/OqiSj9urVnj3wGJXBCFC/
    mv -f kernellinstall.sh /root/kernelinstall/
    
    #CPU flag tweaking
    cpuinfo2cpuflags-x86 >> /etc/portage/make.conf
    echo -e "Verrá chiesto di aggiornare il sistema."
    echo -e "in realtá e un aggiornamento e una ricompilazione dell´intero sistema"
    echo -e "con le Cflags e cpu flags adatte al tuo PC"
    echo -e "l´operazione richiede nolto tempo ma é FORTEMENTE consigliata"
    echo -e "rispondendo no il sistema viene solo aggiornato con le CPU flags" 
    #emerge -vuDN --keep-going --with-bdeps=y --backtrack=1000 @system @world
    echo -e "aggiornare il sistema? y/n"
    read aggiornare
    	if [ "$aggiornare" = "y" ]; then
        emerge -e @system @world
    	else
    	emerge -vuDN --keep-going --with-bdeps=y --backtrack=1000 @system @world
        fi
    
    #dcron ssd
    echo -e "si sta installando su ssd?"
    echo -e "si vuole aggiungere il trim giornaliero? y/n"
    read aggiungere
    	if [ "$aggiungere" = "y" ]; then
        emerge --unmerge cronie
    	emerge dcron
    	/etc/init.d/dcron start
    	rc-update add dcron default
    	crontab /etc/crontab
    	fi
    cat > crons.cron <<EOF
    #Mins  Hours  Days   Months  Day of the week   command
    00     21   *      *       *                 /sbin/fstrim -v /
    EOF
    crontab crons.cron
    echo -e "verrá effetuato il trim alle 9 pm"
    
    #Data
    echo -e "###############FINE DELLA INSTALLAZIONE##############################"
    echo -e "#####################ULTIMA INFO#####################################"
    echo -e "al riavvio assicurarsi che la data sia corretta con il comando 'date'"
    echo -e "se la data non é giusta date il comando 'date mmgghhaa'"
    echo -e "es. 'date 100120182017' equivale al 01 ott 2017 20:18"	 
    
    #Done
    echo -e "Install complete. Computer will now reboot. Please type reboot and boot 
    from your hard drive."
    echo -e "Remember, this is an open beta. Please provide feedback at ...."
    Ultima modifica di antonellocaroli : 12-10-2017 a 19:44

  4. #4
    tebibyte
    Registrato
    Aug 2011
    Età
    44
    Messaggi
    2,283
    configurazione

    Predefinito

    @Paolo

    non mi funziona questa parte nel secondo script

    usedisk=$(<usedisk)
    grub-install /dev/$usedisk

    Hai qualche suggerimento?

  5. #5
    tebibyte L'avatar di UnixMan
    Registrato
    Sep 2013
    Messaggi
    2,335
    configurazione

    Predefinito

    Originariamente inviato da antonellocaroli
    non mi funziona questa parte nel secondo script

    usedisk=$(<usedisk)
    grub-install /dev/$usedisk
    da dove spunta "usedisk"? A giudicare dalla sintassi, dovrebbe trattarsi di un file... ma chi lo crea? E sei sicuro che sia nella stessa directory?
    Ciao, Paolo.

    «Se tu hai una mela, e io ho una mela, e ce le scambiamo, allora tu ed io abbiamo sempre una mela per uno. Ma se tu hai un'idea, ed io ho un'idea, e ce le scambiamo, allora abbiamo entrambi due idee.»

  6. #6
    tebibyte
    Registrato
    Aug 2011
    Età
    44
    Messaggi
    2,283
    configurazione

    Predefinito

    Originariamente inviato da UnixMan
    da dove spunta "usedisk"? A giudicare dalla sintassi, dovrebbe trattarsi di un file... ma chi lo crea? E sei sicuro che sia nella stessa directory?
    Infatti!!! mancava questa parte nel primo script

    echo ${diskparts[0]} > usedisk

    Adesso correggo

  7. #7
    tebibyte
    Registrato
    Aug 2011
    Età
    44
    Messaggi
    2,283
    configurazione

    Predefinito

    @Paolo

    vedo che la maggior parte degli interrupts é sulla CPU 0

    codice:
              CPU0       CPU1       CPU2       CPU3
      0:         30          0          0          0   IO-APIC   2-edge      timer
      8:          1          0          0          0   IO-APIC   8-fasteoi   rtc0
      9:          0          0          0          0   IO-APIC   9-fasteoi   acpi
     16:      25126          0          0          0   IO-APIC  16-fasteoi   i915, enp1s0
     18:          0          0          0          0   IO-APIC  18-fasteoi   i801_smbus
     19:       4922          0          0          0   IO-APIC  19-fasteoi   ahci[0000:00:13.0]
     20:    6329259          0          0          0   IO-APIC  20-fasteoi   xhci-hcd:usb1
    NMI:          0          0          0          0   Non-maskable interrupts
    LOC:      52085      38309       3671      39085   Local timer interrupts
    SPU:          0          0          0          0   Spurious interrupts
    PMI:          0          0          0          0   Performance monitoring interrupts
    IWI:          0          0          0          0   IRQ work interrupts
    RTR:          0          0          0          0   APIC ICR read retries
    RES:         60         79         13        487   Rescheduling interrupts
    CAL:        182         49         59       4678   Function call interrupts
    TLB:          0          0          0          0   TLB shootdowns
    TRM:          0          0          0          0   Thermal event interrupts
    THR:          0          0          0          0   Threshold APIC interrupts
    MCE:          0          0          0          0   Machine check exceptions
    MCP:          3          3          3          3   Machine check polls
    ERR:          1
    MIS:          0
    PIN:          0          0          0          0   Posted-interrupt notification event
    PIW:          0          0          0          0   Posted-interrupt wakeup event
    cosa succede se nei parametri di grub isolo la cpu 3 (cioé la lascio libera)
    codice:
    isolcpus=0,1,2
    all´avvio squeezelite va sicuro sulla cpu 3

    puó essere una cosa positiva?

    dico una gran stro...ta?

  8. #8
    tebibyte L'avatar di UnixMan
    Registrato
    Sep 2013
    Messaggi
    2,335
    configurazione

    Predefinito

    Originariamente inviato da antonellocaroli
    @Paolo

    vedo che la maggior parte degli interrupts é sulla CPU 0
    quello è relativo. Normalmente i vari task sono assegnati ai diversi core dinamicamente, in modo da bilanciare il carico.

    Originariamente inviato da antonellocaroli
    cosa succede se nei parametri di grub isolo la cpu 3 (cioé la lascio libera)
    codice:
    isolcpus=0,1,2
    all´avvio squeezelite va sicuro sulla cpu 3
    Se non vado errato, quando "isoli" un core quello viene escluso dal normale scheduling, quindi resta del tutto inutilizzato... a meno di non richiederne espressamente l'uso per un dato processo con "taskset".

    Cosa che puoi fare, e che in effetti potrebbe essere vantaggioso.

    https://www.novell.com/support/kb/doc.php?id=7009596
    Ciao, Paolo.

    «Se tu hai una mela, e io ho una mela, e ce le scambiamo, allora tu ed io abbiamo sempre una mela per uno. Ma se tu hai un'idea, ed io ho un'idea, e ce le scambiamo, allora abbiamo entrambi due idee.»

  9. #9
    tebibyte
    Registrato
    Aug 2011
    Età
    44
    Messaggi
    2,283
    configurazione

    Predefinito

    Originariamente inviato da UnixMan
    Cosa che puoi fare, e che in effetti potrebbe essere vantaggioso.

    https://www.novell.com/support/kb/doc.php?id=7009596
    Si, in effetti era stato il mio primo pensiero. Uno script che individua il pid di un processo e me lo indirizza su un core.

    ma se do il comando

    codice:
     taskset -cp 2 87
    pid 87's current affinity list: 0-3
    pid 87's new affinity list: 2
    87 é il pid della usb.

    gli interrupts io continuo a vederli sul core 0

    codice:
             CPU0       CPU1       CPU2       CPU3
      0:         30          0          0          0   IO-APIC   2-edge      timer
      8:          1          0          0          0   IO-APIC   8-fasteoi   rtc0
      9:          0          0          0          0   IO-APIC   9-fasteoi   acpi
     16:     388451          0          0          0   IO-APIC  16-fasteoi   i915, enp1s0
     18:          0          0          0          0   IO-APIC  18-fasteoi   i801_smbus
     19:      23140          0          0          0   IO-APIC  19-fasteoi   ahci[0000:00:13.0]
     20:   54170806          0          0          0   IO-APIC  20-fasteoi   xhci-hcd:usb1
    NMI:          0          0          0          0   Non-maskable interrupts
    LOC:     463260     334614      46897     511162   Local timer interrupts
    SPU:          0          0          0          0   Spurious interrupts
    PMI:          0          0          0          0   Performance monitoring interrupts
    IWI:          0          0          0          0   IRQ work interrupts
    RTR:          0          0          0          0   APIC ICR read retries
    RES:        289        493        140       5116   Rescheduling interrupts
    CAL:       1186        371        557      21970   Function call interrupts
    TLB:          0          0          0          0   TLB shootdowns
    TRM:          0          0          0          0   Thermal event interrupts
    THR:          0          0          0          0   Threshold APIC interrupts
    MCE:          0          0          0          0   Machine check exceptions
    MCP:         45         45         45         45   Machine check polls
    ERR:          1
    MIS:          0
    PIN:          0          0          0          0   Posted-interrupt notification event
    PIW:          0          0          0          0   Posted-interrupt wakeup event
    La cosa che non mi é chiara, se gli interrupts sono sul core0 vuol dire che é il core utilizzato?? anche da quel pid? c´é un modo in top per vedere i core associati a un processo?

    invece inserendo isolcpus=0,1,2 (e quindi solo il core3 viene utilizzato) ottengo gli interrupts come sopra, cioé usb e rete sul core0 e processi come squeezelite sul core3.

  10. #10
    tebibyte L'avatar di UnixMan
    Registrato
    Sep 2013
    Messaggi
    2,335
    configurazione

    Predefinito

    Originariamente inviato da antonellocaroli
    Si, in effetti era stato il mio primo pensiero. Uno script che individua il pid di un processo e me lo indirizza su un core.
    non serve, basta utilizzare taskset direttamente per avviare il processo (squeezelite).

    Originariamente inviato da antonellocaroli
    gli interrupts io continuo a vederli sul core 0
    gli interrupt sono gestiti dal kernel, non dai processi utente...

    Originariamente inviato da antonellocaroli
    c´é un modo in top per vedere i core associati a un processo?
    usa "htop"...

    Originariamente inviato da antonellocaroli
    invece inserendo isolcpus=0,1,2 (e quindi solo il core3 viene utilizzato) ottengo gli interrupts come sopra, cioé usb e rete sul core0 e processi come squeezelite sul core3.
    mi pare un po' esagerato.

    Potresti provare ad "isolare" i primi due core, e settare l'affinity di squeezelite sul secondo, lasciando il primo (0) libero per il kernel.
    antonellocaroli likes this.
    Ciao, Paolo.

    «Se tu hai una mela, e io ho una mela, e ce le scambiamo, allora tu ed io abbiamo sempre una mela per uno. Ma se tu hai un'idea, ed io ho un'idea, e ce le scambiamo, allora abbiamo entrambi due idee.»

Pagina 1 di 6 1 2 3 4 5 6 ultimo

Informazioni Thread

Users Browsing this Thread

Ci sono attualmente 1 utenti che stanno visualizzando questa discussione. (0 utenti e 1 ospiti)

Regole d'invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
nexthardware.com

Search Engine Optimization by vBSEO 3.6.1