raspberry pi

您是否有旧的Raspberry Pi散布着灰尘,也许是在最近的Pi升级之后? 您对BSD Unix感到好奇吗? 如果您对这两个问题都回答“是”,您将很高兴知道第一个是第二个问题的解决方案,因为您可以在Raspberry Pi上运行NetBSD ,最早的版本可以追溯到第一个版本。

BSD是Unix的Berkley软件发行版。 实际上,它是唯一可以直接返回贝尔实验室的Dennis Ritchie和Ken Thompson编写的原始源代码的开源Unix。 其他现代版本是专有的(例如AIX和Solaris)或巧妙的重新实现(例如Minix和GNU / Linux)。 如果您已经习惯了Linux,那么使用BSD会让您感到宾至如归,但是有许多新的命令和约定可以发现。 如果您还不熟悉开源,那么尝试BSD是体验传统Unix的好方法。

POSIX世界。

下载NetBSD

BSD有不同的版本。 NetBSD因其轻巧和多功能而享誉全球(其网站标有“当然,它运行NetBSD”的标语)。 自原始版本以来,它为Raspberry Pi的每个版本提供了最新版本的OS映像。 要为Pi下载一个版本,必须首先确定Pi使用哪种ARM体系结构变体 。 有关此问题的一些信息可从NetBSD站点上获得,但要获得全面的概述,还可以参考RPi硬件历史记录 。

据我所知,我在本文中使用的Pi是Raspberry Pi Model B Rev 2.0(具有两个USB端口,没有安装Kong)。 根据Raspberry Pi FAQ的说法,这意味着该体系结构是ARMv6,在NetBSD的体系结构表示法中转换为earmv6hf

如果您不确定拥有哪种Pi,最好的消息是只有两个Pi映像,因此首先尝试earmv7hf否则,请执行以下步骤 。 如果不起作用,请退回到earmv6hf

为了最简单,最快的安装,请使用二进制映像而不是安装程序。 使用映像是将操作系统安装到Pi上的最常见方法:将映像复制到SD卡并启动。 不需要安装,因为该映像是操作系统的常规安装,您已将其一点一点地复制到Pi用作引导驱动器的介质上。

映像文件位于NetBSD安装介质服务器的二进制> gzimg目录中,您可以从NetBSD.org的首页访问该目录。 该图像是rpi.img.gz (压缩的.img文件)。 将其下载到硬盘。

下载完整个图像后,将其解压缩。 如果您正在运行Linux,BSD或MacOS,则可以使用gunzip命令:

 $ gunzip ~/Downloads/rpi.img.gz 

如果您使用的是Windows,则可以安装开源的7-Zip存档实用程序。

将图片复制到SD卡

图像文件解压缩后,必须将其复制到Pi的SD卡中。 有两种方法可以执行此操作,因此请使用最适合您的一种方法。

1.使用蚀刻机

Etcher是一个跨平台应用程序,专门用于将OS映像复制到USB驱动器和SD卡。 从Etcher.io下载它并启动它。

在Etcher界面中,选择硬盘驱动器上的图像文件和要刷新的SD卡,然后单击“ Flash”按钮。

而已。

2.使用dd命令

在Linux,BSD或MacOS上,可以使用dd命令将映像复制到SD卡。

  1. 首先,将SD卡插入读卡器。 不要将卡安装到系统上,因为dd需要断开设备才能将数据复制到其上。
  2. 运行dmesg | 尾部以查找未安装卡的位置。 在MacOS上,使用diskutil list
  3. 将映像文件复制到SD卡:
     $ sudo dd if=~/Downloads/rpi.img of=/dev/mmcblk0 bs=2M status=progress  

    在执行此操作之前, 必须确保您具有正确的SD卡位置。 如果将映像文件复制到不正确的设备,则可能会丢失数据。 如果您对此不确定,请改用Etcher!

dd或Etcher将图像写入SD卡后,请将其放入Pi并打开电源。

第一次启动

NetBSD第一次启动时,会检测到SD卡的文件系统没有占用所有可用空间,并相应地调整了文件系统的大小。

完成后,Pi会重新启动并显示登录提示。 使用root作为用户名登录到NetBSD系统。 不需要密码。

设置用户帐号

首先,为root用户设置密码:

 # passwd 

然后使用-m选项为您自己创建一个用户帐户,以提示NetBSD创建主目录,并使用-G wheel选项将您的帐户添加到wheel组,以便您可以根据需要成为管理用户(root):

 # useradd -m -G wheel seth 

再次使用passwd命令为您的用户帐户设置密码:

 # passwd seth 

注销,然后使用新的凭据重新登录。

将软件添加到NetBSD

如果您曾经使用过Pi,则可能知道向系统中添加更多软件的方法是使用aptdnf之类的特殊命令(取决于您是在Pi上运行Raspbian还是FedBerry )。 在NetBSD上,使用pkg_add命令。 但是,在命令知道从何处获取要安装的软件包之前,需要进行一些设置。

在NetBSD的服务器上,已经有使用计划< ftp://ftp.netbsd.org/pub/pkgsrc/packages/NetBSD/ [PORT] / [VERSION] / All>的现成(预编译)软件包。 将PORT替换为您使用的体系结构earmv6hfearmv7hf 。 将VERSION替换为您正在使用的NetBSD版本; 在撰写本文时,它是8.0

将此值放在一个名为/etc/pkg_install.conf的文件中。 由于这是用户文件夹之外的系统文件,因此必须调用root特权才能创建它:

$ su -
<password>
# echo "PKG_PATH=ftp://ftp.NetBSD.org/pub/pkgsrc/packages/NetBSD/earmv6hf/8.0/All/" >> /etc/pkg_install.conf

现在,您可以从NetBSD软件发行版中安装软件包。 最好的首选是Bash,它通常是Linux(和Mac)系统上的默认外壳。 另外,如果您还不是Vi文本编辑器的用户,那么您可能想尝试一些更直观的方法,例如Jove或Nano :

# pkg_add -v bash jove nano
# exit
$

与许多Linux发行版( Slackware是一个明显的例外)不同,NetBSD代表您进行的配置很少,这被认为是一项功能。 因此,要使用Bash,Jove或Nano作为默认工具集,必须自己设置配置。

您可以使用环境变量动态设置许多首选项,环境变量是整个系统可以访问的特殊变量。 例如,Unix中的大多数应用程序都知道,如果设置了VISUALEDITOR变量,则应将这些变量的值用作默认的文本编辑器。 您可以为当前登录会话临时设置这两个变量:

$ export EDITOR=nano
# export VISUAL=nano

或者,您可以通过将它们添加到默认的NetBSD .profile文件中来使它们永久化:

 $ sed -i 's/EDITOR=vi/EDITOR=nano/' ~/.profile 

加载新设置:

 $ . ~/.profile 

要将Bash设置为默认外壳,请使用chsh (更改外壳)命令,该命令现在将加载到您的首选编辑器中。 但是,在运行chsh之前,请确保您知道Bash的位置:

$ which bash
/usr/pkg/bin/bash

chsh条目中的shell值设置为/ usr / pkg / bin / bash ,然后保存文档。

添加须藤

pkg_add命令是特权命令,这意味着要使用它,必须使用su命令成为root用户。 如果愿意,还可以设置sudo命令,该命令允许某些用户使用自己的密码来执行管理任务。

首先,安装它:

 # pkg_add -v sudo 

然后使用visudo命令编辑其配置文件。 您必须使用visudo命令来编辑sudo配置,并且它必须以root用户身份运行:

$ su
# SUDO_EDITOR=nano visudo

进入编辑器后,找到允许wheel组成员执行任何命令的行,并取消注释(通过从行的开头删除 ):

## Uncomment to allow members of group wheel to execute any command
%wheel ALL=(ALL) ALL

按照Nano底部菜单面板中的说明保存文档,然后退出root外壳。

现在,您可以将sudo使用pkg_add而不是成为root用户:

 $ sudo pkg_add -v fluxbox 

净收益

NetBSD是功能齐全的Unix操作系统,现在您已经在Pi上安装了它,现在您可以探索每个角落。 它恰好是一个非常轻巧的操作系统,因此即使是具有700mHz处理器和256MB RAM的旧Pi也可以轻松运行。 如果这篇文章激发了您的兴趣,并且您有一个旧的Pi坐在抽屉中的某个地方,请尝试一下!

翻译自: https://opensource.com/article/19/3/netbsd-raspberry-pi

raspberry pi

raspberry pi_如何在Raspberry Pi上使用NetBSD相关推荐

  1. raspberry pi_如何在Raspberry Pi上使用LÖVE游戏引擎对游戏进行编程

    raspberry pi Raspberry Pi以向孩子介绍开源软件和编程而闻名. Pi是负担得起的,实用的专业级计算入门,伪装成可破解的乐趣. Mitch Resnick's Scratch (最 ...

  2. raspberry pi_如何在Raspberry Pi上创建盒装Internet

    raspberry pi 如果您是家庭学校的父母或预算有限的老师,那么框选式Internet可能正是您想要的. 它的硬件要求非常适中(Raspberry Pi 3.64GB microSD卡和电源), ...

  3. raspberry pi_如何使用Raspberry Pi构建WiFi相框

    raspberry pi 数码相框非常好,因为它们可以让您欣赏照片而不必打印出来. 此外,添加和删除数字文件比打开传统框架并在要显示新照片时在内部交换图片要容易得多. 即便如此,从数码相框中取出SD卡 ...

  4. raspberry pi_如何使用Raspberry Pi测量颗粒物

    raspberry pi 我们在东南亚的学校定期测量空气中的颗粒物. 这里的值非常高,尤其是在2月到5月之间,那时天气非常干燥和炎热,许多田野都燃烧着. 这些因素会对空气质量产生负面影响. 在本文中, ...

  5. raspberry pi_如何使用Raspberry Pi设置个人Web服务器

    raspberry pi 个人Web服务器是"云",除了您拥有并控制它而不是大型公司. 拥有一点云有很多好处,包括自定义,免费存储,免费Internet服务,通向开源软件的路径,高 ...

  6. raspberry pi_书评:“ Raspberry Pi for Secret Agents”的使用效果不佳

    raspberry pi 许多父母在Opensource.com上看到我女儿的文章,并经常问我:"您是如何使您的女儿开始使用Raspberry Pi的 ?" 一切都从Raspber ...

  7. raspberry pi_尝试使用Raspberry Pi Sense HAT

    raspberry pi Opensource.com团队对Raspberry Pi Sense HAT十分着迷, Raspberry Pi Sense HAT是Raspberry Pi的低成本附件, ...

  8. raspberry pi_如何制作Raspberry Pi游戏手柄

    raspberry pi 我不时地怀念80年代末和90年代孩童时期玩的电子游戏. 尽管我的大多数旧计算机和游戏机已不复存在,但我的Raspberry Pi可以完成我的复古游戏修复. 我喜欢Raspbi ...

  9. raspberry pi_如何购买Raspberry Pi

    raspberry pi 本系列中有关Raspberry Pi入门的第一篇文章就应该购买哪种型号提供了一些建议. 现在您已经有了所需的版本,让我们了解如何获得一个版本. 最明显(可能也是最安全和最简单 ...

最新文章

  1. 写了个Linux包过滤防火墙
  2. UNIX再学习 -- exit 和 wait 系列函数
  3. jquery queue ajax,如何通过jQuery和Queue发送ajax请求?
  4. PL/SQL经典练习
  5. 1.关于python
  6. 华强北三代悦虎1562A怎么样?
  7. 必须掌握的Python技巧(二)
  8. 液压支架销轴力学计算分析研究_技术 | 篦冷机液压管路问题分析及改造措施
  9. 马斯克再谈“AI威胁论”,吴恩达也看不下去了
  10. 终结者:详述Log4j配置文件中代码的含义
  11. C# winfrom gridview全部选择和全部取消
  12. 基于强化学习的综合能源系统管理综述-笔记
  13. 如何使用离线网站,打开离线网站
  14. Java删除服务器上的文件
  15. matlab去高斯噪声,[转]MATLAB信号中高斯噪声
  16. 移动端 Retina屏 各大主流网站1px的解决方案
  17. 宽带连接720错误代码解决办法
  18. html背景图片溢出,如何清除背景图片溢出?
  19. 【Alpha】Scrum Meeting 5
  20. POSIX是什么?解决了什么问题?

热门文章

  1. 实验计算机桌面的系统图标,win10系统电脑桌面的图标移动不了的解决步骤
  2. javascript实现简单下雨效果
  3. 统计模式识别的原理与方法
  4. canal网络添加黑洞路由
  5. 盛天网络获44家机构调研:未来公司电竞场景收入不会低于网吧时代
  6. Cisco 交换机修改密码
  7. RocketMQ常用命令使用示例及说明
  8. 回归、分类问题中激活函数、误差函数选择解释
  9. 基于Qt5模拟企业微信聊天界面(QWidget)
  10. 基于git和svn的开源代码托管平台