• rootfs.ext2制作


    root@ubuntu:~/rv/ # ls output/modules/lib/modules/
    5.12.3-bdong-dev
    root@ubuntu:~/rv/ # ls output/modules/lib/modules/5.12.3-bdong-dev/
    build  kernel  modules.alias  modules.alias.bin  modules.builtin  modules.builtin.bin  modules.builtin.modinfo  modules.dep  modules.dep.bin  modules.devname  modules.order  modules.softdep  modules.symbols  modules.symbols.bin  source
    root@ubuntu:~/rv/ # dd if=/dev/zero of=rootfs.ext2 bs=1M count=16
    16+0 records in
    16+0 records out
    16777216 bytes (17 MB, 16 MiB) copied, 0.027542 s, 609 MB/s
    root@ubuntu:~/rv/ # ls
    buildroot  dn.sh  libmetal  linux  OpenAMP  opensbi  output  qemu  README.md  rootfs.ext2  rtos  tarball  toolchains  u-boot
    root@ubuntu:~/rv/ # mkfs.ext2 rootfs.ext2
    mke2fs 1.44.1 (24-Mar-2018)
    Discarding device blocks: done                            
    Creating filesystem with 16384 1k blocks and 4096 inodes
    Filesystem UUID: 2b9718ac-463b-4b7c-ba30-a29e83ebedeb
    Superblock backups stored on blocks: 
            8193
    
    Allocating group tables: done                            
    Writing inode tables: done                            
    Writing superblocks and filesystem accounting information: done
    
    root@ubuntu:~/rv/ # mkdir /data5
    root@ubuntu:~/rv/ # mount rootfs.ext2  /data5
    root@ubuntu:~/rv/ # cp -r  output/modules/lib/  /data5
    root@ubuntu:~/rv/ # ls /data5/
    lib  lost+found
     
    root@ubuntu:~/rv/ # umount /data5
    root@ubuntu:~/rv/ # 

    启动

    qemu-system-riscv64 -M virt -m 512M -smp 2 -bios fw_jump.bin -kernel Image -append "rootwait root=/dev/vda"  -drive file=rootfs.ext2,format=raw,id=hd0 -device virtio-blk-device,drive=hd0 -netdev user,id=net0,hostfwd=::2222-:22 -device virtio-net-device,netdev=net0 -nographic 

    rootfs.ext2没有init

    [    0.694886] NET: Registered protocol family 17
    [    0.697241] 9pnet: Installing 9P2000 support
    [    0.698031] Key type dns_resolver registered
    [    0.699446] debug_vm_pgtable: [debug_vm_pgtable         ]: Validating architecture page table helpers
    [    0.726776] EXT4-fs (vda): mounting ext2 file system using the ext4 subsystem
    [    0.740639] EXT4-fs (vda): mounted filesystem without journal. Opts: (null)
    [    0.741374] VFS: Mounted root (ext2 filesystem) readonly on device 254:0.
    [    0.746050] devtmpfs: error mounting -2
    [    0.777616] Freeing unused kernel memory: 220K
    [    0.780019] Run /sbin/init as init process
    [    0.781295] Run /etc/init as init process
    [    0.782049] Run /bin/init as init process
    [    0.783079] Run /bin/sh as init process
    [    0.783940] Kernel panic - not syncing: No working init found.  Try passing init= option to kernel. See Linux Documentation/admin-guide/init.rst for guidance.
    [    0.784981] CPU: 0 PID: 1 Comm: swapper/0 Not tainted 5.10.7 #2
    [    0.785461] Call Trace:
    [    0.785834] [<ffffffe0002025d2>] walk_stackframe+0x0/0xaa
    [    0.786229] [<ffffffe0008ab954>] show_stack+0x32/0x3e
    [    0.786529] [<ffffffe0008ae1b6>] dump_stack+0x74/0x8e
    [    0.786819] [<ffffffe0008abaea>] panic+0xfc/0x2b2
    [    0.787090] [<ffffffe0008b5914>] kernel_init+0xec/0xf8
    [    0.787375] [<ffffffe0002012e2>] ret_from_exception+0x0/0xc
    [    0.787893] SMP: stopping secondary CPUs
    [    0.789062] ---[ end Kernel panic - not syncing: No working init found.  Try passing init= option to kernel. See Linux Documentation/admin-guide/init.rst for guidance. ]---
    QEMU: Terminated

    正常的有

    root@ubuntu:/home/ubuntu/demo_bin# mkdir demo
    root@ubuntu:/home/ubuntu/demo_bin# mount rootfs.ext2.bak demo
    root@ubuntu:/home/ubuntu/demo_bin# ls demo/
    bin  dev  etc  lib  lib64  linuxrc  lost+found  media  mnt  opt  proc  root  run  sbin  sys  tmp  usr  var
    root@ubuntu:/home/ubuntu/demo_bin# ls demo/lib
    ld-2.32.so                   libanl.so.1     libatomic.so.1.2.0  libcrypt.so.1  libdl.so.2     libm-2.32.so        libnss_dns.so.2       libpthread-2.32.so  libresolv.so.2  libutil-2.32.so
    ld-linux-riscv64-lp64d.so.1  libatomic.so    libc-2.32.so        libc.so.6      libgcc_s.so    libm.so.6           libnss_files-2.32.so  libpthread.so.0     librt-2.32.so   libutil.so.1
    libanl-2.32.so               libatomic.so.1  libcrypt-2.32.so    libdl-2.32.so  libgcc_s.so.1  libnss_dns-2.32.so  libnss_files.so.2     libresolv-2.32.so   librt.so.1      modules
    root@ubuntu:/home/ubuntu/demo_bin# ls demo/lib/modules/
    5.10.7
    root@ubuntu:/home/ubuntu/demo_bin# 
  • 相关阅读:
    nginx负载均衡
    mysqld: Out of memory Centos 创建swap分区解决
    redis 基本命令
    查看日志常用命令
    StringIO和BytesIO
    paramiko初识
    微信小程序-drf登录认证组件
    微信小程序之模块化--module.exports
    celery 定时任务报错一
    微信小程序跨页面传值
  • 原文地址:https://www.cnblogs.com/dream397/p/15908093.html
Copyright © 2020-2023  润新知