当前位置: 首页 > 软件库 > Web3 > 开源货币/比特币 >

umbrel-os

授权协议 BSD-3-Clause License
开发语言 Python
所属分类 Web3、 开源货币/比特币
软件类型 开源软件
地区 不详
投 递 者 令狐经武
操作系统 跨平台
开源组织
适用人群 未知
 软件概览

☂️ OS

Umbrel OS is the operating system of Umbrel Bitcoin and Lightning node. It's based on Raspberry Pi OS (formerly Raspbian) and uses pi-gen for customization.

�� Getting started

To run Umbrel on:

Instructions:

  1. Make sure you've everything ready:

    1. Raspberry Pi 4 with 4GB or 8GB RAM
    2. 1TB SSD
    3. SSD Enclosure
    4. 16GB+ microSD Card
    5. microSD Card Reader
    6. Ethernet Cable
    7. Case
  2. Download the latest release of Umbrel OS, or build the image from source.

  3. Use an image flasher such as Balena Etcher to flash the image to a microSD card.

  4. Put the microSD card in your Raspberry Pi, attach an external SSD or HDD (to USB 3 port), connect the Pi to your router with an ethernet cable.

  5. Turn on the Pi and open http://umbrel.local from any device connected to the same network (it might take a while for it to be accessible).

⚠️ All data on the external hard drive will be erased on first boot.

If you're running Umbrel OS on Bitcoin mainnet (default), the external SSD or HDD should be at least 750 GB in size (we recommend 1 TB+) so it can store the whole Bitcoin blockchain.

�� SSH

SSH is enabled by default and you can use the following credentials to login to your Umbrel node.

  • Hostname: umbrel.local
  • User: umbrel
  • Password: The same password you use to log in to the Umbrel dashboard

If you haven't yet run through the setup process, the password will be set to moneyprintergobrrr.

�� Build Umbrel OS from source

Don't trust. Verify.

Step 1. Clone this repo

git clone https://github.com/getumbrel/umbrel-os.git

Step 2. Switch to repo's directory

cd umbrel-os

Step 3. BUIDL!

sudo ./build.sh

After the build completes (it can take a looooooong time), the image will be inside deploy/ directory.

�� Advanced

Config variables

The config file has system defaults which are used when building the image and for automated builds.

  • UMBREL_VERSION - To install the specific Umbrel version.

  • GITHUB_USERNAME - To automatically login to your Umbrel without typing a password.

  • UMBREL_REPO - A custom git repo used to download Umbrel. UMBREL_VERSION is ignored if this is set, but it is required to also set UMBREL_BRANCH.

  • UMBREL_BRANCH - The git branch or commit SHA in the custom repo that should be checked out.

Other Raspbian-related stuff can be found in Raspbian's documentation which is still applicable.


⚡️ Don't be too reckless

Umbrel is still in an early stage and things are expected to break every now and then. We DO NOT recommend running it on mainnet with real money just yet, unless you want to be really #reckless.

❤️ Contributing

We welcome and appreciate new contributions!

If you're a developer looking to help but not sure where to begin, check out these issues that have specifically been marked as being friendly to new contributors.

If you're looking for a bigger challenge, before opening a pull request please create an issue or join our community chat to get feedback, discuss the best way to tackle the challenge, and to ensure that there's no duplication of work.


"Being open source means anyone can independently review the code. If it was closed source, nobody could verify the security. I think it's essential for a program of this nature to be open source." — Satoshi Nakamoto

getumbrel.com

  • 1.ata_id[634]: HDIO_GET_IDENTITY failed for '/dev/sdb' From:https://bbs.archlinux.org/viewtopic.php?pid=1015693 Hello. I've just seen your post after Googling for the same error myself. (I boot and ru

  • 一、freeRTOS比uCOS II优胜的地方:   1。内核ROM和耗费RAM都比uCOS 小,特别是RAM。 这在单片机里面是稀缺资源,uCOS至少要5K以上, 而freeOS用2~3K也可以跑的很好。   2。freeRTOS 可以用协程(Co-routine),减少RAM消耗(共用STACK)。uCOS只能用任务(TASK,每个任务有一个独立的STACK)。   3。freeRTOS 可以

  • 1 os.access(path, mode) 检验权限模式 2 os.chdir(path) 改变当前工作目录 3 os.chflags(path, flags) 设置路径的标记为数字标记。 4 os.chmod(path, mode) 更改权限 5 os.chown(path, uid, gid) 更改文件所有者 6 os.chroot(path) 改变当前进程的根目录 7 os.close(

  • 删除目录 在Python中可以使用os.rmdir()函数删除目录。 os.rmdir(path) import os os.rmdir('d:\hmm') 删除多级目录 在Python中可以使用os.removedirs()函数删除多级目录。 os.removdirs(path) import os os.removedirs('d:\\books\\book') 注意:要删除的目录

  • INT8U OSRdyTbl[OS_RDY_TBL_SIZE] 就绪表:存放8位无符号整数 假如有个优先级prio,怎么在OSRdyTbl表里查找相应的位置呢? int y = prio >> 3; /* 获取prio的高3位*/ 那么OSRdyTbl[ prio >> 3]即为prio所在组的优先级,prio & 0x07即为该优先级对应的值 在OSRdyTbl里,每个优先级对应的值只有两种情况

  • os模块 os.system可以直接调用系统的命令 import os os.system('notepad.exe') #调用记事本 os.system('regedit') #调用注册表 os.system('ping.www.baidu.com') #调用网页 乱码问题使用gbk os.system('cmd') #调用命令指示符 #直接调用可执行文件 os.startfile(r'D

  • 创建目录   在Python中可以使用os.mkdir()函数创建目录(创建一级目录)。   其原型如下所示:   os.mkdir(path)   其参数path 为要创建目录的路径。   例如要在D盘下创建hello的目录   >>> import os   >>> os.mkdir('d:\hello')   可以使用os.makedirs()函数创建多级目录。   其原型如下所示:   o

 相关资料
  • ☂️ Umbrel — a personal server for everyone ⚠️ Umbrel is currently in beta and is not considered secure. Please see SECURITY.md for more details. This is the master repository of Umbrel and contains th

  • 问题内容: 我只需要知道使用Java的Mac上文件的所有者名称,我该如何获取它?谢谢! 问题答案: 这个讨厌。有 没有 用于获取文件的所有者(至少直到并包括Java 6中,这是目前的生产版本的OSX)标准方法。现在,最简单的方法是使用a 来执行以文件名作为参数的对的调用,然后解析将在子进程的标准输出通道上返回的结果。解析结果时必须小心,因为OSX上的用户名可能包含空格。 或者,使用JNI。

  • 问题内容: 当我的应用程序在Mac上运行时,我试图从使用JFileChooser切换到FileDialog,以便它将使用OS X文件选择器。到目前为止,我有以下代码: 我要问什么呢?这样我的文件选择器将允许任何目录作为文件选择器的输入(以下方法已经检查以确保该目录是我只希望FileDialog接受任何目录的正确目录类型)。 问题答案: 假设您确定要使用FileDialog而不是可移植的JFileC

  • 问题内容: 是什么使应用程序功能的模块/服务/位成为OSGi模块的特别好的候选者? 我对在我的应用程序中使用OSGi感兴趣。我们是一家Java商店,我们广泛使用Spring,因此我倾向于将Spring动态模块用于OSGi(tm)服务平台。我正在寻找一种将OSGi一点点集成到应用程序中作为试用的好方法。这里有人使用过此技术或类似的OSGi技术吗?有陷阱吗? @Nicolas-谢谢,我已经看过那个了。

  • 问题内容: 我开始开发Eclipse插件(从技术上讲,是OSGi插件),遇到的第一个问题是我似乎无法像往常一样控制commons-logging输出。 我在插件依赖项中包含了commons- logging包,的确,当我记录某些信息(信息为INFO或更高严重性)时,它会记录到控制台。但是,我似乎无法以任何较低级别登录(例如DEBUG或TRACE)。 我已经指定了一个log4j.properties

  • 问题内容: 我正在使用Java开发桌面应用程序。我想在系统托盘上放置一个图标(带有上下文菜单)(在Mac Os中称为Menu Extras)。Java 6附带了在Windows和Linux中执行此操作的支持,但在Mac Os中不起作用。 我已经看到某些应用程序在所有三个操作系统(例如DropBox)中都能实现我想要的功能,但是我不知道它们是否是用Java制成的。 我该如何实现? 如果用Java无法