কিউইএমইউতে নেটওয়ার্কিং না করে হোস্টের সাথে একটি ডিরেক্টরি কীভাবে ভাগ করবেন?


10

আমার সমস্যাটি হ'ল আমার ডিভাইস ট্রিতে নেটওয়ার্কিং ডিভাইসগুলি খুব স্থিতিশীল নয় তাই আমি ভেবেছিলাম কিউমু এবং হোস্ট সিস্টেমের মধ্যে একটি ফোল্ডার ভাগ করে নেওয়ার সেরা উপায়টি উভয় পক্ষের ক্যাশে ছাড়াই একই ইম্জি মাউন্ট করা তবে কিমুতে -hda বিকল্পটি তৈরি করে না এইচডি / দেব / এ উপলব্ধ।

আমি চালিত কমান্ড এখানে।

./qemu-xilinx/arm-softmmu/qemu-system-arm -M xilinx-zynq-a9 -m 1024 -serial null -serial mon:stdio -dtb resources/devicetree.dtb -kernel resources/zImage -initrd resources.qemu/ramdisk.img -nographic -s

সুতরাং প্রশ্নটি হল: নেটওয়ার্কিং এড়ানোর কোনও উপায় নেই এবং এখনও কিউমু এবং হোস্টের মধ্যে একটি ভাগ করা ডিরেক্টরি রয়েছে?

সম্পাদনা: আমি সংকলিত

./configure --target-list="arm-softmmu,microblazeel-softmmu" --enable-fdt --disable-kvm --enable-virtfs

যা প্রয়োজনীয় কিছু সক্ষম করা উচিত। যাইহোক আমি যখন চালানো

./qemu-xilinx/arm-softmmu/qemu-system-arm -M xilinx-zynq-a9 -m 1024 -serial null -serial mon:stdio -dtb /homes/cperivol/Sandbox/xilinx-zynq-bootstrap/resources/devicetree.dtb -kernel /homes/cperivol/Sandbox/xilinx-zynq-bootstrap/resources/zImage -initrd /homes/cperivol/Sandbox/xilinx-zynq-bootstrap/resources.qemu/ramdisk.img -nographic -s -fsdev local,path=/homes/cperivol/Sandbox/xilinx-zynq-bootstrap/qemu-sandbox/,security_model=passthrough,id=host0 -device virtio-9p-pci,fsdev=host0,mount_tag=host_tag0

অথবা

./qemu-xilinx/arm-softmmu/qemu-system-arm -M xilinx-zynq-a9 -m 1024 -serial null -serial mon:stdio -dtb resources/devicetree.dtb -kernel resources/zImage -initrd resources.qemu/ramdisk.img -nographic -s -virtfs local,path=/homes/cperivol/Sandbox/xilinx-zynq-bootstrap/qemu-sandbox/,mount_tag=host0,security_model=passthrough,id=host0

আমি পাই

No 'PCI' bus found for device 'virtio-9p-pci'

হতে পারে আমার আরও উল্লেখ করা উচিত যে arm-softmmu/config-devices.makসেখানে রয়েছে CONFIG_PCI=y, এবং নিশ্চিত যে পিসিআইয়ের অবজেক্ট ফাইলগুলি যথেষ্ট পরিমাণে আছে hw/pci

এডিআইটি 2: এমুলেটেড সিস্টেমটি কিউমু দ্বারা নিক্ষেপ করা হয়েছে এমনভাবে ডিভাইস গাছের দিকে তাকানোতে একটি পিসিআই বাস অন্তর্ভুক্ত নয়।

(qemu) info qtree
bus: main-system-bus
  type System
  dev: xlnx.ps7-dev-cfg, id ""
    irq 1
    mmio 00000000f8007000/000000000000011c
  dev: pl330, id ""
    gpio-in 32
    num_chnls = 8
    num_periph_req = 4
    num_events = 16
    mgr_ns_at_rst = 0
    i-cache_len = 4
    num_i-cache_lines = 8
    boot_addr = 0
    INS = 0
    PNS = 0
    data_width = 64
    wr_cap = 8
    wr_q_dep = 16
    rd_cap = 8
    rd_q_dep = 16
    data_buffer_dep = 256
    irq 17
    mmio 00000000f8003000/0000000000001000
  dev: generic-sdhci, id ""
    capareg = 0x5780080
    maxcurr = 0x0
    irq 1
    mmio 00000000e0101000/0000000000000100
  dev: generic-sdhci, id ""
    capareg = 0x5780080
    maxcurr = 0x0
    irq 1
    mmio 00000000e0100000/0000000000000100
  dev: cadence_gem, id ""
    mac = 52:54:00:12:34:56
    vlan = 0
    netdev = hub0port0
    bootindex = -1
    irq 1
    mmio 00000000e000b000/0000000000000640
  dev: cadence_ttc, id ""
    irq 3
    mmio 00000000f8002000/0000000000001000
  dev: cadence_ttc, id ""
    irq 3
    mmio 00000000f8001000/0000000000001000
  dev: cadence_uart, id ""
    irq 1
    mmio 00000000e0001000/0000000000001000
  dev: cadence_uart, id ""
    irq 1
    mmio 00000000e0000000/0000000000001000
  dev: xlnx.ps7-qspi, id ""
    num-busses = 2
    num-ss-bits = 1
    num-txrx-bytes = 4
    irq 3
    mmio 00000000e000d000/0000000000000100
    mmio 00000000fc000000/0000000002000000
    bus: spi1
      type SSI
      dev: n25q128, id ""
        gpio-in 1
    bus: spi0
      type SSI
      dev: n25q128, id ""
        gpio-in 1
  dev: xlnx.ps7-spi, id ""
    num-busses = 1
    num-ss-bits = 4
    num-txrx-bytes = 1
    irq 5
    mmio 00000000e0007000/0000000000000100
    bus: spi0
      type SSI
      dev: n25q128, id ""
        gpio-in 1
      dev: n25q128, id ""
        gpio-in 1
      dev: n25q128, id ""
        gpio-in 1
      dev: n25q128, id ""
        gpio-in 1
  dev: xlnx.ps7-spi, id ""
    num-busses = 1
    num-ss-bits = 4
    num-txrx-bytes = 1
    irq 5
    mmio 00000000e0006000/0000000000000100
    bus: spi0
      type SSI
      dev: n25q128, id ""
        gpio-in 1
      dev: n25q128, id ""
        gpio-in 1
      dev: n25q128, id ""
        gpio-in 1
      dev: n25q128, id ""
        gpio-in 1
  dev: xlnx,ps7-usb, id "zynq-usb-1"
    maxframes = 128
    irq 1
    mmio 00000000e0003000/0000000000001000
    bus: zynq-usb-1.0
      type usb-bus
  dev: xlnx,ps7-usb, id "zynq-usb-0"
    maxframes = 128
    irq 1
    mmio 00000000e0002000/0000000000001000
    bus: zynq-usb-0.0
      type usb-bus
  dev: xlnx.ps7-i2c, id ""
    irq 1
    mmio 00000000e0005000/000000000000002c
    bus: i2c
      type i2c-bus
      dev: pca9548, id ""
        chip-enable = 0
        address = 0
        address-range = 128
        reg = 0
        bus: i2c@7
          type i2c-bus
        bus: i2c@6
          type i2c-bus
        bus: i2c@5
          type i2c-bus
        bus: i2c@4
          type i2c-bus
        bus: i2c@3
          type i2c-bus
          dev: at.24c08, id ""
            size = 1024
            address = 84
            address-range = 4
            reg = 84
          dev: at.24c08, id ""
            size = 1024
            address = 80
            address-range = 4
            reg = 80
        bus: i2c@2
          type i2c-bus
          dev: at.24c08, id ""
            size = 1024
            address = 84
            address-range = 4
            reg = 84
          dev: at.24c08, id ""
            size = 1024
            address = 80
            address-range = 4
            reg = 80
        bus: i2c@1
          type i2c-bus
        bus: i2c@0
          type i2c-bus
  dev: xlnx.ps7-i2c, id ""
    irq 1
    mmio 00000000e0004000/000000000000002c
    bus: i2c
      type i2c-bus
      dev: pca9548, id ""
        chip-enable = 0
        address = 0
        address-range = 128
        reg = 0
        bus: i2c@7
          type i2c-bus
        bus: i2c@6
          type i2c-bus
        bus: i2c@5
          type i2c-bus
        bus: i2c@4
          type i2c-bus
        bus: i2c@3
          type i2c-bus
          dev: at.24c08, id ""
            size = 1024
            address = 84
            address-range = 4
            reg = 84
          dev: at.24c08, id ""
            size = 1024
            address = 80
            address-range = 4
            reg = 80
        bus: i2c@2
          type i2c-bus
          dev: at.24c08, id ""
            size = 1024
            address = 84
            address-range = 4
            reg = 84
          dev: at.24c08, id ""
            size = 1024
            address = 80
            address-range = 4
            reg = 80
        bus: i2c@1
          type i2c-bus
        bus: i2c@0
          type i2c-bus
  dev: arm_mptimer, id ""
    num-cpu = 1
    irq 1
    mmio ffffffffffffffff/0000000000000020
    mmio ffffffffffffffff/0000000000000020
  dev: arm_mptimer, id ""
    num-cpu = 1
    irq 1
    mmio ffffffffffffffff/0000000000000020
    mmio ffffffffffffffff/0000000000000020
  dev: a9-scu, id ""
    num-cpu = 1
    irq 0
    mmio ffffffffffffffff/0000000000000100
  dev: arm_gic, id ""
    gpio-in 96
    num-cpu = 1
    num-irq = 96
    revision = 1
    irq 1
    mmio ffffffffffffffff/0000000000001000
    mmio ffffffffffffffff/0000000000000100
    mmio ffffffffffffffff/0000000000000100
  dev: a9mpcore_priv, id ""
    gpio-in 64
    num-cpu = 1
    num-irq = 96
    irq 1
    mmio 00000000f8f00000/0000000000002000
  dev: xilinx,zynq_slcr, id ""
    irq 0
    mmio 00000000f8000000/0000000000001000
  dev: nand, id ""
    manufacturer_id = 32
    chip_id = 170
    drive = <null>
    irq 0
  dev: cfi.pflash02, id ""
    drive = <null>
    num-blocks = 512
    sector-length = 131072
    width = 1
    mappings = 1
    big-endian = 0
    id0 = 102
    id1 = 34
    id2 = 0
    id3 = 0
    unlock-addr0 = 2730
    unlock-addr1 = 1365
    name = "pl353.pflash"
    irq 0
    mmio ffffffffffffffff/0000000004000000
  dev: arm.pl35x, id ""
    x = 3
    irq 0
    mmio 00000000e000e000/0000000000001000
    mmio 00000000e2000000/0000000001000000
    mmio 00000000e1000000/0000000001000000

উত্তর:


14

অতিথির যদি 9p সমর্থন থাকে (যেমন লিনাক্স, বা অবশ্যই প্ল্যান 9) এবং ভার্টিও, নিম্নলিখিত স্যুইচটি যুক্ত করার চেষ্টা করুন।

-virtfs local,path=/path/to/share,mount_tag=host0,security_model=passthrough,id=host0

আপনি সিকিউরিটি_ মডেল প্যারামিটারটি পরিবর্তন করতে চাইতে পারেন। ম্যান পৃষ্ঠা দেখুন, তার জন্য কিউমু (1)। যদি আমি সঠিকভাবে স্মরণ করি তবে মাউন্ট_ট্যাগটি ডেমি হিসাবে আইডি রেখে অতিথিটি দেখে sees

আপনি যদি ক্রুটিং করছেন তবে নিশ্চিত করুন যে পথটি ক্রুটের নীচে রয়েছে। এটি হোস্টের ডিরেক্টরিতে যাওয়ার পথ।

অতিথির fstab এন্ট্রিটি দেখতে এমন হওয়া উচিত।

host0   /wherever    9p      trans=virtio,version=9p2000.L   0 0

হয় আপনার fstab এ যুক্ত করুন, বা যথাযথ কমান্ডটি ম্যানুয়ালি বা আপনার init সিস্টেমটি ব্যবহার করুন, যা কিছু হোক না কেন।


ডিরেক্টরি / ইমেজের / পাথ / টু / ভাগ করে নেওয়া কি? এছাড়াও আমি মনে করি এটি সম্পর্কিত নয়: আমি qemu-system-arm: -virtfs local,path=/path/to/share,mount_tag=host0,security_model=passthrough,id=host0: Parameter 'driver' expects device type
পেয়েছি

1
আপনি যে ডিরেক্টরিটি ভাগ করতে চান তা এটি।
পাইলোনা

1
এছাড়াও, আপনি কি নিশ্চিত করতে পারেন যে আপনি যে কেমু ব্যবহার করছেন তার সংস্করণটি 9 পি / গুণমান সমর্থন দিয়ে নির্মিত হয়েছে দয়া করে? এই দেখুন ।
পাইলোনা

1
ভাল প্রশ্ন, আমি কীভাবে এটি পরীক্ষা করব?
ফেকড্রেক

রানটাইমের সময়, আপনার কিউমু বাইনারি থেকে, আমি জানতাম না। আপনাকে আপনার বিতরণের বিল্ড স্ক্রিপ্টগুলি পরীক্ষা করতে হবে। এটি ডিস্ট্রো-নির্দিষ্ট। উদাহরণস্বরূপ, আর্চ লিনাক্সে এটি ফ্ল্যাগগুলি উপস্থিত রয়েছে এবং উপস্থিত নেই , কনফিগার করার জন্য পাস করা হয়েছে, পিকেজিইউইলডি-তে।
পাইলোনা

2

X86_64, আর্ম এবং আড়াল 64 এর জন্য মিনিমালিস্ট ওয়ার্কিং 9 পি বিল্ড্রুট সেটআপ

আমি একটি অত্যন্ত স্বয়ংক্রিয় বিল্ড্রুট ওয়ার্কিং সেটআপ তৈরি করেছি যা আপনার দৃষ্টিভঙ্গি কেন কাজ করছে না তা আলাদা করতে আপনাকে সহায়তা করতে পারে।

প্রধান উপাদানগুলি হ'ল:

  • কার্নেল সেটিংস:

    CONFIG_9P_FS=y
    CONFIG_9P_FS_POSIX_ACL=y
    CONFIG_9P_FS_SECURITY=y
    CONFIG_NETWORK_FILESYSTEMS=y
    CONFIG_NET_9P=y
    CONFIG_NET_9P_DEBUG=y
    CONFIG_NET_9P_VIRTIO=y
    

    আরচ 64৪ এর জন্যও যুক্ত করুন:

    CONFIG_PCI=y
    CONFIG_PCI_HOST_COMMON=y
    CONFIG_PCI_HOST_GENERIC=y
    CONFIG_VIRTIO_PCI=y
    CONFIG_VIRTIO_BLK=y
    CONFIG_VIRTIO_NET=y
    

    আপনি যদি আরচ 64 কনফিগারেশন যুক্ত করতে ভুলে যান এবং এতে mountব্যর্থ হন:

    mount: mounting host0 on /mnt/my9p failed: Invalid argument
    

    এবং dmesg অভিযোগ করে:

    9pnet_virtio: no channels available for device
    

    এখানে নথিবদ্ধ: https://wiki.qemu.org/ ডকুমেন্টেশন / 9psetup

  • আমার fstab এন্ট্রি এবং কিউইএমইউ কমান্ডটি ঠিক যেমন ব্যাখ্যা করা হয়েছিল: https://superuser.com/a/628381/128124

    ম্যানুয়াল মাউন্ট কমান্ডটি হ'ল:

    mkdir /mnt/my9p
    mount -t 9p -o trans=virtio,version=9p2000.L host0 /mnt/my9p
    

    রেফারেন্সের জন্য, আমার সম্পূর্ণ QEMU কমান্ড লাইনগুলি হ'ল: x86:

    ./buildroot/output.x86_64~/host/usr/bin/qemu-system-x86_64 -m 128M -monitor telnet::45454,server,nowait -netdev user,hostfwd=tcp::45455-:45455,id=net0 -smp 1 -virtfs local,path=9p,mount_tag=host0,security_model=mapped,id=host0  -M pc -append 'root=/dev/vda nopat nokaslr norandmaps printk.devkmsg=on printk.time=y' -device edu -device lkmc_pci_min -device virtio-net-pci,netdev=net0 -kernel ./buildroot/output.x86_64~/images/bzImage    -drive file='./buildroot/output.x86_64~/images/rootfs.ext2.qcow2,if=virtio,format=qcow2'
    

    হাত:

    ./buildroot/output.arm~/host/usr/bin/qemu-system-arm -m 128M -monitor telnet::45454,server,nowait -netdev user,hostfwd=tcp::45455-:45455,id=net0 -smp 1 -virtfs local,path=9p,mount_tag=host0,security_model=mapped,id=host0  -M versatilepb -append 'root=/dev/sda nokaslr norandmaps printk.devkmsg=on printk.time=y' -device rtl8139,netdev=net0 -dtb ./buildroot/output.arm~/images/versatile-pb.dtb -kernel ./buildroot/output.arm~/images/zImage -serial stdio    -drive file='./buildroot/output.arm~/images/rootfs.ext2.qcow2,if=scsi,format=qcow2' 
    

    aarch64:

    ./buildroot/output.aarch64~/host/usr/bin/qemu-system-aarch64 -m 128M -monitor telnet::45454,server,nowait -netdev user,hostfwd=tcp::45455-:45455,id=net0 -smp 1 -virtfs local,path=9p,mount_tag=host0,security_model=mapped,id=host0  -M virt -append 'root=/dev/sda nokaslr norandmaps printk.devkmsg=on printk.time=y' -cpu cortex-a57 -device virtio-net-device,netdev=net0 -kernel ./buildroot/output.aarch64~/images/Image -nographic -serial stdio    
    

কিউইএমইউ ২.১১ এবং অতিথি লিনাক্স কার্নেল ৪.১৫-তে পরীক্ষা করা হয়েছে।

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.