linux - USB 上的可移植 GCC

标签 linux gcc usb portability

是否可以构建 GCC 以在 USB 内存棒上运行?我希望在一些没有互联网访问或 GCC 的系统上运行一些 HDD 基准测试,例如 bonnie++,它需要 GCC。该操作系统是 Linux 的精简版本,并且操作系统驱动器容量受到严格限制,因此无法直接在其上安装任何内容。

以下是我迄今为止已采取的步骤。我已一步步遵循这些说明: http://www.wikihow.com/Manually-Build-GNU-Compiler-Collection-from-Scratch-on-Linux-Mint-Static-Edition 我已经得到了正确构建的所有内容并复制到 USB 内存棒上。我将棒连接到所需的系统,安装它,并将 gcc 目录添加到路径中。但是,当我尝试运行诸如 gcc -v 之类的东西时,我收到 gcc command not found 错误。我是否错过了一个步骤,或者我试图做的事情是不可能的?

更新

我能够将 Ubuntu 12.04 和 bonnie++ 放到闪存驱动器上。我将它插入我想要测试的系统并启动到 Ubuntu。从那里我可以运行 bonnie++: bonnie++ -d/tmp/foo -r $(free -m | grep 'Mem:' | awk '{print $2}') -u root:root 但在测试过程中我收到以下错误 Writing smartly...Can't write block.: No space left on device。考虑到我正在测试的系统在 raid 6 中有 12 个 1TB 驱动器,我相信 bonnie++ 正在 USB 内存棒的文件系统而不是 raid 配置上的驱动器上执行测试。有人对我如何从可启动 USB 写入 raid 驱动器有任何建议吗?

关于@roy_longbottom的建议,我仍在研究它作为一种选择。我也遇到过stress linux这是一个最小的实时发行版,配备了 bonnie++ 以及许多其他基准测试和硬件压力测试实用程序。对于那些有经验的人来说,从stresslinux 运行bonnie++ 会遇到同样的问题吗?

最佳答案

我从未听说过 Bonnie++,但我下载了 tar.gz 文件。我的 Linux Ubuntu 下无法识别该格式,但我通过 Windows 解压了它。它包含 40 多个项目,没有执行文件。

然后我发现我可以在 Ubuntu 下使用“sudo apt-get install bonnie++”安装 bonnie++ 执行文件(和其他项目)。它安装了文件(天知道在哪里),但我尝试运行它。该程序启动并指示写入文件,然后是第二批,这花费了太长时间,所以我在五分钟后终止了该程序。似乎有很多运行时命令可以使用,但我没有一周的时间来研究它们。看起来 bonnie++ 最初是为了测试诸如 Sun 数据库系统而设计的,我认为它对于 Linux 的精简版本来说太复杂了。

您可能对我的 DriveSpeed 基准测试(免费)感兴趣。有适用于 Linux 的 32 位和 64 位版本,一种适用于 Windows 的版本,以及通过 Linux 和 Android 提供的针对 ARM CPU 的精简版本。在我的网站上阅读更多内容,并提供以下下载链接(无广告):

 http://www.roylongbottom.org.uk/linux_disk_usb_lan_benchmarks.htm 
 http://www.roylongbottom.org.uk/Raspberry%20Pi%20Benchmarks.htm#anchor20
 http://www.roylongbottom.org.uk/android%20benchmarks.htm#anchor17

Linux 输出日志文件示例:

     Current Directory Path: 
     /media/f816ec76-8bf2-4dd3-9e98-62934909a779/roy/all64/drivespeed2
     Total MB   11263, Free MB    9513, Used MB    1750

     Linux Storage Speed Test 64-Bit Version 1.1, Tue Feb  1 14:20:39 2011

                    Copyright (C) Roy Longbottom 2011

         8 MB File         1          2          3          4          5
     Writing MB/sec       4.33      76.73      76.15      82.40     105.84
     Reading MB/sec      57.37      86.62      83.40      80.74      82.34

        16 MB File         1          2          3          4          5
     Writing MB/sec      73.94     108.16      72.53     116.19     116.12
     Reading MB/sec      70.39     103.31     120.31     121.53     121.48

        32 MB File         1          2          3          4          5
     Writing MB/sec     113.01      76.67      73.20     115.83     116.05
     Reading MB/sec     105.19     102.41     113.15     121.55     120.59

     ---------------------------------------------------------------------
     8 MB Cached File      1          2          3          4          5
     Writing MB/sec    1271.71    1503.73    1496.38    1493.27    1491.68
     Reading MB/sec    3406.70    4015.11    4079.82    4081.24    4080.77

     ---------------------------------------------------------------------
     Bus Speed Block KB     64        128        256        512       1024
     Reading MB/sec      84.93     102.31     112.31     121.03     116.41

     ---------------------------------------------------------------------
     1 KB Reads File MB >    2      4      8     16     32     64    128
     Random Read msecs    0.43   0.39   0.45   3.01   4.49   5.93   6.69

     ---------------------------------------------------------------------
     500 Files   Write             Read             Delete
     File KB     MB/sec  ms/File   MB/sec  ms/File  Seconds
           2       7.54     0.27     7.67     0.27    0.015
           4      17.19     0.24    22.27     0.18    0.018
           8      20.24     0.40    27.21     0.30    0.017
          16      33.27     0.49    47.16     0.35    0.019
          32      52.67     0.62    67.20     0.49    0.016
          64      55.43     1.18    75.49     0.87    0.015

                  End of test Tue Feb  1 14:21:29 2011

关于linux - USB 上的可移植 GCC,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25331550/

相关文章:

linux - 用于启动 Chromium 的 Bash 脚本,休眠 20 秒,然后安静地关闭

c - gcc 在指定路径中链接共享库,但不在标准路径中

c++ - 使用 CUDA 和 C++11 时出错

linux - 为什么我需要将第二个文件写入 golang 中的 pos 打印机才能输出?

linux - bash ubuntu linux 中的脚本程序输入

linux - 如何为 Raspberry Pi Zero W 交叉编译 Rust 代码

usb - 硬件复位后的 stm32 USB-CDC

android 获取 usb_interface_descriptor, usb_endpoint_descriptor

linux - 用于存储文件的 Ubuntu 目录

c - 线程局部变量和内联汇编