litex-hub / linux-on-litex-vexriscv

Linux on LiteX-VexRiscv
BSD 2-Clause "Simplified" License
550 stars 174 forks source link

command make on Linux #358

Closed BobMa0420 closed 8 months ago

BobMa0420 commented 8 months ago

Hi, I am running Linux on tang primer 20k and I'm wondering how I can use make on it. Thanks!

trabucayre commented 8 months ago

You with a compile something on your tang primer 20k? I'm not sure it's really relevant to compile with a CPU at 48MHz. In fact buildroot does not provides tools to do native compile, it provides a cross-toolchain to build on your host code application.

BobMa0420 commented 8 months ago

You with a compile something on your tang primer 20k? I'm not sure it's really relevant to compile with a CPU at 48MHz. In fact buildroot does not provides tools to do native compile, it provides a cross-toolchain to build on your host code application.

Thanks for your reply. Actually I am trying to run coremark on it but I am not sure whether it is a good idea to use make in the coremark folder.

trabucayre commented 8 months ago

coremark seems present as buildroot's package (coremark). So the best way is to use make menuconfig in buildroot root directory to select this package:

Target packages  --->
    Debugging, profiling and benchmark  --->
        [*] coremark

Followed by make.

And your new image must contain executable

BobMa0420 commented 8 months ago

coremark seems present as buildroot's package (coremark). So the best way is to use make menuconfig in buildroot root directory to select this package:

Target packages  --->
    Debugging, profiling and benchmark  --->
        [*] coremark

Followed by make.

And your new image must contain executable

I use make at /home/bobma/python-litex/buildroot and there is an error: package/Makefile.in:61: No C library enabled, this is not possible.. Stop. make: [Makefile:82: _all] Error 2

trabucayre commented 8 months ago

There is another issue here: seems buildroot has changed dependencies for glibc try to enable:

Target options  --->
    [*] Atomic Instructions (A)
BobMa0420 commented 8 months ago

There is another issue here: seems buildroot has changed dependencies for glibc try to enable:

Target options  --->
    [*] Atomic Instructions (A)

I run make and there is a rootfs.tar in /home/bobma/python-litex/linux-on-litex-vexriscv/buildroot/output/images,

├── bin │   ├── arch -> busybox │   ├── ash -> busybox │   ├── base32 -> busybox │   ├── base64 -> busybox │   ├── busybox │   ├── cat -> busybox │   ├── chattr -> busybox │   ├── chgrp -> busybox │   ├── chmod -> busybox │   ├── chown -> busybox │   ├── cp -> busybox │   ├── cpio -> busybox │   ├── date -> busybox │   ├── dd -> busybox │   ├── df -> busybox │   ├── dmesg -> busybox │   ├── dnsdomainname -> busybox │   ├── dumpkmap -> busybox │   ├── echo -> busybox │   ├── egrep -> busybox │   ├── false -> busybox │   ├── fdflush -> busybox │   ├── fgrep -> busybox │   ├── getopt -> busybox │   ├── grep -> busybox │   ├── gunzip -> busybox │   ├── gzip -> busybox │   ├── hostname -> busybox │   ├── kill -> busybox │   ├── link -> busybox │   ├── linux32 -> busybox │   ├── linux64 -> busybox │   ├── ln -> busybox │   ├── login -> busybox │   ├── ls -> busybox │   ├── lsattr -> busybox │   ├── mkdir -> busybox │   ├── mknod -> busybox │   ├── mktemp -> busybox │   ├── more -> busybox │   ├── mount -> busybox │   ├── mountpoint -> busybox │   ├── mt -> busybox │   ├── mv -> busybox │   ├── netstat -> busybox │   ├── nice -> busybox │   ├── nuke -> busybox │   ├── pidof -> busybox │   ├── ping -> busybox │   ├── pipe_progress -> busybox │   ├── printenv -> busybox │   ├── ps -> busybox │   ├── pwd -> busybox │   ├── resume -> busybox │   ├── rm -> busybox │   ├── rmdir -> busybox │   ├── run-parts -> busybox │   ├── sed -> busybox │   ├── setarch -> busybox │   ├── setpriv -> busybox │   ├── setserial -> busybox │   ├── sh -> busybox │   ├── sleep -> busybox │   ├── stty -> busybox │   ├── su -> busybox │   ├── sync -> busybox │   ├── tar -> busybox │   ├── touch -> busybox │   ├── true -> busybox │   ├── umount -> busybox │   ├── uname -> busybox │   ├── usleep -> busybox │   ├── vi -> busybox │   ├── watch -> busybox │   └── zcat -> busybox ├── dev │   ├── fd -> ../proc/self/fd │   ├── log -> ../tmp/log │   ├── pts │   ├── shm │   ├── stderr -> ../proc/self/fd/2 │   ├── stdin -> ../proc/self/fd/0 │   └── stdout -> ../proc/self/fd/1 ├── etc │   ├── fstab │   ├── group │   ├── hostname │   ├── hosts │   ├── init.d │   │   ├── rcK │   │   ├── rcS │   │   ├── S01seedrng │   │   ├── S01syslogd │   │   ├── S02klogd │   │   ├── S02sysctl │   │   └── S40network │   ├── inittab │   ├── issue │   ├── mtab -> ../proc/self/mounts │   ├── network │   │   ├── if-down.d │   │   ├── if-post-down.d │   │   ├── if-pre-up.d │   │   │   └── wait_iface │   │   ├── if-up.d │   │   ├── interfaces │   │   └── nfs_check │   ├── nsswitch.conf │   ├── os-release -> ../usr/lib/os-release │   ├── passwd │   ├── profile │   ├── profile.d │   │   └── umask.sh │   ├── protocols │   ├── resolv.conf -> ../tmp/resolv.conf │   ├── services │   ├── shadow │   └── shells ├── lib │   ├── ld-linux.so.2 │   ├── libanl.so.1 │   ├── libatomic.so -> libatomic.so.1.2.0 │   ├── libatomic.so.1 -> libatomic.so.1.2.0 │   ├── libatomic.so.1.2.0 │   ├── libcrypt.so.1 │   ├── libc.so.6 │   ├── libdl.so.2 │   ├── libgcc_s.so │   ├── libgcc_s.so.1 │   ├── libm.so.6 │   ├── libnss_dns.so.2 │   ├── libnss_files.so.2 │   ├── libpthread.so.0 │   ├── libresolv.so.2 │   ├── librt.so.1 │   └── libutil.so.1 ├── lib32 -> lib ├── linuxrc -> bin/busybox ├── media ├── mnt ├── opt ├── proc ├── root ├── rootfs.tar ├── run ├── sbin │   ├── arp -> ../bin/busybox │   ├── blkid -> ../bin/busybox │   ├── devmem -> ../bin/busybox │   ├── fdisk -> ../bin/busybox │   ├── freeramdisk -> ../bin/busybox │   ├── fsck -> ../bin/busybox │   ├── fstrim -> ../bin/busybox │   ├── getty -> ../bin/busybox │   ├── halt -> ../bin/busybox │   ├── hdparm -> ../bin/busybox │   ├── hwclock -> ../bin/busybox │   ├── ifconfig -> ../bin/busybox │   ├── ifdown -> ../bin/busybox │   ├── ifup -> ../bin/busybox │   ├── init -> ../bin/busybox │   ├── insmod -> ../bin/busybox │   ├── ip -> ../bin/busybox │   ├── ipaddr -> ../bin/busybox │   ├── iplink -> ../bin/busybox │   ├── ipneigh -> ../bin/busybox │   ├── iproute -> ../bin/busybox │   ├── iprule -> ../bin/busybox │   ├── iptunnel -> ../bin/busybox │   ├── klogd -> ../bin/busybox │   ├── loadkmap -> ../bin/busybox │   ├── losetup -> ../bin/busybox │   ├── lsmod -> ../bin/busybox │   ├── makedevs -> ../bin/busybox │   ├── mdev -> ../bin/busybox │   ├── mkdosfs -> ../bin/busybox │   ├── mke2fs -> ../bin/busybox │   ├── mkswap -> ../bin/busybox │   ├── modprobe -> ../bin/busybox │   ├── nameif -> ../bin/busybox │   ├── pivot_root -> ../bin/busybox │   ├── poweroff -> ../bin/busybox │   ├── reboot -> ../bin/busybox │   ├── rmmod -> ../bin/busybox │   ├── route -> ../bin/busybox │   ├── run-init -> ../bin/busybox │   ├── runlevel -> ../bin/busybox │   ├── setconsole -> ../bin/busybox │   ├── start-stop-daemon -> ../bin/busybox │   ├── sulogin -> ../bin/busybox │   ├── swapoff -> ../bin/busybox │   ├── swapon -> ../bin/busybox │   ├── switch_root -> ../bin/busybox │   ├── sysctl -> ../bin/busybox │   ├── syslogd -> ../bin/busybox │   ├── tc -> ../bin/busybox │   ├── udhcpc -> ../bin/busybox │   ├── uevent -> ../bin/busybox │   ├── vconfig -> ../bin/busybox │   └── watchdog -> ../bin/busybox ├── sys ├── tmp ├── usr │   ├── bin │   │   ├── [ -> ../../bin/busybox │   │   ├── [[ -> ../../bin/busybox │   │   ├── ar -> ../../bin/busybox │   │   ├── ascii -> ../../bin/busybox │   │   ├── awk -> ../../bin/busybox │   │   ├── basename -> ../../bin/busybox │   │   ├── bc -> ../../bin/busybox │   │   ├── bunzip2 -> ../../bin/busybox │   │   ├── bzcat -> ../../bin/busybox │   │   ├── chrt -> ../../bin/busybox │   │   ├── chvt -> ../../bin/busybox │   │   ├── cksum -> ../../bin/busybox │   │   ├── clear -> ../../bin/busybox │   │   ├── cmp -> ../../bin/busybox │   │   ├── coremark │   │   ├── crc32 -> ../../bin/busybox │   │   ├── crontab -> ../../bin/busybox │   │   ├── cut -> ../../bin/busybox │   │   ├── dc -> ../../bin/busybox │   │   ├── deallocvt -> ../../bin/busybox │   │   ├── diff -> ../../bin/busybox │   │   ├── dirname -> ../../bin/busybox │   │   ├── dos2unix -> ../../bin/busybox │   │   ├── du -> ../../bin/busybox │   │   ├── eject -> ../../bin/busybox │   │   ├── env -> ../../bin/busybox │   │   ├── expr -> ../../bin/busybox │   │   ├── factor -> ../../bin/busybox │   │   ├── fallocate -> ../../bin/busybox │   │   ├── find -> ../../bin/busybox │   │   ├── flock -> ../../bin/busybox │   │   ├── fold -> ../../bin/busybox │   │   ├── free -> ../../bin/busybox │   │   ├── fuser -> ../../bin/busybox │   │   ├── head -> ../../bin/busybox │   │   ├── hexdump -> ../../bin/busybox │   │   ├── hexedit -> ../../bin/busybox │   │   ├── hostid -> ../../bin/busybox │   │   ├── id -> ../../bin/busybox │   │   ├── install -> ../../bin/busybox │   │   ├── ipcrm -> ../../bin/busybox │   │   ├── ipcs -> ../../bin/busybox │   │   ├── killall -> ../../bin/busybox │   │   ├── last -> ../../bin/busybox │   │   ├── less -> ../../bin/busybox │   │   ├── logger -> ../../bin/busybox │   │   ├── logname -> ../../bin/busybox │   │   ├── lsof -> ../../bin/busybox │   │   ├── lspci -> ../../bin/busybox │   │   ├── lsscsi -> ../../bin/busybox │   │   ├── lsusb -> ../../bin/busybox │   │   ├── lzcat -> ../../bin/busybox │   │   ├── lzma -> ../../bin/busybox │   │   ├── lzopcat -> ../../bin/busybox │   │   ├── md5sum -> ../../bin/busybox │   │   ├── mesg -> ../../bin/busybox │   │   ├── microcom -> ../../bin/busybox │   │   ├── mkfifo -> ../../bin/busybox │   │   ├── mkpasswd -> ../../bin/busybox │   │   ├── nl -> ../../bin/busybox │   │   ├── nohup -> ../../bin/busybox │   │   ├── nproc -> ../../bin/busybox │   │   ├── nslookup -> ../../bin/busybox │   │   ├── od -> ../../bin/busybox │   │   ├── openvt -> ../../bin/busybox │   │   ├── passwd -> ../../bin/busybox │   │   ├── paste -> ../../bin/busybox │   │   ├── patch -> ../../bin/busybox │   │   ├── printf -> ../../bin/busybox │   │   ├── readlink -> ../../bin/busybox │   │   ├── realpath -> ../../bin/busybox │   │   ├── renice -> ../../bin/busybox │   │   ├── reset -> ../../bin/busybox │   │   ├── resize -> ../../bin/busybox │   │   ├── seq -> ../../bin/busybox │   │   ├── setfattr -> ../../bin/busybox │   │   ├── setkeycodes -> ../../bin/busybox │   │   ├── setsid -> ../../bin/busybox │   │   ├── sha1sum -> ../../bin/busybox │   │   ├── sha256sum -> ../../bin/busybox │   │   ├── sha3sum -> ../../bin/busybox │   │   ├── sha512sum -> ../../bin/busybox │   │   ├── shred -> ../../bin/busybox │   │   ├── sort -> ../../bin/busybox │   │   ├── strings -> ../../bin/busybox │   │   ├── svc -> ../../bin/busybox │   │   ├── svok -> ../../bin/busybox │   │   ├── tail -> ../../bin/busybox │   │   ├── tee -> ../../bin/busybox │   │   ├── telnet -> ../../bin/busybox │   │   ├── test -> ../../bin/busybox │   │   ├── tftp -> ../../bin/busybox │   │   ├── time -> ../../bin/busybox │   │   ├── top -> ../../bin/busybox │   │   ├── tr -> ../../bin/busybox │   │   ├── traceroute -> ../../bin/busybox │   │   ├── tree -> ../../bin/busybox │   │   ├── truncate -> ../../bin/busybox │   │   ├── ts -> ../../bin/busybox │   │   ├── tsort -> ../../bin/busybox │   │   ├── tty -> ../../bin/busybox │   │   ├── uniq -> ../../bin/busybox │   │   ├── unix2dos -> ../../bin/busybox │   │   ├── unlink -> ../../bin/busybox │   │   ├── unlzma -> ../../bin/busybox │   │   ├── unlzop -> ../../bin/busybox │   │   ├── unxz -> ../../bin/busybox │   │   ├── unzip -> ../../bin/busybox │   │   ├── uptime -> ../../bin/busybox │   │   ├── uudecode -> ../../bin/busybox │   │   ├── uuencode -> ../../bin/busybox │   │   ├── vlock -> ../../bin/busybox │   │   ├── w -> ../../bin/busybox │   │   ├── wc -> ../../bin/busybox │   │   ├── wget -> ../../bin/busybox │   │   ├── which -> ../../bin/busybox │   │   ├── who -> ../../bin/busybox │   │   ├── whoami -> ../../bin/busybox │   │   ├── xargs -> ../../bin/busybox │   │   ├── xxd -> ../../bin/busybox │   │   ├── xz -> ../../bin/busybox │   │   ├── xzcat -> ../../bin/busybox │   │   └── yes -> ../../bin/busybox │   ├── lib │   │   └── os-release │   ├── lib32 -> lib │   ├── sbin │   │   ├── addgroup -> ../../bin/busybox │   │   ├── adduser -> ../../bin/busybox │   │   ├── arping -> ../../bin/busybox │   │   ├── chroot -> ../../bin/busybox │   │   ├── crond -> ../../bin/busybox │   │   ├── delgroup -> ../../bin/busybox │   │   ├── deluser -> ../../bin/busybox │   │   ├── dnsd -> ../../bin/busybox │   │   ├── ether-wake -> ../../bin/busybox │   │   ├── fbset -> ../../bin/busybox │   │   ├── fdformat -> ../../bin/busybox │   │   ├── fsfreeze -> ../../bin/busybox │   │   ├── i2cdetect -> ../../bin/busybox │   │   ├── i2cdump -> ../../bin/busybox │   │   ├── i2cget -> ../../bin/busybox │   │   ├── i2cset -> ../../bin/busybox │   │   ├── i2ctransfer -> ../../bin/busybox │   │   ├── inetd -> ../../bin/busybox │   │   ├── killall5 -> ../../bin/busybox │   │   ├── loadfont -> ../../bin/busybox │   │   ├── mim -> ../../bin/busybox │   │   ├── nologin -> ../../bin/busybox │   │   ├── partprobe -> ../../bin/busybox │   │   ├── rdate -> ../../bin/busybox │   │   ├── readprofile -> ../../bin/busybox │   │   ├── seedrng -> ../../bin/busybox │   │   ├── setlogcons -> ../../bin/busybox │   │   └── ubirename -> ../../bin/busybox │   └── share │   └── udhcpc │   ├── default.script │   └── default.script.d └── var ├── cache -> ../tmp ├── lib │   └── misc -> ../../tmp ├── lock -> ../run/lock ├── log -> ../tmp ├── run -> ../run ├── spool -> ../tmp ├── tmp -> ../tmp └── www

is that correct? And what should I do next? Thanks!

trabucayre commented 8 months ago

You have to use the rootfs.cpio

BobMa0420 commented 8 months ago

You have to use the rootfs.cpio

Thank you so much! But could you please give more details about it? Thank you so much!

TPLuG9527 commented 8 months ago

coremark seems present as buildroot's package (coremark). So the best way is to use make menuconfig in buildroot root directory to select this package:

Target packages  --->
    Debugging, profiling and benchmark  --->
        [*] coremark

Followed by make. And your new image must contain executable

I use make at /home/bobma/python-litex/buildroot and there is an error: package/Makefile.in:61: No C library enabled, this is not possible.. Stop. make: [Makefile:82: _all] Error 2

i input the same command at the same place but it comese errors: mkdir -p /home/chhooo/FPGA/buildroot/output/build/buildroot-config/lxdialog PKG_CONFIG_PATH="" make CC="/usr/bin/gcc" HOSTCC="/usr/bin/gcc" \ obj=/home/chhooo/FPGA/buildroot/output/build/buildroot-config -C support/kconfig -f Makefile.br qconf *

do u know how to solv it

Variety0820 commented 8 months ago

Hello, I am also conducting coremark testing and have obtained the rootfs.cpio file after the same operation. Do you know what kind of operation to continue after obtaining the rootfs.cpio file?