# Script auto instalador

## Treco

Bem pessoal, estou tentando instalar(outra x) o gento pra ficar +- comestivel porque cada vez k se instala o gentoo até ao kde ou outro gestor gráfico é um bocadinho demorado...

Então a ideia é ter um script em bash com uma parte do trabalho feita um script até à mudança de root do sys, e outro apartir do chroot  :Smile:  pode-se sempre depois automatizar o trabalho. 

Não sei se se pode ajudar alguém mas quando tiver o script +- fixe faço um post praqui manhoso.

É sempre bom ter um exemplo de uma instalação sem 'rócócós',  claro que é sempre bom saber o que se está a fazer, mas um script para facilitar é sempre bem vindo...

Que vocês acham??!

----------

## RoadRunner

A ideia é boa, mas devido a Gentoo ser altamente costumizável terias que ter em consideração as opções da variável USE e outros detalhes. De qq forma se quiseres começar uma discussão à volta disso aconselho acriares uma thread nova. Se precisares de alojamento para o projecto avisa, o gentoo-pt serve para isso mesmo.

----------

## Treco

Mesmo não tendo em conta a variável uma pessoa sempre se pode orientar. Pelo menos sempre ajuda qqr coisa, ou melhor ainda(é que eu sou idiota)  :Razz: , em php fazer-se uma form pra puxar um script costumizado dando a escolher o que se requer...

A última vez k vi algo assim foi uma daquelas mini distribuições pra fazer um comp de routing '1 disquete'  :Smile:  nem HD levava.

Agora imagina o que a forma simplificava aos users... dando o script +- costumizado... E se estiver bem documentado, o script, o utilizador sempre o poderá estudar ou ver o k faz. Eu também nah sou nenhum crânio mas ajuda é sempre bem vinda.

Estou aberto a idéias. P'ra quem consegue instalar linux em Amiga ou ainda joga a joguitos de ZX, desenrasco-me bem... como qualquer português o desenrascanço é palavra chave.  :Wink: 

----------

## fernandotcl

Uma vez eu instalei por script, dexei a máquina usar o script até o chroot, depois usei mais um script e tudo pronto, com interação mínima. Na hora de instalar, montei o disquete em FAT, joguei os scripts pra /root, e executei. O importante é ter um pro ambiente normal, que copia um segundo script para a partição onde o stage foi extraído, porque na hora do chroot o script perde o controle, e você tem que executar o segundo manualmente.

É uma idéia bem prática, mas tem que prestar muita atenção na hora de digitar.  :Very Happy: 

----------

## Treco

Mundando um pouco o assunto...

No último kernel 2.6 jah existe algum boot splash pra isso? Tive à procura e acho que para o último ainda não existe nada... podem confirmar-me isso??

Dá sempre um look bonitinho com o bootsplash...

Obrigado

----------

## Treco

Vou tentar fazer uma página com php pra fazer o script e automatizar um pouco.

 :Very Happy: 

Vou precisar de sorte....

Bué dela! Não é saber programar ... eh mais o artista estar inspirado...

----------

## Gotterdammerung

Não chega a ser um script, mas já é um esqueleto. Espero que ajude.

```

echo "Device a particionar:"

read device

particionar---> $device

mkswap /dev/hdb1

swapon /dev/hdb1

mkfs.ext3 /dev/hdb2

mount -t ext3 /dev/hdb2 /mnt/gentoo

cd /mnt/gentoo

tar -xvjpf stage3-*.tar.bz2

mount -o bind /proc /mnt/gentoo/proc

mount -o bind /dev /mnt/gentoo/dev

   

cp /etc/resolv.conf /mnt/gentoo/etc/resolv.conf

mirrorselect -a -s4 -o >> /mnt/gentoo/etc/make.conf

chroot /mnt/gentoo /bin/bash

env-update

source /etc/profile

cd /root

ln -sf /usr/share/zoneinfo/Brazil/East /etc/localtime

emerge sync

emerge grub genkernel

emerge -f gentoo-dev-sources nvidia-kernel nvidia-glx metalog dcron hotplug vim

USE="-X" emerge -f rp-pppoe

emerge metalog

rc-update add metalog default

emerge dcron

rc-update add dcron default

USE="-X" emerge rp-pppoe

# editar o /etc/make.conf

# USE="X qt kde dvd cdr mmx 3dnow hardened -gtk -gtk2 -gnome"

# CHOST="i686-pc-linux-gnu"

# CFLAGS="-O3 -march=athlon-xp -pipe -fomit-frame-pointer"

# CXXFLAGS="${CFLAGS}"

# editar o /etc/fstab

#    /dev/hdb2         /                  ext3         noatime          0 0

#    /dev/hdb1       none            swap         sw                  0 0

#    /dev/cdrom     /mnt/cdrom   iso9660      noauto,user      0 0

useradd usuario -m -G users,wheel,audio,games -s /bin/bash

echo "maquina.dominio" > /etc/hostname

# editar /etc/conf.d/net

# iface_eth0="192.168.0.2 broadcast 192.168.0.255 netmask 255.255.255.0"

# iface_eth0="dhcp"

# editar /etc/rc.conf

# KEYMAP="br-latin1-us"

# CLOCK="local"

echo "LESS_CHARSET=\"iso8859\"" >> /etc/env.d/02locale

echo "LANG=\"pt_BR\"" >> /etc/env.d/02locale

echo "LC_ALL=\"pt_BR\"" >> /etc/env.d/02locale

genkernel all

# instalar o grub

# grub

# root (hd1,1)

# setup (hd0)

# quit

# editar grub.conf

# default 0

# timeout 30

# splashimage=(hd1,1)/boot/grub/splash.xpm.gz

# title=Gentoo

# root (hd1,1)

# kernel /boot/kernel-2.6.3 ro root=/dev/hdb2

```

Tem alguns erros, e faltam algumas coisas, mas é por aí...

----------

## Gotterdammerung

Para agilizar, poderíamos fazer esse script baseado na instalação via GRP, e depois faríamos um "emerge -e world". O que vocês acham?

----------

## jbrazio

Existe já algo semelhante por ai.

----------

## Gotterdammerung

 *jbrazio wrote:*   

> Existe já algo semelhante por ai.

 

Realmente existe, mas eu não consegui baixar nenhum dos arquivos de lá. Eu aproveitei e fiz uma busca no Sourceforge, e encontrei mais um porrilhão de projetos do mesmo tipo. 

Talvez fosse uma boa nos juntarmos a algum deles, ou, caso consigamos adiantar bastante o script, convidá-los a se juntar a nós.

Eu não vejo porque desperdiçar mão-de-obra barata e especializada em projetos descentralizados, a não ser que haja um problema de ego.

----------

## fernandotcl

Bom, eu acho importante um projeto como o de um script para instalação aqui nos fórums. O GLIS parece ser muito geral, é praticamente um instalador completo. Existem tarefas que podem ser automatizadas e essas assim devem ser feitas.

----------

## Gotterdammerung

 *fernandotcl wrote:*   

> Bom, eu acho importante um projeto como o de um script para instalação aqui nos fórums. O GLIS parece ser muito geral, é praticamente um instalador completo. Existem tarefas que podem ser automatizadas e essas assim devem ser feitas.

 

Fernando, você comentou que tinha uns scripts prontos quejá chegou a utilizar para instalar o Gentoo, você ainda os possui? Tem como compartilhar aqui no fórum?

----------

## fernandotcl

 *Scitale wrote:*   

> Fernando, você comentou que tinha uns scripts prontos quejá chegou a utilizar para instalar o Gentoo, você ainda os possui? Tem como compartilhar aqui no fórum?

 

Surpreendentemente ainda os tenho. Ok, mas observe que termina na configuração do fuso, ainda tem que instalar o kernel, as ferramentas mais básicas e editar arquivos de configuração manualmente.

install1.sh:

```
#!/bin/bash

clear

echo "Processo de instalação a iniciar."

echo "Se o disco rígido ainda não foi particionado"

echo "pressione "Ctrl + C" e o particione."

echo "Também interrompa o processo caso não esteja conectado"

echo "à internet."

echo

echo "5 segundos para iniciar"

sleep 1s

echo "4"

sleep 1s

echo "3"

sleep 1s

echo "2"

sleep 1s

echo "1"

sleep 1s

echo

echo "*** Processo de instalação iniciado ***"

echo

echo "* Formatando as partições . . ."

echo

sleep 1s

mke2fs /dev/hda2

mkreiserfs /dev/hda3

mkswap /dev/hda4

echo "* Montando as partições e ativando a swap . . ."

echo

sleep 1s

swapon /dev/hda4

mount /dev/hda3 /mnt/gentoo

mkdir /mnt/gentoo/boot

mount /dev/hda2 /mnt/gentoo/boot

cd /mnt/gentoo

echo "* Selecione o stage no links . . ."

echo

sleep 3s

links http://gentoo.oregonstate.edu/releases/x86/1.4/

echo "* Extraindo o stage . . ."

echo

sleep 1s

tar -xvjpf /mnt/gentoo/stage3-*.tar.bz2

echo "* Preparando e executando o chroot. . ."

echo

sleep 1s

mount -t proc proc /mnt/gentoo/proc

cp /etc/resolv.conf /mnt/gentoo/etc/resolv.conf

cp /root/install2.sh /mnt/gentoo/root/install2.sh

chroot /mnt/gentoo /bin/bash

echo "Primeira fase de instalação concluída."

echo "Para proseeguir, execute o script /root/install2.sh"

echo
```

install2.sh:

```
#!/bin/bash

clear

echo "Segunda fase de instalação iniciada."

echo

sleep 1s

echo "* Iniciando reconfiguração do sistema . . ."

echo

sleep 1s

env-update

source /etc/profile

echo "* Ajustando o fuso-horário . . ."

echo

sleep 1s

ln -sf /usr/share/zoneinfo/Brazil/East /etc/localtime

echo "Instalação via script concluída"

echo "Agora basta sincronizar a árvore do portage, editar alguns"

echo "arquivos de configuração (como os arquivos /etc/fstab e"

echo "/etc/rc.conf), instalar o kernel e o bootloader."

echo
```

O interessante é que nem eu me lembrava de que o script davam tanto output.

----------

## jbrazio

 *Scitale wrote:*   

>  *jbrazio wrote:*   Existe já algo semelhante por ai. 
> 
> Realmente existe, mas eu não consegui baixar nenhum dos arquivos de lá. Eu aproveitei e fiz uma busca no Sourceforge, e encontrei mais um porrilhão de projetos do mesmo tipo. 
> 
> Talvez fosse uma boa nos juntarmos a algum deles, ou, caso consigamos adiantar bastante o script, convidá-los a se juntar a nós.
> ...

 

O GLIS esta bastante completo.. simplesmente não o utilizei porque o ficheiro de configuração parece-me mais complicado de configurar do que instalar Gentoo à la pata. :-/

No entanto aconselhava a tentar o dl do script novamente.

----------

## Gotterdammerung

 *jbrazio wrote:*   

>  *Scitale wrote:*    *jbrazio wrote:*   Existe já algo semelhante por ai. 
> 
> Realmente existe, mas eu não consegui baixar nenhum dos arquivos de lá. Eu aproveitei e fiz uma busca no Sourceforge, e encontrei mais um porrilhão de projetos do mesmo tipo. 
> 
> Talvez fosse uma boa nos juntarmos a algum deles, ou, caso consigamos adiantar bastante o script, convidá-los a se juntar a nós.
> ...

 

Consegui baixá-lo. Realmente está bastante completo! Acho que não precisamos colocar a mão na massa, a não ser por motivos de aprendizado.

----------

## baldeante

Já reparei que o script anterior está a chegar a perfeição mas tenho isto num txt para me guiar talvez ajude em algo.

Vale mais pelos comentarios pelo menos para min é um bom guia.

Note-se que usei para fazer uma instalação atraves do stage 1 (com net ) atraves de rede, não tem por isso qualquer referencia a adsl ou modem ou qualquer outro tipo de ligação a net.

```

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

#Initial Boot for Keyboard selection

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

gentoo nokeymap ide=nodma

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

#Network Card Setup

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

net-setup eth0

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

#Disk Partition

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

cfdisk

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

#Create Partitions File Systems

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

mke2fs -j /dev/hda1

mkswap /dev/hda2

swapon /dev/hda2

mke2fs -j /dev/hda3

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

#Mountng Partitions

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

mount /dev/hda3 /mnt/gentoo

mkdir /mnt/gentoo/boot

mount /dev/hda1 /mnt/gentoo/boot

mkdir /mnt/gentoo/proc

mount -o bind /proc /mnt/gentoo/proc

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

#Default: Using a Stage from the Internet

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

cd /mnt/gentoo

links2 http://www.gentoo.org/main/en/mirrors.xml

md5sum stage1-*.tar.bz2

tar -xvjpf stage1-*.tar.bz2

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

#Configuring the Compile Options NOT USE VAR

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

nano -w /mnt/gentoo/etc/make.conf

mirrorselect -a -s4 -o >> /mnt/gentoo/etc/make.conf

cp /etc/resolv.conf /mnt/gentoo/etc/resolv.conf

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

#Installing Portage

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

links2 http://www.gentoo.org/main/en/mirrors.xml

tar -xvjf /mnt/gentoo/portage-*.tar.bz2 -C /mnt/gentoo/usr

##########

#Chrooting

##########

chroot /mnt/gentoo /bin/bash

env-update

source /etc/profile

# emerge rsync

# emerge sync

# emerge-webrsync

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

#Configuring the USE variable

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

nano -w /etc/make.conf

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

#Bootstrapping the System

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

cd /usr/portage

scripts/bootstrap.sh

source /etc/profile

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

#Building the System

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

#Optional: Viewing what will be done

emerge --pretend system | less

#Optional: Downloading the Sources before continue

emerge --fetchonly system

#Building the System

emerge system

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

#Configuring the Kernel

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

# TimeZone

ls /usr/share/zoneinfo

#(Suppose you want to use GMT)

ln -sf /usr/share/zoneinfo/GMT /etc/localtime

#Installing the Sources - replace for what ever you wish

emerge gentoo-sources-2.4.25

#Viewing the kernel source symlink - /usr/src/linux -> linux-2.4.24

ls -l /usr/src/linux

#Changing the kernel source symlink

rm /usr/src/linux

ln -s /usr/src/linux-2.4.24 /usr/src/linux

# Configurating kernel

cd /usr/src/linux

make menuconfig

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

#Compiling the kernel

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

#(For 2.4 kernel)

make dep && make bzImage modules modules_install

#(For 2.6 kernel)

#make && make modules_install

Code Listing 11: Installing the kernel

# Installing the kernel

cp arch/i386/boot/bzImage /boot/kernel-2.4.24

cp System.map /boot/System.map-2.4.24

# Backing up your kernel configuration

cp .config /boot/config-2.4.24

#Installing Extra Modules

#emerger ati-drivers

#Configuring the Modules

find /lib/modules/<kernel version>/ -type f -iname '*.o' -or -iname '*.ko'

#Editing /etc/modules.autoload.d/kernel-2.4

nano -w /etc/modules.autoload.d/kernel-2.4

#Updating modules

modules-update

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

#Configuring your System

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

# Creating fstab

nano -w /etc/fstab

#Networking Information

#Setting the hostname

echo tux > /etc/hostname

#Setting the domainname

echo homenetwork > /etc/dnsdomainname

#Adding domainname to the default runlevel

rc-update add domainname default

#Configuring your Network

#Opening /etc/conf.d/net for editing

nano -w /etc/conf.d/net

#Adding net.eth0 to the default runlevel(system stat up)

rc-update add net.eth0 default

#System Information

nano -w /etc/rc.conf

```

----------

## alsm

logo logo vai aparecer uma distribuição de linux brasileira que é baseada em gentoo, tem um instalador próprio, que atualmente leva 40 minutos pra instalar um gentoo básico (stage 3 + xorg + kde). Não é script, é um instalador funcional e completo a la anaconda. Logo ela vai ter a maturidade certa pra ganhar público.

----------

## baldeante

 *alsm wrote:*   

> logo logo vai aparecer uma distribuição de linux brasileira que é baseada em gentoo, tem um instalador próprio, que atualmente leva 40 minutos pra instalar um gentoo básico (stage 3 + xorg + kde). Não é script, é um instalador funcional e completo a la anaconda. Logo ela vai ter a maturidade certa pra ganhar público.

 

Há algum site onde se possa saber algo mais do instalador que referes ???

----------

## mascanho

As ideias sao boas sem duvidas mas como ja foi dito as variaveis sao tantas ke se torna um pouco dificil e limitado se for feito , visto cada caso ser um caso , e quase como nos medicos . mas sem duvida ke caminhamos para la !

porem o Handbook faz maravilhas , e apartir de la podemos construir um script proprio para nós e assim meter as nossas variaveis normais , eu pessoalmente Uso o Stage4 e n preciso de grandes chatices na instalaçao !! mas isto claro foi feito dps de o ter instalado  :Razz: 

----------

## alsm

Eu entendo todas as possíveis variáveis, mas ainda sim, isso tudo é contornável. Eu digo isso porque quando mencionei essa distribuição e esse instalador não foi como uma sugestão, isso está feito, logo irá a público.

----------

## mascanho

Acredito ke ganhe publico , publico pt_br isso sim ate pk as actuais n as vejo com grande sucesso e ate ja nem sei se a quantidade de distros existentes sera demasiada , ou se pelo contrario deveriam haver mais ... ja me equaciono a respeito disso ...

but then and then ... thats just me ....

----------

