Ter o Arch Linux, quer folga, deve manter ambos; sem cd, sem usb ou dinheiro; pode chroot, pré-particionado: GPT

0

Eu tenho um laptop com o Arch Linux nele

[averagejoey2000@JoeyHobbyPCarchLinux arch-install-scripts]$ lsblk -l
NAME MAJ:MIN RM   SIZE RO TYPE MOUNTPOINT
sda    8:0    0 596.2G  0 disk 
sda1   8:1    0    25G  0 part /
sda2   8:2    0     2M  0 part 
sda3   8:3    0   512M  0 part /boot
sda4   8:4    0     4G  0 part [SWAP]
sda5   8:5    0     4G  0 part [SWAP]
sda6   8:6    0 266.3G  0 part /home
sda7   8:7    0 296.3G  0 part 

Eu pretendo instalar o Slackware Linux em / dev / sda7 e acima. Eu não tenho DVDs em branco para uma instalação baseada em iso, dd if = usbboot.img de / dev / sdb me dá o menu de inicialização, mas meu computador superaquece antes de progredir. em um laptop separado, em vez de superaquecer, ele espera por 3 horas, em vez dos dois minutos prometidos. Eu não tenho nem o dinheiro nem a paciência para encomendar e esperar por um enviado em DVD, comprado para experimentar o desafio do slackware. Eu quero ser capaz de

mkdir /mnt/slack
mount /dev/sda7 /mnt/slack
(can't remember the command) proc proc proc/
slackinst

mas eu quero chegar à parte antes da montagem, se é mesmo possível fazer esse tipo de coisa.

TL; DR: O Arch Linux, quer folga, deve manter os dois; sem cd, sem usb ou dinheiro; pode chroot, pré-particionado: GPT

    
por averagejoey2000 12.11.2014 / 03:25

2 respostas

0

A solução mais fácil é usar a capacidade do Grub2 para inicializar a partir de uma imagem iso, que você presumivelmente já possui ou pode obter. Assumindo que é chamado slack.iso , (todos os comandos como sudo )

 mkdir /boot/iso
 cp /path/to/your/slack.iso /boot/iso

Agora edite o arquivo /etc/grub.d/40_custom e insira estas linhas:

 #!/bin/sh
 echo "Adding 40_custom." >&2
 exec tail -n +4 $0
 # This file provides an easy way to add custom menu entries.  Simply type the
 # menu entries you want to add after this comment.  Be careful not to change
 # the 'exec tail' line above.

 menuentry "Slackware ISO" {
    set isofile="/boot/iso/slack.iso"
    loopback loop (hd0,3)$isofile
    linux (loop)/casper/vmlinuz boot=casper iso-scan/filename=$isofile noprompt noeject
    initrd (loop)/casper/initrd.lz
 }

Agora salve e atualize o grub:

 update-grub

Reinicie, escolha a nova entrada, você deve ver a inicialização do Slack ao vivo.

Se você deseja instalar agora, deve lembrar que não pode instalar em um disco em uso, bt, já que sua imagem ao vivo já foi carregada na RAM, não há nada para se preocupar: como sudo,

 umount -l /isodevice

e você está pronto para começar a instalar. Apenas certifique-se de escolher a partição correta (ou seja, vazia ) na qual instalar.

NB: se você está inicializando a partir do efi, você precisará substituir a linha linux em 40_custom por:

  linux (loop)/casper/vmlinuz.efi boot=casper iso-scan/filename=$isofile noprompt noeject

NB2: com o custo de reafirmar o óbvio, eu também gostaria de salientar que, com o propósito de testar, de longe a coisa mais simples para instalar um novo sistema operacional é fazê-lo dentro de uma máquina virtual. Não consigo ver a finalidade de ter duas máquinas de produção no mesmo computador, pois elas não podem ser executadas simultaneamente. Em vez disso, uma VM pode ser executada ao mesmo tempo que o sistema operacional host, pode compartilhar com ela todo o disco, pode ser facilmente apagada ou realocada para um PC diferente e assim por diante.

    
por 12.11.2014 / 07:20
0

Você poderia tentar algo assim, embora eu não tenha certeza se isso funcione para você. Pode requerer alguma magia na linha de comando.

A primeira coisa que você precisa fazer é montar o arquivo usbboot.img:

$ mkdir /tmp/usbboot
$ sudo mount usbboot.img /tmp/usbboot

Copie o initrd.img dele e desmonte:

$ cp /tmp/usbboot/initrd.img /tmp/
$ sudo umount /tmp/usbboot
$ rmdir /tmp/usbboot

Então agora o initrd está em / tmp. Mas o que é isso?

$ cd /tmp
$ file initrd.img
initrd.img: gzip compressed data, from Unix, last modified: Fri Nov  1 01:07:44 2013, max compression

Ah, é gzipped. Descompacte-o renomeando para .gz e descompactando:

$ mv initrd.img{,.gz}
$ gzip -d initrd.img.gz

Agora, o que é isso?

$ file initrd.img
initrd.img: ASCII cpio archive (SVR4 with no CRC)

Agora crie um novo diretório para o instalador do slackware e extraia o initrd usando o cpio (você precisa ser root para que todas as permissões estejam certas):

$ mkdir slackboot
$ cd slackboot
$ su
# cat ../initrd.img | cpio -i

OBSERVAÇÃO: o cpio irá extrair todos os seus arquivos para o diretório atual, portanto, certifique-se de estar dentro do diretório no qual você quer os arquivos ao chamar. Não iria tentar de /.

Você pode chroot agora e testá-lo:

# chroot .
# /usr/lib/setup/setup
Error opening terminal: xterm.

Parece que você precisa de um verdadeiro tty / pty / whatever. Então, faça login em um dos seus terminais reais (não-X11) como root (ctrl + alt + 2).

# mount -o bind /dev /tmp/slackboot/dev
# mount -o bind /sys /tmp/slackboot/sys
# mount -o bind /proc /tmp/slackboot/proc
# chroot /tmp/slackboot
# /usr/lib/setup/setup

Isso iniciará o instalador e você deverá começar. Não me culpe se você nuke seu disco rígido embora.

    
por 12.11.2014 / 05:05