LINUX.ORG.RU

История изменений

Исправление santic, (текущая версия) :

Инструкция миграции ОС с LILO и LVM для истории:

Подготовить стенд (загружаемся с live ISO Alpine Linux):

Создать скрипт

vi ~/prep.sh
#/bin/sh

cat <<EOT > /etc/network/interfaces
auto eth0
 iface eth0 inet dhcp
EOT

/sbin/rc-service networking restart

cat <<EOT > /etc/apk/repositories
http://mirror.hyperdedic.ru/alpinelinux/v3.19/main
EOT

/sbin/apk update

/sbin/apk add vim lsblk lvm2 openssh e2fsprogs lvm2-dmeventd cfdisk rsync syslinux gptfdisk sgdisk

echo -e "123\n123" | passwd

/bin/sed -i '/PermitRootLogin/c\PermitRootLogin yes' /etc/ssh/sshd_config

/sbin/rc-service sshd restart

Запустить

chmod +x ~/prep.sh
sh ~/prep.sh

Переход на LILO без LVM

Chrooting

mount /dev/sda3 /mnt ; \
mount /dev/sda1 /mnt/boot ; \
for i in /sys /proc /run /dev /dev/pts; do mount --bind "$i" "/mnt$i"; done ; \
chroot /mnt

Install lilo pkg

cd ~
wget https://distfiles.adelielinux.org/adelie/1.0/user/x86_64/lilo-24.2-r1.apk
apk del syslinux
apk add lilo-24.2-r1.apk --allow-untrusted

Готовим конфиг LILO:

cd /etc/lilo/
cp lilo.conf.template lilo.conf

Сам конфиг:

# /etc/lilo/lilo.conf                                                                                                               
### LILO global section ###
# Good assumptions for a modern (post-1998) system                                                                            
compact          
large-memory
lba32                   

# Menu configuration
install = bmp
bitmap = /boot/lilo/gfx/tuxlogo.bmp

# Boot the first entry automatically in 10 seconds
prompt
timeout = 100

# These will be configured automatically by liloconfig(8)
boot = "/dev/sda"

### LILO per-image section ###
image = /boot/vmlinuz-lts
        label = "Alpine Linux"
        append = "root=/dev/sda3 modules=sd-mod,usb-storage,ext4 quiet rootfstype=ext4"
        initrd = /boot/initramfs-lts
        read-write

запускаем lilo

lilo

Переход на LILO с LVM

Готовим стенд в контексте дисков

pvcreate /dev/sdb
vgcreate vg-kvm /dev/sdb
lvcreate -L 1G  --name test1 vg-kvm
lvcreate -L 1G  --name test2 vg-kvm
mkfs.ext4 /dev/vg-kvm/test1
mkfs.ext4 /dev/vg-kvm/test2
mkdir /mnt/t1 /mnt/t2
mount /dev/vg-kvm/test1 /mnt/t1
mount /dev/vg-kvm/test2 /mnt/t2
dd if=/dev/zero of=/mnt/t2/output1.dat  bs=340M  count=1
dd if=/dev/zero of=/mnt/t2/output2.dat  bs=34M  count=10
ls -lhR /mnt
umount /mnt/t1 /mnt/t2
rm -rf /mnt/*
# Создаём lv под корень + boot
lvcreate -l 100%FREE -n alp_root vg-kvm

Мигрируем ОС (в том числе и ядро)

vgchange -ay vg-kvm
mkfs.ext4 /dev/vg-kvm/alp_root
mkdir /mnt/src /mnt/dst
mount /dev/sda3 /mnt/src/
mount /dev/vg-kvm/alp_root /mnt/dst/
rsync -axHAWXS --numeric-ids --info=progress2 /mnt/src/ /mnt/dst/
mount /dev/sda1 /mnt/src/boot
cp -v /mnt/src/boot/vmlinuz-lts /mnt/dst/boot/
cp -v /mnt/src/boot/initramfs-lts /mnt/dst/boot/
umount /mnt/src/boot/
umount /mnt/src/
umount /mnt/dst/
rm -rf /mnt/*

Chrooting

mount /dev/vg-kvm/alp_root /mnt ; \
for i in /sys /proc /run /dev /dev/pts; do mount --bind "$i" "/mnt$i"; done ; \
chroot /mnt

Install lilo pkg

cd ~
wget https://distfiles.adelielinux.org/adelie/1.0/user/x86_64/lilo-24.2-r1.apk
apk del syslinux
apk add lilo-24.2-r1.apk --allow-untrusted

Готовим конфиг LILO:

cd /etc/lilo/
cp lilo.conf.template lilo.conf

Сам конфиг:

# /etc/lilo/lilo.conf                                                                                                               
### LILO global section ###
# Good assumptions for a modern (post-1998) system                                                                            
compact          
large-memory
lba32                   

# Menu configuration
install = bmp
bitmap = /boot/lilo/gfx/tuxlogo.bmp

# Boot the first entry automatically in 10 seconds
prompt
timeout = 100

# These will be configured automatically by liloconfig(8)
boot = "/dev/sdb"
map = /boot/lilo/map

### LILO per-image section ###
image = /boot/vmlinuz-lts
        label = "Alpine Linux"
        append = "root=/dev/vg-kvm/alp_root modules=sd-mod,usb-storage,ext4 quiet rootfstype=ext4"
        initrd = /boot/initramfs-lts
        read-write

Устанавливаем LILO

lilo

Вправляем /etc/fstab:

# Оставляем только корень
/dev/vg-kvm/alp_root                            /       ext4    rw,relatime 0 1

Вправляем initramfs (/etc/mkinitfs/mkinitfs.conf):

# Добавим lvm в конфиге
features="ata base ide scsi usb virtio ext4 lvm"

Пересобираем:

# проверим какое ядро
ls /lib/modules/
# пересобираем
mkinitfs -c /etc/mkinitfs/mkinitfs.conf -b / 6.6.24-0-lts

P.S.

После обновления ядра обязательно запустить установку lilo:

lilo

Исходная версия santic, :

Инструкция миграции ОС с LILO и LVM для истории: Подготовить стенд (загружаемся с live ISO Alpine Linux):

Создать скрипт

vi ~/prep.sh
#/bin/sh

cat <<EOT > /etc/network/interfaces
auto eth0
 iface eth0 inet dhcp
EOT

/sbin/rc-service networking restart

cat <<EOT > /etc/apk/repositories
http://mirror.hyperdedic.ru/alpinelinux/v3.19/main
EOT

/sbin/apk update

/sbin/apk add vim lsblk lvm2 openssh e2fsprogs lvm2-dmeventd cfdisk rsync syslinux gptfdisk sgdisk

echo -e "123\n123" | passwd

/bin/sed -i '/PermitRootLogin/c\PermitRootLogin yes' /etc/ssh/sshd_config

/sbin/rc-service sshd restart

Запустить

chmod +x ~/prep.sh
sh ~/prep.sh

Переход на LILO без LVM

Chrooting

mount /dev/sda3 /mnt ; \
mount /dev/sda1 /mnt/boot ; \
for i in /sys /proc /run /dev /dev/pts; do mount --bind "$i" "/mnt$i"; done ; \
chroot /mnt

Install lilo pkg

cd ~
wget https://distfiles.adelielinux.org/adelie/1.0/user/x86_64/lilo-24.2-r1.apk
apk del syslinux
apk add lilo-24.2-r1.apk --allow-untrusted

Готовим конфиг LILO:

cd /etc/lilo/
cp lilo.conf.template lilo.conf

Сам конфиг:

# /etc/lilo/lilo.conf                                                                                                               
### LILO global section ###
# Good assumptions for a modern (post-1998) system                                                                            
compact          
large-memory
lba32                   

# Menu configuration
install = bmp
bitmap = /boot/lilo/gfx/tuxlogo.bmp

# Boot the first entry automatically in 10 seconds
prompt
timeout = 100

# These will be configured automatically by liloconfig(8)
boot = "/dev/sda"

### LILO per-image section ###
image = /boot/vmlinuz-lts
        label = "Alpine Linux"
        append = "root=/dev/sda3 modules=sd-mod,usb-storage,ext4 quiet rootfstype=ext4"
        initrd = /boot/initramfs-lts
        read-write

запускаем lilo

lilo

Переход на LILO с LVM

Готовим стенд в контексте дисков

pvcreate /dev/sdb
vgcreate vg-kvm /dev/sdb
lvcreate -L 1G  --name test1 vg-kvm
lvcreate -L 1G  --name test2 vg-kvm
mkfs.ext4 /dev/vg-kvm/test1
mkfs.ext4 /dev/vg-kvm/test2
mkdir /mnt/t1 /mnt/t2
mount /dev/vg-kvm/test1 /mnt/t1
mount /dev/vg-kvm/test2 /mnt/t2
dd if=/dev/zero of=/mnt/t2/output1.dat  bs=340M  count=1
dd if=/dev/zero of=/mnt/t2/output2.dat  bs=34M  count=10
ls -lhR /mnt
umount /mnt/t1 /mnt/t2
rm -rf /mnt/*
# Создаём lv под корень + boot
lvcreate -l 100%FREE -n alp_root vg-kvm

Мигрируем ОС (в том числе и ядро)

vgchange -ay vg-kvm
mkfs.ext4 /dev/vg-kvm/alp_root
mkdir /mnt/src /mnt/dst
mount /dev/sda3 /mnt/src/
mount /dev/vg-kvm/alp_root /mnt/dst/
rsync -axHAWXS --numeric-ids --info=progress2 /mnt/src/ /mnt/dst/
mount /dev/sda1 /mnt/src/boot
cp -v /mnt/src/boot/vmlinuz-lts /mnt/dst/boot/
cp -v /mnt/src/boot/initramfs-lts /mnt/dst/boot/
umount /mnt/src/boot/
umount /mnt/src/
umount /mnt/dst/
rm -rf /mnt/*

Chrooting

mount /dev/vg-kvm/alp_root /mnt ; \
for i in /sys /proc /run /dev /dev/pts; do mount --bind "$i" "/mnt$i"; done ; \
chroot /mnt

Install lilo pkg

cd ~
wget https://distfiles.adelielinux.org/adelie/1.0/user/x86_64/lilo-24.2-r1.apk
apk del syslinux
apk add lilo-24.2-r1.apk --allow-untrusted

Готовим конфиг LILO:

cd /etc/lilo/
cp lilo.conf.template lilo.conf

Сам конфиг:

# /etc/lilo/lilo.conf                                                                                                               
### LILO global section ###
# Good assumptions for a modern (post-1998) system                                                                            
compact          
large-memory
lba32                   

# Menu configuration
install = bmp
bitmap = /boot/lilo/gfx/tuxlogo.bmp

# Boot the first entry automatically in 10 seconds
prompt
timeout = 100

# These will be configured automatically by liloconfig(8)
boot = "/dev/sdb"
map = /boot/lilo/map

### LILO per-image section ###
image = /boot/vmlinuz-lts
        label = "Alpine Linux"
        append = "root=/dev/vg-kvm/alp_root modules=sd-mod,usb-storage,ext4 quiet rootfstype=ext4"
        initrd = /boot/initramfs-lts
        read-write

Устанавливаем LILO

lilo

Вправляем /etc/fstab:

# Оставляем только корень
/dev/vg-kvm/alp_root                            /       ext4    rw,relatime 0 1

Вправляем initramfs (/etc/mkinitfs/mkinitfs.conf):

# Добавим lvm в конфиге
features="ata base ide scsi usb virtio ext4 lvm"

Пересобираем:

# проверим какое ядро
ls /lib/modules/
# пересобираем
mkinitfs -c /etc/mkinitfs/mkinitfs.conf -b / 6.6.24-0-lts

P.S.

После обновления ядра обязательно запустить установку lilo:

lilo