Raspberry-Pi-config

Raspberry-config

关于树莓派安装、配置、使用等的技巧、工具
About the skills and toolkits of installing, configuring raspbian and handbook for raspberry

  1. 开箱
  2. Install
  3. update
    1. 固件更新
      1. 还原到稳定版本的方法
    2. EEPROM Boot Loader更新
    3. 内核编译
  4. boot
    1. 参见boot目录下README.md
    2. u盘启动
  5. os/操作系统
    1. 安装respbian.docx
    2. kali in raspberry pi
    3. Raspbian 操作系统
    4. raspberrypi/linux
    5. Windows 10 IoT 系统
  6. 设置
  7. 树莓派 GPIO 控制
  8. Raspberry Pi Connect:树莓派远程桌面解决方案
  9. toolkit
    1. [树莓派通过网线直连笔记本电脑共享上网 .docx](/Raspberry-Pi-config/%E6%A0%91%E8%8E%93%E6%B4%BE%E9%80%9A%E8%BF%87%E7%BD%91%E7%BA%BF%E7%9B%B4%E8%BF%9E%E7%AC%94%E8%AE%B0%E6%9C%AC%E7%94%B5%E8%84%91%E5%85%B1%E4%BA%AB%E4%B8%8A%E7%BD%91%20.docx)
  10. 树莓派常用命令集合
  11. Tutorial list
  12. 硬件
  13. 集群/cluster
  14. 软件
    1. Python
  15. 服务器管理
  16. 有趣改造和扩展应用
  17. References
  18. Recommendation
  19. News
    1. 树莓派 5 评测:Maker 们的新宠
    2. 树莓派 5 发布,新特性细节公布
    3. 树莓派 4 代
    4. 树莓派 4 代发布
    5. 树莓派 4 硬件配置
    6. 树莓派官方宣传片
    7. 树莓派有什么作用和用途?
  20. License 许可证 \& Copyright

开箱

电源

显示器

Install

现在树莓派提供全新的一键式安装方法:imager 大大简化了开发人员的操作,提高了安装效率,降低了安装难度。more…

update

getconf LONG_BIT        # 查看系统位数
uname -a            # kernel 版本
/opt/vc/bin/vcgencmd  version   # firmware版本
strings /boot/start.elf  |  grep VC_BUILD_ID    # firmware版本
cat /proc/version       # kernel
cat /etc/os-release     # OS版本资讯
cat /etc/issue          # Linux distro 版本
cat /etc/debian_version     # Debian版本编号

固件更新

rpi-update 是树莓派官方系统上的命令,用于将 Raspberry Pi OS 的内核和 VideoCore 固件更新到最新的预发布版本。

注意:软件的预发布版本不保证能够工作。除非树莓派工程师建议,否则不要在任何系统上使用 rpi-update 命令。它可能会使你的系统不可靠,甚至完全崩溃。它不应作为任何常规更新过程的命令。

使用 rpi-update 将下载 linux 内核的最新预发布版本、其匹配模块、设备树文件以及最新版本的 VideoCore 固件。然后,它会将这些文件安装到 SD 卡上的相关位置,覆盖任何以前的版本。

rpi-update 使用的所有源数据都来自 rpi-firmware repository。该仓库仅包含来自官方固件存储库的数据子集,因为并不需要来自该存储库的所有数据。

sudo rpi-update
sudo reboot

还原到稳定版本的方法

如果您已经执行完过 rpi-update 命令,但事情并不像你所希望的那样工作,如果你的树莓派仍然可以上电后正确进入引导程序,那么你可以使用以下命令返回到稳定版本:

sudo apt-get update
sudo apt install --reinstall libraspberrypi0 libraspberrypi-{bin,dev,doc} raspberrypi-bootloader raspberrypi-kernel
sudo reboot

EEPROM Boot Loader更新

sudo apt-get install rpi-eeprom
sudo rpi-eeprom-update -a

内核编译

mkdir raspeberrypi_src
cd raspberrypi_src
git clone git://github.com/raspberrypi/firmware.git
git clone git://github.com/raspberrypi/linux.git
git clone git://github.com/raspberrypi/tools.git
cd raspberrypi_src
mkdir modules
cd linux
make modules_install INSTALL_MOD_PATH=../modules
- 升级 RPi 的 kernel、Firmware、lib
  - 升级内核,将新编好的内核拷入 SD 卡,改名为:kernel_new.img。打开 boot 目录下,找到config.txt文件,加入:kernel=kernel_new.img这一行。
  - 升级 boot,将firmware/boot/目录下文件拷入 SD 卡 boot 目录:fbootcode.bin fixup.dat fixup_cd.dat start.elf
  - 更新 vc 库及内核 modules,将编译出来的modules/lib/modules拷入树莓派文件系统/lib下

boot

参见boot目录下README.md

u盘启动

在树莓派3从u盘启动之前,需要从设置了使能usb boot mode的sd启动。该设置树莓派芯片上的OTP(一次性可编程内存),这将使得树莓派能够从usb设备启动。一旦设置了该选项,sd卡就不需要了。注意,OTP一旦做出任何改动,都不能复原。

你可以使用运行raspbian或者raspbian lite的sd卡来设置OTP,如果你还没有这样的sd卡,可按常规方式将系统烧入sd卡。 输入以下代码使能usb boot mode

echo program_usb_boot_mode=1 | sudo tee -a /boot/config.txt

这行代码将’program_usb_boot_mode=1’插入到/boot/cinfig.txt文件的末尾。使用sudo reboot命令重启树莓派后,用以下命令检查OTP设置:

$ vcgencmd otp_dump | grep 17:

17:3020000a

确保输出是’17:3020000a‘,如果输出不是这个,那就说明OTP没有设置成功。

之后,你可以在sd卡的config.txt末尾去掉program_usb_boot_mode=1这行代码,这样把这张sd用在其他树莓派上就不会设置OTP,注意,config.txt文件结尾不能有空行,你可以使用sudo nano /boot/config.txt命令使用nano 编辑器编辑config.txt文件。

os/操作系统

树莓派官方的操作系统是Raspberry Pi OS:

树莓派系统下载地址(Raspberry OS download URL)Download Page

  1. Raspberry Pi OS with desktop and recommended software

顾名思义,就是说带了图形化桌面系统和常用的推荐软件的版本,小白新手建议安装这个,免去后期单独安装软件的烦恼

  1. Raspberry Pi OS with desktop

和第一个版本相比,带了图形化桌面系统,但没有常用的推荐软件,如果你的SD卡比较小,或者进阶者希望自己定义安装哪些软件则可以选择这个版本,后面自行定制安装所需要的软件

  1. Raspberry Pi OS Lite

这个版本不带图形化桌面系统,则只有命令行界面(这才是真正的Linux OS的真面目:-),如果你不需要图形化界面,或者你的设备是Raspberry Pi zero(w,h)等硬件配置比较低(CPU慢,内存小,SD卡特别小)的推荐安装这个版本。

安装respbian.docx

kali in raspberry pi

  1. How to Install Kali Linux on Raspberry Pi? (Complete Guide)
  2. How to install Kali Linux on a USB for the RaspberryPi?

Raspbian 操作系统

树莓派官方提供了 Raspbian 操作系统,一款基于 Debian 优化修改而来的 Linux 发行版,也是最常用的一个版本,专为树莓派而生,通用性强。

Raspbian 系统

此外,你也能在官网下载到 Ubuntu 类或其他诸如专为播放高清电影而生的 OSMC、LibreELEC 等各种版本的系统,如下:

你几乎完全可以将树莓派 4 当做一台完整的台式电脑来使用,而得益于性能的大幅提升,本次升级后,树莓派的应用范围将会又得到了扩展。

raspberrypi/linux

raspberrypi/linux Kernel source tree for Raspberry Pi-provided kernel builds. Issues unrelated to the linux kernel should be posted on the community forum at https://forums.raspberrypi.com/

Windows 10 IoT 系统

除了 Linux 之外,微软也已经跟树莓派基金会达成合作以确保 Windows 10 可以适配树莓派新款产品,如今完美适配树莓派 2 / 3 代的 Windows 10 IoT core 物联网核心版系统已经「免费」提供给用户下载。截稿为止,4 代似乎还未适配。

Windows 10 IoT 树莓派

下载 Win10 IoT 物联网系统 for 树莓派

设置

KERNEL!="sd*", GOTO="media_by_label_auto_mount_end"
SUBSYSTEM!="block",GOTO="media_by_label_auto_mount_end"
IMPORT{program}="/sbin/blkid -o udev -p %N"
ENV{ID_FS_TYPE}=="", GOTO="media_by_label_auto_mount_end"
ENV{ID_FS_LABEL}!="", ENV{dir_name}="%E{ID_FS_LABEL}"
ENV{ID_FS_LABEL}=="", ENV{dir_name}="Untitled-%k"
ACTION=="add", ENV{mount_options}="relatime,sync"
ACTION=="add", ENV{ID_FS_TYPE}=="vfat", ENV{mount_options}="iocharset=utf8,umaskk=000"
ACTION=="add", ENV{ID_FS_TYPE}=="ntfs", ENV{mount_options}="iocharset=utf8,umaskk=000"
ACTION=="add", RUN+="/bin/mkdir -p /mnt/udisk/", RUN+="/bin/mount -o $env{mount__options} /dev/%k /mnt/udisk/"

ACTION=="remove", ENV{dir_name}!="", RUN+="/bin/umount -l /mnt/udisk/", RUN+="/bin/rmdir /mnt/udisk/"
LABEL="media_by_label_auto_mount_end"
location ~ .php$ {
 fastcgi_pass unix:/var/run/php5-fpm.sock;
 fastcgi_index index.php;
 include fastcgi_params;
}

树莓派 GPIO 控制

树莓派内核中已经编译自带了 gpio 的驱动,我们常通过一些第三方写好的库函数来完成具体的操作,比较常见的操作库函数有:

Raspberry Pi Connect:树莓派远程桌面解决方案

树莓派官方近期发布了 Raspberry Pi Connect 测试版:这是一种安全、易用的方法,只需使用网络浏览器,就能从地球上的任何地方远程访问你的树莓派。

toolkit

树莓派通过网线直连笔记本电脑共享上网 .docx

树莓派常用命令集合

 sudo apt-get update
 sudo apt-get upgrade
 sudo apt-get install vim
 cd /etc/apt/
 sudo vim /etc/apt/sources.list
 ping ustc.edu.cn
 sudo passwd
 reboot
 sudo reboot
 su root
 sudo passwd pi
 sudo apt-get install python-pip
 sudo apt-get install fuse-utils ntfs-3g
 modprobe fuse
 sudo modprobe fuse
 sudo vim /etc/fstab
 sudo apt-get install exfat-fuse
 sudo pip install bpython
 sudo apt-get install python-dev
 sudo pip install ipython
 sudo apt-get install nmap
 sudo pip install ipython
 sudo pip install bpython
 sudo pip install virtualenv
 df
 df -lh
 fdisk -l
 sudo fdisk -l
 df -h
 sudo fdisk /dev/mmcblk0
 sudo reboot
 sudo resize2fs /dev/mmcblk0p2
 sudo apt-get install -y dnsmasq
 sudo vim /etc/dnsmasq.conf
 sudo service dnsmasq restart
 dig
 sudo apt-get install dnsutils
 ls
 dig www.baidu.com
 sudo vim /etc/dnsmasq.conf
 sudo service dnsmasq restart
 dig www.baidu.com
 sudo vim /etc/resolv.conf
 sudo service dnsmasq restart
 dig www.baidu.com
 chkconfig dnsmapq on
 find resolv.dnsmapq.conf
 sudo vim /etc/dnsmasq.conf
 netstat -lpnt
 ps -ef
 ifconfig
 sudo service --status-all
 service dnsmasq status
 sudo apt-get install git
 sudo easy_install -U distribute
 sudo pip install rpi.gpio
 alias ll='ls -lh'
 source /etc/profile
 sudo raspi-config
#安装软件
apt-get install softname1 softname2 softname3……
#卸载软件
apt-get remove softname1 softname2 softname3……
#卸载并清除配置
apt-get remove –purge softname1
#更新软件信息数据库
apt-get update
#进行系统升级
apt-get upgrade
#搜索软件包
apt-cache search softname1 softname2 softname3……
#安装deb软件包
dpkg -i xxx.deb
#删除软件包
dpkg -r xxx.deb
#连同配置文件一起删除
dpkg -r –purge xxx.deb
#查看软件包信息
dpkg -info xxx.deb
#查看文件拷贝详情
dpkg -L xxx.deb
#查看系统中已安装软件包信息
dpkg -l
#重新配置软件包
dpkg-reconfigure xxx

#清除所有已删除包的残馀配置文件
dpkg -l |grep ^rc|awk '{print $2}' |sudo xargs dpkg -P
#如果报如下错误,证明你的系统中没有残留配置文件了,无须担心。
dpkg: –purge needs at least one package name argument
#dpkg安裝的可以用apt卸載,反之亦可

#aptitude 与 apt-get 一样,是 Debian 及其衍生系统中功能极其强大的包管理工具。与 apt-get 不同的是,aptitude 在处理依赖问题上更佳一些。举例来说,aptitude 在删除一个包时,会同时删除本身所依赖的包。这样,系统中不会残留无用的包,整个系统更为干净。以下是笔者总结的一些常用 aptitude 命令,仅供参考。

aptitude update 更新可用的包列表
aptitude upgrade 升级可用的包
aptitude dist-upgrade 将系统升级到新的发行版
aptitude install pkgname 安装包
aptitude remove pkgname 删除包
aptitude purge pkgname 删除包及其配置文件
aptitude search string 搜索包
aptitude show pkgname 显示包的详细信息
aptitude clean 删除下载的包文件
aptitude autoclean 仅删除过期的包文件

apt-cache search # ------(package 搜索包)
apt-cache show #------(package 获取包的相关信息,如说明、大小、版本等)
sudo apt-get install # ------(package 安装包)
sudo apt-get install # -----(package - - reinstall 重新安装包)
sudo apt-get -f install # -----(强制安装?#"-f = --fix-missing"当是修复安装吧...)
sudo apt-get remove #-----(package 删除包)
sudo apt-get remove - - purge # ------(package 删除包,包括删除配置文件等)
sudo apt-get autoremove --purge # ----(package 删除包及其依赖的软件包+配置文件等(只对6.10有效,强烈推荐))
sudo apt-get update #------更新源
sudo apt-get upgrade #------更新已安装的包
sudo apt-get dist-upgrade # ---------升级系统
sudo apt-get dselect-upgrade #------使用 dselect 升级
apt-cache depends #-------(package 了解使用依赖)
apt-cache rdepends # ------(package 了解某个具体的依赖?#当是查看该包被哪些包依赖吧...)
sudo apt-get build-dep # ------(package 安装相关的编译环境)
apt-get source #------(package 下载该包的源代码)
sudo apt-get clean && sudo apt-get autoclean # --------清理下载文件的存档 && 只清理过时的包
sudo apt-get check #-------检查是否有损坏的依赖

Tutorial list

个人收藏的raspberry pi/树莓派文章及教程

硬件

集群/cluster

软件

Python

服务器管理

有趣改造和扩展应用

References

Recommendation

News

树莓派 5 评测:Maker 们的新宠

据树莓派官方声称。Raspberry Pi 5 的处理能力是 Raspberry Pi 4 的两到三倍,后者已经是一款功能强大的单板计算机。Raspberry Pi 5 提供 4GB 和 8GB RAM 容量(稍后还会推出 1GB 和 2GB 型号),其基本尺寸和形状与 Model 4 B 相同,但增加了许多人们长期要求的功能,例如内置实时时钟、一个 PCIe 2.0 连接器和一个电源按钮。

也许更重要的是,Raspberry Pi 配备了新的四核 2.4 GHz Cortex-A76 Arm CPU(旧型号最初是运行在 1.5 GHz 的 Cortex-A72,但固件更新使其达到 1.8 GHz)、新的南桥承诺提高 USB 3 吞吐量和运行频率为 800 Mhz 的新 VideoCore VII GPU(相对于 Pi 4 上的 500 MHz VideoCore VI)。整个主板有很多小改进,包括带安装孔的内置风扇接头、更快的双摄像头连接器以及可与高速卡配合使用的 microSD 读卡器。

Raspberry Pi 5 与 Raspberry Pi 4 和 3B+ 有着惊人的相似之处

树莓派 5 发布,新特性细节公布

树莓派 5

主要功能包括:

新平台,新芯片组:三个新芯片,每个芯片都是专门为树莓派5 设计的,它们结合在一起,在性能上实现了飞跃。

树莓派 4 代

全球最流行的 Linux 小型迷你电脑,性能大幅飙升!(支持4K / USB3.0)

raspberrypi4_banner 被誉为 “世界上最流行最便宜的小型电脑” 的「树莓派Raspberry Pi 是一款性价比超高的迷你电脑主机 (仅有信用卡大小),深受全球开发者、极客、技术爱好者们的追捧和喜爱。

树莓派可以安装多种 Linux 系统发行版 (官方为 Debian 的衍生版),可当服务器搭建各种网站、应用服务来使用,也能用来学习编程、控制硬件或日常办公。由于树莓派的体积很小很轻,并且功能极其丰富强大,这也使得它的应用范围和潜力几乎是无限的……

树莓派 4 代发布

如今 Raspberry Pi 4树莓派 4 代」终于正式发布了!!官方定价依然是 $35 美元起不变,但整体性能相比 3 代要提升了三倍之多!多媒体性能为四倍,即使同时外接两台 4K 显示器双屏工作也毫无鸭梨。这么小的体积加上如此强劲的性能,这将是一款再次改变行业规则的产品。

树莓派4

而且除了 Linux 外,树莓派还能运行「免费的 Win 10 物联网版系统」!无论是学习、办公、编程、搭建智能家居、工控设备、还是用于特定的工作场景,树莓派都是最理想的小型电脑。也是每一个喜欢折腾电脑、折腾数码、折腾程序的朋友的必备玩物。

树莓派 4 硬件配置

树莓派四代 (Raspberry Pi 4 Model B) 在硬件方面迎来了巨大的升级!首次搭载了 4GB 的内存 (1G / 2G / 4G 可选),并且引入 USB 3.0 接口,同时支持双屏 4K 输出和 H.265 硬件解码;处理器搭载了博通 1.5GHz 的四核 ARM Cortex-A72 处理器,性能提升可谓是质的飞跃。

树莓派4

接口方面,树莓派 4 支持双频无线 Wi-Fi (802.11ac)、搭载蓝牙 5.0,提供两个 Micro HDMI 2.0 视频输出接口,支持 4K 60FPS;内置千兆以太网口 (支持 PoE 供电)、MIPI DSI接口、MIPI CSI 相机接口、立体声耳机接口、2 个 USB 3.0 和 2 个 USB 2.0,扩展接口则依然是 40 针的 GPIO。供电方面也改成了 5V/3A 的 USB-C 接口供电,升级可以说是全方位的

树莓派4硬件规格

新的树莓派几乎可兼容所有以往创建的树莓派项目、配件和应用。同时,其40针扩展 GPIO 接口使其能够添加更多传感器、连接器及扩展板或智能设备,前26针引脚与A型板和B型板保持一致,可 100% 向后兼容,无需担心软硬件和配件的生态问题。

树莓派官方宣传片

如果你的工作大多可以在 Linux 下完成的话,比如开发,或者用 WPS for Linux 写文档、上网、收发邮件等,那么直接将树莓派随身携带,上下班通勤或出差时,也许会比带一个笨重的笔记本要轻松方便得多。

树莓派有什么作用和用途?

起初,树莓派是为鼓励孩子们学习编程和计算机知识而推出的奇趣硬件。但如今,除了教育领域,树莓派在硬件编程、智能家居、极客和计算机技术爱好者中的受欢迎程度完全超出想象。

树莓派桌面

随着新版本硬件性能的提升,以及全球极其大量玩家们的青睐,树莓派的玩法和实用性已经丰富到无法统计的地步了。直接当办公电脑使用、丢在家里当 NAS、离线下载、做代理服务器、VP那个N、搭建个人网站、私有网盘、搭建智能家居中枢、小型影音播放机,使用各种开源 Linux 程序给局域网提供服务等都是非常常见的用途。

树莓派应用

总之,树莓派不仅会为学习编程带来更好的体验;给专业人士带来更强大高效稳定的硬件平台;对于爱好者们,新的树莓派也提供了更大的发挥空间——因为它完全就能一台性能充足的台式电脑那样,可以做到几乎任何事情! 当然,这也是一个需要脑洞大开的硬件,你可以把它玩成神器,也能让它积灰几尺厚,这需要有想象力或自身有确切的需求。

GitHub license GitHub license