【问题标题】:Trying to mount /dev/sda in busybox试图在busybox中挂载/dev/sda
【发布时间】:2020-12-27 03:36:18
【问题描述】:

我正在使用 Proxmox 虚拟机。我选择哪种存储类型(scsi、ivirt 或 sata)似乎并不重要,我在busybox 中看不到任何块设备(即在/dev 下或fdisk)。

我使用这些说明将 PXE 设置为 busybox 提示符:

https://jootamam.net/howto-initramfs-image.htm

如果我能看到驱动器。然后我可以解压一个更大的root.fs 并使用busybox/initramfsswitch_execsda1(类似于these instructionstmpfs)。 但是因为不能,所以我只能解压到 tmpfs/ram。

有没有我需要加载的模块?

【问题讨论】:

    标签: busybox initramfs


    【解决方案1】:

    两种解决方案

    linux内核pxe解决方案

    virt-builder centos-7.8 -o /work/disk.img --root-password password:changeme --install grub2-tools --install e2fsprogs glusterfs-client
    virt-builder --get-kernel /work/disk.img -o /var/www/html/pxe.com/
    guestfish --ro -a /work/disk.img -i copy-out / /work/initramfs
    (cpio -id; zcat | cpio -id) < /var/www/html/pxe.com/initramfs-3.10.0-1127.el7.x86_64.img
     
    echo > /work/initramfs/etc/fstab
    echo "SELINUX=disabled" > /work/initramfs/etc/selinux/config
     
    find . -print0 | cpio --null -ov --format=newc | gzip -9 > /var/www/html/pxe.com/initramfs.gz
    

    busybox解决方案

    这是使用后

    lsmod
    lspci -k
    modinfo <module>
    

    查找依赖树并复制到 initramfs/lib

    #!/bin/busybox sh
    #mkdir /dev
    mkdir /sys
    mkdir /proc
    mkdir /tmp
    #mount -n -t proc  proc  /proc -o rw,nosuid,nodev,noexec,relatime
    mount -t proc  proc  /proc
    #mount -n -t sysfs  sys  /sys -o rw,nosuid,nodev,noexec,relatime
    mount -t sysfs  sys  /sys
    #mount -n -t devtmpfs  dev  /dev -o rw,nosuid,mode=0755
    mount -t devtmpfs  dev  /dev
    mount -n -t tmpfs tmpfs /tmp -o rw
    mkdir -p /sys/dev
    mkdir -p /var/run
    
    mount -t devpts devpts /dev/pts
    echo /bin/mdev > /proc/sys/kernel/hotplug
    mdev -s
    
    cd /lib/modules/3.10.0-1127.el7.x86_64/kernel
    
    insmod crypto/crct10dif_common.ko.xz
    insmod lib/crc-t10dif.ko.xz
    insmod drivers/scsi/sd_mod.ko.xz
    
    insmod drivers/virtio/virtio.ko.xz
    insmod drivers/virtio/virtio_ring.ko.xz
    insmod drivers/scsi/virtio_scsi.ko.xz
    insmod drivers/virtio/virtio_pci.ko.xz
    
    insmod fs/mbcache.ko.xz
    insmod fs/jbd2/jbd2.ko.xz
    insmod fs/ext4/ext4.ko.xz
    
    #networking
    insmod net/core/failover.ko.xz
    insmod drivers/net/net_failover.ko.xz
    insmod net/netfilter/nfnetlink.ko.xz
    
    insmod drivers/net/virtio_net.ko.xz
    
    #rng
    insmod drivers/char/hw_random/virtio-rng.ko.xz
    
    #gluster
    insmod fs/fuse/fuse.ko.xz
    
    mount -t devtmpfs dev /dev
    mdev -s
    dd if=/dev/zero of=/dev/sda bs=512 count=1
    (echo n; echo p; echo 1; echo ""; echo ""; echo w;) | fdisk /dev/sda
    
    mkdir /newroot
    
    export EXTRACT_UNSAFE_SYMLINKS=1
    tar xvfJ /rootfs.tar.xz -C /newroot || error
    
    mount --move /sys /newroot/sys
    mount --move /proc /newroot/proc
    mount --move /dev /newroot/dev
    

    指南

    http://www.espenbraastad.no/posts/centos-7-rootfs-on-tmpfs/ http://mgalgs.github.io/2012/03/23/how-to-build-a-custom-linux-kernel-for-qemu.html http://souptonuts.sourceforge.net/cdrom.htm

    freenode #busybox 上有用的 IRC

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2014-04-06
      • 2013-08-27
      • 2012-12-28
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多