michaeljclark / busybear-linux

busybear-linux is a tiny RISC-V Linux root filesystem image that targets the VirtIO board in riscv-qemu.
93 stars 33 forks source link

trying to create busybear.bin but it is giving error #14

Open billasurendra opened 4 years ago

billasurendra commented 4 years ago

Hi, I am trying to build Busybear Linux but I am getting following error, Please can anyone give me solution.

Error:

riscv64-unknown-linux-gnu-ranlib libmachine.a riscv64-unknown-linux-gnu-gcc -Wl,--build-id=none -nostartfiles -nostdlib -static -march=rv64imafd -mabi=lp64 -o pk pk.o -L. -lpk -lmachine -lsoftfloat -lutil -lgcc -T ../../src/riscv-pk/pk/pk.lds riscv64-unknown-linux-gnu-ar rcv libdummy_payload.a _dummy_payload.o dummy_entry.o a - _dummy_payload.o a - dummy_entry.o riscv64-unknown-linux-gnu-ranlib libdummy_payload.a riscv64-unknown-linux-gnu-gcc -Wl,--build-id=none -nostartfiles -nostdlib -static -march=rv64imafd -mabi=lp64 -o dummy_payload dummy_payload.o -L. -ldummy_payload -lgcc -T ../../src/riscv-pk/dummy_payload/dummy_payload.lds riscv64-unknown-linux-gnu-ranlib libbbl.a riscv64-unknown-linux-gnu-gcc -Wl,--build-id=none -nostartfiles -nostdlib -static -march=rv64imafd -mabi=lp64 -o bbl bbl.o -L. -lbbl -ldummy_payload -lmachine -lsoftfloat -lutil -lgcc -T ../../src/riscv-pk/bbl/bbl.lds make[1]: Leaving directory '/home/billa/MDP/riscv_linux_on_MDP/M2/busybear-linux/build/riscv-pk' [sudo] password for billa: 100+0 records in 100+0 records out 104857600 bytes (105 MB, 100 MiB) copied, 0.0506834 s, 2.1 GB/s mke2fs 1.42.13 (17-May-2015) Discarding device blocks: done
Creating filesystem with 102400 1k blocks and 25688 inodes Filesystem UUID: 09eb4b10-8ab4-4fa5-b57b-a5031db7eb26 Superblock backups stored on blocks: 8193, 24577, 40961, 57345, 73729

Allocating group tables: done
Writing inode tables: done
Creating journal (4096 blocks): done Writing superblocks and filesystem accounting information: done

*** failed to create busybear.bin

64kramsystem commented 3 years ago

I've got the same problem, and it's very puzzling, because just yesterday, I've been able to create the image without issues - today, I can't, and there's no indication of the problem.

64kramsystem commented 3 years ago

I've found the problem, at least on my system - the scripts/image.sh logic makes certain assumptions about the toolchain directory structure, specifically, it expects $LDSO_NAME (ld-linux-riscv64-lp64d.so.1, in my case) to be stored in $compiler_directory/../sysroot/lib.

If the compiler binary is symlinked, the above will fail, since the script does not dereference the symlink.

Independently of using a symlink being acceptable or not (readlink would allow this; as a matter of fact, it's used at least a couple of times), having a log wouldn't hurt in order to diagnose problems like this.

For users who happen to experience issues: just put a set -x on top of the script, and the problem will be easy to identify.