已盼春来归 已盼春来归 今日去 愿为春来归 盼归
春天来了 FreeBSD 的春天在哪里?

  树莓派是什么,相信凡是关注了我们的人都不会不知道,但是介于非专业人员需要在此做简要介绍。我们的安卓手机,大部分的 ARM 芯片的,即使歌曲《华为美》所谓的“中国芯”也是来源于 ARM 的专利授权,没了授权,什么芯也不是。

  而树莓派就是一块使用 ARM 芯片的开发板,就是一块接口丰富( HDMI 、I2C 、USB X 4 、POE 模块等等)的电路板,相当于配置较低的手机,手机能做的事情,树莓派都能做。一般用于嵌入式开发,比如机器人,路由器和监控等等。

   FreeBSD 对架构的支持是按照等级划分的,ARM 属于二级架构,所以软件支持上不如 AMD64,一些软件无法通过 ports 以源码的形式进行编译,比如编译 X11/xorg 就会遇到很多错误(已经报告 bug 列表)。

  树莓派 3B+是目前配置比较高的型号,由于 FreeBSD 的 SDIO 驱动并未完全支持,所以板载的蓝牙和 WIFI 均无法使用(可购买无线网卡,推荐 16 块钱的 COMFAST CF-WU810N )。

  自树莓派 3B+开始,无需任何改动,系统即可从 U 盘启动,我测试了 FreeBSD12/13 都是支持的,但是速度非常慢,一方面树莓派使用 USB2.0 极大的限制的总线速度,另一方面可能是玄学问题。(我人丑?我用的是东芝( TOSHIBA ) 64GB USB3.0 U 盘 U364 高速迷你车载 U 盘).

  因此不建议使用 U 盘启动,慢的我要打年年猫,年年猫是谁?是一只调皮的狸花猫而已。

  我们所有要准备的有树莓派 3B+板子一块,网线一段,存储卡一枚。从华为云镜像站(速度较快)下载适用于树莓派 3B+的镜像,12 和 13 我用起来感觉都一样,不过 13 的 LLVM 版本太新,很多软件编译不过去,所以还是用 12 的吧。

https://mirrors.huaweicloud.com/freebsd/snapshots/ISO-IMAGES/13.0/FreeBSD-13.0-CURRENT-arm64-aarch64-RPI3-20200116-r356767.img.xz  (该链接不是固定的找不到就去 https://mirrors.huaweicloud.com/freebsd/snapshots/ISO-IMAGES/13.0 )
  下载后解压缩。使用 rufus 刻录。插入网线,将存储卡插入树莓派,通电等待约五分钟,查看路由器后台获取 IP 。

  使用 XShell 即可登录树莓派。用户名密码均为 freebsd 。root 需要登录后输入 su,密码为 root 。可通过更改

  /etc/ssh/sshd_config

  文件来开启 root 账户的 ssh 远程登录权限。

  方法:

  编辑 /etc/sh/sshd_config (注意是 sshd 不是 ssh !这是两个文件),修改或者加入

  PermitRootLogin yes #允许 root 登录

  PasswordAuthentication yes # 设置是否使用口令验证。

  (也可以把对应行前面的注释#去掉,注意 PermitRootLogin 一行默认是 no,去掉后要改成 yes 。即 PermitRootLogin yes )。

  然后重启服务:

  server sshd restart

  然后就是时间设置问题,树莓派没有板载的纽扣电池确保 CMOS 时钟准确。所以完全依靠 NTP 服务来校正时间,如果时间不准确,将影响很多服务的运行,比如无法执行 portsnap fetch 命令。

  方法很简单:

  在 /etc/rc.conf 中加入

  ntpd_enable="YES"

  ntpdate_enable="YES"

  ntpdate_program="ntpdate"

  ntpdate_flags="0.cn.pool.ntp.org"

  然后开启时间服务器:

  server ntpdate start

  输入 date 查看时间,完成校时。我国使用 UTC+8 北京时,虽然不更改不会影响软件使用,但看起来不方便,可通过 bsdconfig 命令将地区调整到亚洲 /中国 /上海。

  树莓派应该会自动接通互联网,所以不必考虑联网问题。

  如果你购买了上述无线网卡,想实现开机自动连接 wifi 的功能,那也非常简单。

  方法:

  /boot/loader.conf

  中写入

  rtwn_usb_load="YES"

  legal.realtek.license_ack=1

  在 /etc/rc.conf 中写入

  wlans_rtwn0="wlan0"

  ifconfig_wlan0="WPA DHCP"

  注意在 /etc/wpa_supplicant.conf 文件中(没有就自己通 touch 命令新建一个)写入

  network={ ssid="wifi 名字,别搞什么中文" psk="密码" }

  保存重启即可。能够实现开机自动连接 wifi 。

  安装 GUI 更简单,pkg install xorg mate 即可。可使用 VNC 或者 XRDP 服务。都很简单不再赘述。

  默认 HDMI 是可以直接输出的无需调整,对于一般 linux 所使用的参数,freebsd 也同样支持,比如超频。文件位置,改动也相同,不再赘述。

  总的来说树莓派 3B+的配置还是太差了,尤其是处理器和 USB2.0 以及内存方面,期待树莓派 4 以及 FreeBSD SDIO 驱动的早日出现。慈悲!

  雁南飞这首歌使我想起了小学的一篇课文《燕子专列》:瑞士有一年由于气温骤降大雁来不及南飞,人们在号召下使用列车将燕子送往温暖故乡的故事。吾乡何处呢?

  我闻到点燃木头的味道总是想起一些事情,究竟是什么我不知道,只是痕迹越来越淡了。

  对于树莓派 3b+/4 来说,目前除了没有 WIFI,其余均正常使用。
  QQ 交流群 817507910

树莓派 3/4 安装 FreeBSD的更多相关文章

  1. [软件开发技巧]·树莓派极简安装OpenCv

    树莓派极简安装OpenCv 个人主页–> https://xiaosongshine.github.io/ 因为最近在开发使用树莓派+usb摄像头识别模块,打算用OpenCv,发现网上的树莓派O ...

  2. 树莓派3 之 安装Mysql服务

    需求 在树莓派上 安装Mysql 服务,并开启远程访问 步骤 安装 mysql server $ sudo apt-get install mysql-server 我以为中间会让我提示输入 数据库r ...

  3. 在树莓派2上安装 Windows 10

    微软在2015年4月29日发布了树莓派玩家期待已久的 Windows 10 物联网核心预览版(Windows 10 IoT Core Insider Preview Image for Raspber ...

  4. 在树莓派3B上安装node.js

    本文主讲如何在树莓派3B上安装node.js 环境描述1. 树莓派安装了`2016-11-25-raspbian-jessie-lite`(PS:在此版本的镜像中,默认禁用了ssh,在烧录好镜像之后, ...

  5. ubuntu下virtualbox安装freebsd及初步配置

    最近尝试了在虚拟机中安装freebsd并进行尝试性的使用 获取镜像 在freebsd的官网,https://www.freebsd.org,即可看到 "Download Freebsd&qu ...

  6. arm树莓派Raspbian 下安装selenium+chrome

    arm树莓派Raspbian 下安装selenium+chrome 安装selenium pip3 install selenium 安装chromedriver sudo apt-get insta ...

  7. 树莓派上编译安装python3.6

    1.更新树莓派系统 sudo apt-get update sudo apt-get upgrade -y 2.安装python依赖环境 sudo apt-get install build-esse ...

  8. Raspberry Pi(树莓派)上安装Raspbian(无路由器,无显示器)

    一. 准备工作 1. 树莓派主板 型号:树莓派3 B型 处理器:四核64位ARM Cortex-A53 CPU 内核架构:ARMv8 2. 一张大于8G的TF卡(本人用的是32G的,也作为PiLFS用 ...

  9. 在树莓派Raspbian下安装支持Hard Float的.NET环境

    [题外话] 最近入了个树莓派玩,系统装的官方推荐的Hard Float的Raspbian,由于衍生自Debian,所以Mono什么的非常好装.但是官方源中的Mono在Hard Float的Raspbi ...

随机推荐

  1. Python_小程序(云开发)

    一.云开发API初始化 wx.cloud.init({ env:'test-x1dzi', //环境ID traceUser:true //是否在控制台查看用户信息 }) 二.云开发API初始化-服务 ...

  2. 如何创建一个GETH节点(单节点,windows环境)

    所有命令都是在powershell上执行的 1.创建"创世块" 初始化配置 创建一个 hdgenesis.json文件,拷贝到geth根目录 {    "config&q ...

  3. Cron表达式在 定时执行专家 5.0 中的使用方式

    在<定时执行专家 V5.0>程序内部使用了包含 6 位的 Cron表达式,第一个字段(second)没有使用.程序内部一直 second 位是 0.在 Cron表达式的界面上可以设置 5位 ...

  4. JS编程练习:封装insertAfter函数(功能类似于系统insertBefor)

    那么insertAfter()要实现的功能: 在指定的子节点后面插入新的子节点: 1 <body> 2 <div> 3 <p></p> 4 <sp ...

  5. Java开发工程师最新面试题库系列——集合部分(附答案)

    集合 如果你有更好的想法请在评论区留下您的答案,一起交流讨论 说说常见的集合有哪些? 答:主要分List.Set.Map.Queue四类,其中包含ArrayList.LinkedList.HashSe ...

  6. Array.fill & array padding

    Array.fill & array padding arr.fill(value[, start[, end]]) https://developer.mozilla.org/en-US/d ...

  7. how to read the system information by using the node cli tool?

    how to read the system information by using the node cli tool? node cli & get system info demos ...

  8. modal 遮罩层,滚动穿透 bug

    modal 遮罩层,滚动 穿透bug float 弹层 taro 小程序弹框 滚动击穿 问题 https://segmentfault.com/q/1010000011134345 solution ...

  9. Flutter 创建透明的路由页面

    原文 import 'package:flutter/material.dart'; void main() => runApp(MyApp()); class MyApp extends St ...

  10. js字典

    传送门https://www.2cto.com/kf/201709/680989.html 点击