3) Connecting the Raspberry Pi to the Internet
In this section, we’ll set up the Raspberry Pi to connect to the internet (your local network) when it first starts, without the need to connect a monitor, keyboard, or mouse (this is called headless).
Remove the microSD card from your computer and insert it again so that your computer can recognize the microSD card again.
1) Create a new file called wpa_supplicant.conf and paste the following.
Insert your 2-digit country code and the network credentials (SSID and password) of the network that you want the Raspberry Pi to connect to.
2) Open the microSD card folder and move the wpa_supplicant.conf file there.
Установка Docker в Ubuntu
Хотя установочный пакет Docker доступен в официальном репозитории Ubuntu 18.04, он не всегда может быть последней версией. Рекомендуемый подход — установить последний пакет Docker из репозиториев Docker.
Включение репозитория Docker
-
Начните с обновления списка пакетов и установки зависимостей, необходимых для добавления нового репозитория через HTTPS:
-
Импортируйте GPG-ключ репозитория с помощью следующей команды :
-
Добавьте репозиторий Docker APT в вашу систему:
Установка Docker CE
Теперь, когда репозиторий Docker включен, вы можете установить любую нужную вам версию Docker.
-
Чтобы установить последнюю версию Docker, используйте команду ниже. Если вы хотите установить определенную версию Docker, пропустите этот шаг и перейдите к следующему.
-
Чтобы установить определенную версию, сначала укажите доступные версии в репозитории Docker:
Команда выводит доступные версии Docker во втором столбце.
Например, чтобы установить версию , введите:
Чтобы пакет Docker не обновлялся автоматически, отметьте его как задержанное:
После завершения установки служба Docker запустится автоматически. Вы можете проверить это, набрав:
Результат будет выглядеть примерно так:
Выполнение команды docker без sudo
По умолчанию для запуска команд Docker требуются права администратора.
Чтобы запускать команды Docker от имени пользователя без полномочий root без добавления вам необходимо добавить своего пользователя в группу . Эта группа создается при установке пакета Docker CE. Для этого выполните следующую команду:
— это переменная среды, в которой хранится ваше имя пользователя.
Выйдите из системы и войдите снова, чтобы обновить членство в группе.
Чтобы убедиться, что Docker успешно установлен и вы можете запускать команды docker без добавления , запустите:
Команда загрузит тестовое изображение, запустит его в контейнере, напечатает сообщение «Hello from Docker» и выйдет. Результат должен выглядеть следующим образом:
Загрузите Raspberry Pi
Вы можете использовать свой Raspberry Pi как безголовый компьютер и подключаться к нему через SSH или подключаться к дисплею HDMI.
Вставьте SD-карту в свой Pi и включите его. Если вы используете монитор и клавиатуру, подключите их перед включением платы Raspberry Pi.
Имя пользователя по умолчанию — ubuntu , пароль — ubuntu .
Для загрузки Pi потребуется несколько минут. После подключения к сети вы можете найти IP-адрес Raspberry Pi в таблице аренды DHCP вашего маршрутизатора и войти в свой Ubuntu через ssh:
При первом входе в систему вам будет предложено изменить пароль пользователя ubuntu .
What is Debian?
Debian is a free operating system for your computer and includes the basic set of programs and utilities that make your computer run along with many thousands of other packages. Debian has a reputation within the Linux community for being very high-quality, stable and scalable. Debian also has an extensive and friendly user community that can help new users with support for practically any problem. This makes Debian an ideal operating system for the Raspberry Pi that will be used by children and many others using Linux for the first time.
Further information about what Debian is can be found here, here, and here.
Настройка iptables
Установите iptables
На вопрос Save current IPv4 rules? и Save current IPv6 rules? ответьте No
При работе с iptables будьте осторожны. Одно неверное движение и доступ к серверу может быть заблокирован!!!
Обратите на порт SSH. Укажите свой порт, вместо 22050.
Пропишите в /etc/iptables/rules.v4 следующее содержимое:
Обязателен ENTER в конце (перевод на новую строку).
Скопируйте rules.v4 в rules.v6
Установите новые правила iptables
Чтобы добавлять новые правила в iptables, например, тот же nginx нужно редактировать файл. Также вы можете выполнить команды
Они добавят в начало цепочки ALLOW-INPUT два новых правила, но при этом файл не изменят.
Проверьте настройки iptables:
Обязательно проверьте соединение ssh. Попробуйте залогиниться к серверу через отдельный терминал.
Скачивание и установка Visual Studio Code IDE
После скачивания и установки всех необходимых компонентов SDK и отладчика можно приступать к установке кросс-платформенной IDE Visual Studio Code для быстрой и простой разработки программ. Поскольку автор проекта использовал операционную систему Ubuntu 20.04LTS — 64 bit, он скачал файл code_1.xx.xx_amd64.deb с официального веб-сайта Visual Studio и с его помощью установил VSCode IDE. После того, как установка VSCode IDE будет завершена, нам необходимо установить ряд расширений для IDE (интегрированной среды разработки), чтобы мы могли производить отладку программ для Raspberry Pi Pico из VSCode IDE.
Shell
cd ~/raspberry-pi-pico/pico
sudo apt install libx11-xcb1 libxcb-dri3-0 libdrm2 libgbm1 libegl-mesa0
code —install-extension marus25.cortex-debug
code —install-extension ms-vscode.cmake-tools
code —install-extension ms-vscode.cpptools
1 |
cd~raspberry-pi-picopico sudo apt install libx11-xcb1 libxcb-dri3-libdrm2 libgbm1 libegl-mesa0 code—install-extension marus25.cortex-debug code—install-extension ms-vscode.cmake-tools code—install-extension ms-vscode.cpptools |
Awesome Arduino Projects you DONT WANNA MISS!
Here is a list of the creative Arduino Projects implementing newer sensors and boards, which can be followed easily and are really interesting to implement. Even if you are a beginner and just started learning Arduino based projects, following these tutorials will be easy. All of the below Arduino based projects are well-explained step by step, with detailed tutorials on how to get started from scratch.
Controlling Photoshop with Arduino Nano RP 2040 | Arduino HID Project
Easy way to control Adobe Photoshop using Arduino HID Functionality – Make it easier for you to edit images in photoshop!
Read More
How To Make A Homemade Light Up Jack O Lantern | DIY Glowing Pumpkin Halloween 2021 Project
It’s that time of year again! Time to get out the glow sticks, pumpkin carving tools, and all the things you need to create a …
Read More
Food serving robot using Arduino | COVID 19 Social Distancing
It is a food serving robo used to serve food in hotels, home, mall, hospitals too. At this pendamic condition we can use our robot …
Read More
Automatic Cooling System using Arduino
Smart cooling system, which adjusts the speed of cooling fan efficiently according to rising in the temperature of a device and vise versa. It has …
Read More
Bring the Party Home this Holiday Season with DIY Cocktail Mixer using Arduino
Get the party started with this fun Arduino Project – Learn to build your own Arduino Cocktail Mixer with this Simple DIY Tutorial!
Read More
Taking Care of your Family and Elders using Arduino based Real-Time Home Monitoring System
As I sat in the airport, waiting for my flight to board, I couldn’t help but think about all of the people back home. The …
Read More
Запись изображения на SD-карту
Есть несколько различных приложений, доступных для бесплатного использования, которые позволяют использовать флэш-образы ISO на SD-карты. В этом уроке мы будем использовать Raspberry Pi Imager.
Raspberry Pi Imager — это утилита с открытым исходным кодом для прошивки операционных систем, работающих на Raspberry Pi, на SD-карты. Он доступен для Windows, macOS и Ubuntu.
Обратите внимание, что запись изображения на SD-карту является деструктивным процессом и стирает все существующие данные. Если у вас есть данные на SD-карте, сначала сделайте резервную копию
-
Вставьте SD-карту в привод SD-карты и запустите приложение Raspberry Pi Imager:
-
Нажмите кнопку «ВЫБРАТЬ ОС», чтобы открыть меню для выбора операционной системы. Прокрутите вниз и нажмите «Ubuntu»:
-
Вам будет представлен список образов Ubuntu на выбор. Выберите изображение в соответствии с вашей версией Pi. В этом руководстве мы используем Raspberry Pi 4 с 4 ГБ оперативной памяти и выберем 64-разрядную версию Ubuntu 20.04:
-
Нажмите кнопку «ВЫБРАТЬ SD-КАРТУ» и в новом меню выберите вставленную SD-карту. Если к вашей системе подключено более одной SD-карты, перед прошивкой образа убедитесь, что вы выбрали правильный диск:
-
Нажмите кнопку «ЗАПИСАТЬ», и Raspberry Pi Imager загрузит выбранное изображение и начнет процесс прошивки:
Процесс может занять несколько минут, в зависимости от размера файла и скорости карты.
-
В случае успеха приложение покажет следующее сообщение:
Это все! У вас есть загрузочная Ubuntu на SD-карте.
Написание изображения
Есть несколько различных приложений, доступных для бесплатного использования, которые позволяют записывать ISO-образы на SD-карты. В этом уроке мы будем использовать Etcher.
Etcher — это бесплатная утилита с открытым исходным кодом для записи изображений на SD-карты и USB-накопители, поддерживающая Windows, macOS и Linux.
-
Вставьте SD-карту в привод SD-карты и запустите Etcher.
-
Нажмите кнопку «Выбрать изображение» и найдите zip-файл Raspbian. Если вы загрузили файл с помощью веб-браузера, он должен храниться в папке «Загрузки» в вашей учетной записи. Etcher автоматически выберет SD-карту, если присутствует только один диск. В противном случае, если подключено более одной SD-карты или USB-накопителя, перед прошивкой образа убедитесь, что вы выбрали правильный диск.
-
Нажмите кнопку «Прошивка», и начнется процесс прошивки. Etcher покажет индикатор выполнения и расчетное время прибытия во время мигания изображения. Процесс может занять несколько минут, в зависимости от размера файла ISO и скорости карты.
В Raspbian сервер SSH по умолчанию отключен. Для установки Raspbian без головы вы можете включить SSH , поместив файл с именем ssh без какого-либо расширения в загрузочный раздел. Просто откройте SD-карту в диспетчере файлов и создайте файл.
Это все! У вас есть загрузочная ОС Raspbian на SD-карте.
конфигурация
Вставляем SD карту в Raspberry Pi, подключаем к розетке и к роутеру с помощью кабеля RJ-45.
Имя пользователя и пароль по умолчанию:
- Имя пользователя: корень
- Пароль: корень
Образ, который мы установили на SD, идет с сервисом SSH настроил и поднял. Поскольку у него не настроен статический IP-адрес, маршрутизатор назначит ему IP-адрес через DHCP. Чтобы узнать, какой IP-адрес был назначен, мы можем посмотреть на маршрутизатор или отследить нашу сеть с консоли, используя Nmap(Здесь каждый, кто ставит свою сеть):
Как только мы узнаем IP-адрес нашего Raspberry Pi (В моем случае 192.168.1.132), чтобы получить доступ через SSH это так просто, как:
Он попросит нас принять открытый ключ SSH и мы уже внутри наших Raspberry Pi. Первое, что мы делаем, это обновляем всю систему с помощью команды:
Когда вы закончите обновление всей системы, мы настроим Raspberry Pi.
1. Чтобы настроить язык, мы редактируем файл /etc/locale.gen и раскомментируем наш язык, удалив «#»с начала строки:
2. Загружаем выбранный язык:
и после загрузки необходимо добавить его (здесь каждый меняет его в соответствии с выбранным языком):
3. Теперь настраиваем часовой пояс, в моем случае:
4. Создаем нового пользователя:
5. Мы меняем пароль на пользователя root и пользователя, которого мы только что создали:
y
6. Мы даем нашему хосту имя:
7. Мы настраиваем статический IP для вашего удобства. Для этого создаем файл /etc/conf.d/interface и мы добавляем следующее, изменяя данные в каждом случае:
8. Теперь создаем файл / и т.д. / systemd / система / сеть и добавляем следующее:
Описание = Сетевое подключение (% i) Требуется = network.target Before = network.target BindsTo = sys-subsystem-net-devices-% i.device After = sys-subsystem-net-devices-% i.device Type = oneshot RemainAfterExit = yes EnvironmentFile=/etc/conf.d/network@%i ExecStart = / usr / bin / ip link set dev% i up ExecStart = / usr / bin / ip addr add $ {address} / $ {netmask} broadcast $ {broadcast} dev% i ExecStart = / usr / bin / ip route добавить маршрут по умолчанию через $ {gateway} ExecStop = / usr / bin / ip addr flush dev% i ExecStop = / usr / bin / ip link установить dev% i вниз WantedBy = multi-user.target
9. Мы остановили обслуживание DHCP и запускаем тот, который только что настроили:
10). Мы перезапускаем Raspberry Pi и мы подключаемся SSH с нашим пользователем:
(Эта команда может оставить Raspberry Pi 1 минута заблокирована)
Пока что конфигурация Raspberry Pi con Arch Linux. В конце концов, это длилось дольше, чем я думал, но на весь процесс уходит не более 30-40 минут.
Это мой первый вклад, надеюсь, вам понравится.
Настраиваем сеть
После перезагрузки настраиваем сеть (например так):
vi /etc/network/interfaces
# interfaces(5) file used by ifup(8) and ifdown(8) # Please note that this file is written to be used with dhcpcd # For static IP, consult /etc/dhcpcd.conf and 'man dhcpcd.conf' # Include files from /etc/network/interfaces.d: source-directory /etc/network/interfaces.d auto lo iface lo inet loopback #iface eth0 inet manual allow-hotplug eth0 iface eth0 inet static address 192.168.0.100 netmask 255.255.255.0 gateway 192.168.0.1 # dns-* options are implemented by the resolvconf package, if installed dns-nameservers 8.8.8.8 8.8.4.4 allow-hotplug wlan0 iface wlan0 inet manual wpa-conf /etc/wpa_supplicant/wpa_supplicant.conf
В составе Raspberry Pi 3 также имеется Wi-Fi модуль, что настраивается редактированием файла
Например так:
vi /etc/wpa_supplicant/wpa_supplicant.conf
ctrl_interface=DIR=/var/run/wpa_supplicant GROUP=netdev update_config=1 country=UA network={ ssid="MyNet" psk="MyMegaSecurePassword" }
Или сделать это через удобную встроенную тулзу для конфигурации Raspbian (через которую много делать ещё много чего)
raspi-config
Я обычно выключаю поддержку IPv6.
И оборудование пока не 100% всё готово для его поддержки и памяти больше сэкономите.
vi /etc/sysctl.conf
net.ipv6.conf.all.disable_ipv6 = 1 net.ipv6.conf.default.disable_ipv6 = 1 net.ipv6.conf.lo.disable_ipv6 = 1 net.ipv6.conf.eth0.disable_ipv6 = 1 net.ipv6.conf.wlan0.disable_ipv6 = 1
sysctl -p
А также раскоментируйте в файле строчку и добавьте (чтобы наверняка)
vi /etc/modprobe.d/ipv6.conf
Получится как-то так:
alias net-pf-10 off alias ipv6 off blacklist ipv6
Активируем при загрузке системы (по-умолчанию он отключен) и запускаем его и дальше уже можем работать с Raspberry Pi удаленно через .
systemctl enable ssh
Synchronizing state of ssh.service with SysV service script with /lib/systemd/systemd-sysv-install. Executing: /lib/systemd/systemd-sysv-install enable ssh # systemctl start ssh # systemctl status ssh ● ssh.service - OpenBSD Secure Shell server Loaded: loaded (/lib/systemd/system/ssh.service; enabled; vendor preset: enabled) Active: active (running) since Fri 2018-01-19 18:46:51 EET; 48s ago Main PID: 684 (sshd) CGroup: /system.slice/ssh.service └─684 /usr/sbin/sshd -D
What do you mean by «soft float ABI» and «hard float ABI»?
ABI stands for application binary interface. The term has slightly different meanings in different contexts but in this context it refers to the set of rules used to set up registers and the stack when calling and returning from functions and other details that are required for binaries to be compatible with each other.
The «soft float» ABI passes floating point parameters in integer registers while the «hard float ABI» passes them in vfp (floating point) registers. The two ABIs are not compatible because they use different registers. It is possible to use hardware floating point with the soft-float ABI but doing so means that whenever a floating point value is passed to or returned from a function it must be transferred to an integer register incurring a performance penalty.
Kernel
The kernel used by the Raspberry Pi 2 port is an Ubuntu-style kernel package of an «rpi2» flavor, e.g. linux-image-3.18.0-20-rpi2. Currently it is comprised of the following functionality:
- Mainline 3.18.x
-
Fork of Ubuntu-3.18.0-14.15 from the ubuntu-vivid git tree
- Provides extra functionality such as aufs
- Also includes additional stability fixes, many of which have been rolled into mainline post-3.18.7
-
Raspberry Pi-specific patches from the rpi-3.18.y branch of Raspberry Pi’s linux git tree
Ubuntu’s 3.18 development is no longer active, as they moved on to 3.19 to be released with 15.04 vivid. However, mainline 3.18 was designated an LTS kernel release, and is still getting active security/stability updates. Because of this, 3.18 will likely remain the «supported» kernel of this port. (Again, this is an unofficial port and no support guarantee is implied.)
WiFi
Since 18.04.2 the linux-firmware and linux-firmware-raspi2 packages now contain the necessary files for the built-in WiFi on the Pi 3B, 3B+, and 4B. However, if for some reason you want the latest and greatest files:
mkdir wifi-firmware cd wifi-firmware # Pi 3B wget https://github.com/RPi-Distro/firmware-nonfree/raw/master/brcm/brcmfmac43430-sdio.bin wget https://github.com/RPi-Distro/firmware-nonfree/raw/master/brcm/brcmfmac43430-sdio.clm_blob wget https://github.com/RPi-Distro/firmware-nonfree/raw/master/brcm/brcmfmac43430-sdio.txt # Pi 3B+ and 4 wget https://github.com/RPi-Distro/firmware-nonfree/raw/master/brcm/brcmfmac43455-sdio.bin wget https://github.com/RPi-Distro/firmware-nonfree/raw/master/brcm/brcmfmac43455-sdio.clm_blob wget https://github.com/RPi-Distro/firmware-nonfree/raw/master/brcm/brcmfmac43455-sdio.txt sudo cp *sdio* /lib/firmware/brcm/ cd ..
Reboot the machine.
Use dpkg-divert to stop these files being overwritten on package updates.
GPIO support
All examples below are based on the «blinking led» schema. See https://pimylifeup.com/raspberry-pi-gpio/
The Debian kernel is compiled with CONFIG_STRICT_DEVMEM=y. You need to add iomem=relaxed to the kernel command line (/boot/firmware/cmdline.txt) to allow mmap on /dev/mem.
using RPi.GPIO (python3-rpi.gpio)
RPi.GPIO doesn’t support the RPI 4 currently. See this bug https://sourceforge.net/p/raspberry-gpio-python/tickets/191/ (with a patch that makes it working).
Debian bug:
using GPIOZERO
Debian has gpiozero version 1.4.1, which doesn’t work with the RPI 4. After fixing RPi.GPIO, gpiozero 1.5.1 (current git) works.
Debian bug:
Accelerated 3D graphics on Debian
To get accelerated 3D graphics on Debian, you will need the following (status on 02/2021):
- Run Debian testing, because Mesa is Debian stable is not recent enough
- Build a kernel from github.com/raspberrypi/linux as documented above
Example config.txt:
arm_64bit=1 enable_uart=1 upstream_kernel=1 #http://lists.infradead.org/pipermail/linux-rpi-kernel/2020-November/007906.html disable_fw_kms_setup=1 kernel=vmlinuz initramfs initrd.img
Example cmdline.txt:
console=tty0 console=ttyS1,115200 root=/dev/mmcblk1p2 rw fsck.repair=yes net.ifnames=0 rootwait
(Editor’s Note 2021-06: Is a running glxgears and present /sys/class/drm/card0 a sure sign of 3D acceleration working?)
Оглавление
Пролог
-
- i. Предисловие
- ii. Аудитория
- iii. Целевая архитектура проекта LFS
- iv. LFS и стандарты
- v. Описание пакетов, используемых в книге
- vi. Предварительные требования
- vii. Требование к хост-системе
- viii. Типографские соглашения
- ix. Структура книги
- x. Возможные проблемы
Глава 1. Введение
-
- 1.1. Как собрать систему LFS
- 1.2. Что изменилось по сранению с предыдущей версией?
- 1.3. Список изменений
- 1.4. Ресурсы
- 1.5. Помощь
-
- 2.2. Создание нового раздела
- 2.3. Создание в разделе файловой системы
- 2.4. Монтирование нового раздела
-
- 3.1. Введение
- 3.2. Все пакеты
- 3.3. Необходимые патчи
Глава 4. Завершение подготовки
-
- 4.1. О переменной $LFS
- 4.2. Создание директория $LFS/tools
- 4.3. Добавление пользователя LFS
- 4.4. Настройка среды окружения
- 4.5. О единице измерения времени SBU
- 4.6. О наборах тестов
Глава 5. Создание временной версии системы
-
- 5.1. Введение
- 5.2. Технические замечания об инструментальном наборе
- 5.3. Общие инструкции по компиляции
- 5.4. Пакет Binutils-2.21 — Первый проход
- 5.5. Пакет GCC-4.5.2 — Первый проход
- 5.6. Заголовки Linux-2.6.37 API
- 5.7. Пакет Glibc-2.13
- 5.8. Настройка набора инструментальных средств
- 5.9. Пакет Binutils-2.21 — Второй проход
- 5.10. Пакет GCC-4.5.2 — Второй проход
- 5.11. Пакет Tcl-8.5.9
- 5.12. Пакет Expect-5.45
- 5.13. Пакет DejaGNU-1.4.4
- 5.14. Пакет Ncurses-5.7
- 5.15. Пакет Bash-4.2
- 5.16. Пакет Bzip2-1.0.6
- 5.17. Пакет Coreutils-8.10
- 5.18. Пакет Diffutils-3.0
- 5.19. Пакет File-5.05
- 5.20. Пакет Findutils-4.4.2
- 5.21. Пакет Gawk-3.1.8
- 5.22. Пакет Gettext-0.18.1.1
- 5.23. Пакет Grep-2.7
- 5.24. Пакет Gzip-1.4
- 5.25. Пакет M4-1.4.15
- 5.26. Пакет Make-3.82
- 5.27. Пакет Patch-2.6.1
- 5.28. Пакет Perl-5.12.3
- 5.29. Пакет Sed-4.2.1
- 5.30. Пакет Tar-1.25
- 5.31. Пакет Texinfo-4.13a
- 5.32. Пакет Xz-5.0.1
- 5.33. Удаление ненужных файлов
- 5.34. Смена владельца
Глава 6. Установка программ базовой системы
-
- 6.1. Введение
- 6.2. Подготовка виртуальных файловых систем ядра
- 6.3. Управление пакетами
- 6.4. Переход в среду chroot
- 6.5. Создание директориев
- 6.6. Создание важных файлов и символических ссылок
- 6.7. Заголовки Linux-2.6.37 API
- 6.8. Пакет Man-pages-3.32
- 6.9. Пакет Glibc-2.13
- 6.10. Перенастройка инструментального набора
- 6.11. Пакет Zlib-1.2.5
- 6.12. Пакет Binutils-2.21
- 6.13. Пакет GMP-5.0.1
- 6.14. Пакет MPFR-3.0.0
- 6.15. Пакет MPC-0.8.2
- 6.16. Пакет GCC-4.5.2
- 6.17. Пакет Sed-4.2.1
- 6.18. Пакет Pkg-config-0.25
- 6.19. Пакет Ncurses-5.7
- 6.20. Пакет Util-linux-2.19
- 6.21. Пакет E2fsprogs-1.41.14
- 6.22. Пакет Coreutils-8.10
- 6.23. Пакет Iana-Etc-2.30
- 6.24. Пакет M4-1.4.15
- 6.25. Пакет Bison-2.4.3
- 6.26. Пакет Procps-3.2.8
- 6.27. Пакет Grep-2.7
- 6.28. Пакет Readline-6.2
- 6.29. Пакет Bash-4.2
- 6.30. Пакет Libtool-2.4
- 6.31. Пакет GDBM-1.8.3
- 6.32. Пакет Inetutils-1.8
- 6.33. Пакет Perl-5.12.3
- 6.34. Пакет Autoconf-2.68
- 6.35. Пакет Automake-1.11.1
- 6.36. Пакет Bzip2-1.0.6
- 6.37. Пакет Diffutils-3.0
- 6.38. Пакет Gawk-3.1.8
- 6.39. Пакет File-5.05
- 6.40. Пакет Findutils-4.4.2
- 6.41. Пакет Flex-2.5.35
- 6.42. Пакет Gettext-0.18.1.1
- 6.43. Пакет Groff-1.21
- 6.44. Пакет GRUB-1.98
- 6.45. Пакет Gzip-1.4
- 6.46. Пакет IPRoute2-2.6.37
- 6.47. Пакет Kbd-1.15.2
- 6.48. Пакет Less-436
- 6.49. Пакет Make-3.82
- 6.50. Пакет Xz-5.0.1
- 6.51. Пакет Man-DB-2.5.9
- 6.52. Пакет Module-Init-Tools-3.12
- 6.53. Пакет Patch-2.6.1
- 6.54. Пакет Psmisc-22.13
- 6.55. Пакет Shadow-4.1.4.3
- 6.56. Пакет Sysklogd-1.5
- 6.57. Пакет Sysvinit-2.88dsf
- 6.58. Пакет Tar-1.25
- 6.59. Пакет Texinfo-4.13a
- 6.60. Пакет Udev-166
- 6.61. Пакет Vim-7.3
- 6.62. Об отладочных компонентах
- 6.63. Снова стираем ненужные файлы
- 6.64. Окончательное приведение системы в порядок
Глава 7. Настройка скриптов загрузки системы
-
- 7.1. Введение
- 7.2. Пакет LFS-Bootscripts-20100627
- 7.3. Как работают скрипты загрузки системы
- 7.4. Конфигурирование скрипта setclock
- 7.5. Конфигурирование консоли Linux
- 7.6. Конфигурирование скрипта sysklogd
- 7.7. Создание файла /etc/inputrc
- 7.8. Файлы запуска командной оболочки Bash
- 7.9. Управление устройствами и модулями в системе LFS
- 7.10. Создание пользовательских символических ссылок на устройства
- 7.11. Конфигурирование скрипта localnet
- 7.12. Настройка файла /etc/hosts
- 7.13. Конфигурирование скрипта network
Глава 8. Делаем систему LFS загружаемой
-
- 8.1. Введение
- 8.2. Создание файла /etc/fstab
- 8.3. Пакет Linux-2.6.37
- 8.4. Использование загрузчика GRUB для настройки процесса загрузки
-
- 9.1. Результат
- 9.2. Регистрация
- 9.3. Перезагрузка системы
- 9.4. А что дальше?
What do I need in my sources.list file to access the Raspbian repository?
Your /etc/apt/sources.list file should look as follows:
deb http://archive.raspbian.org/raspbian wheezy main contrib non-free rpi deb-src http://archive.raspbian.org/raspbian wheezy main contrib non-free rpi
When using apt-get, you will will want to install the Raspbian public key in your apt-get keyring, it should already be there if you used debootstrap from the Raspbian repository but if you need to add it manually this can be done with following command:
wget http://archive.raspbian.org/raspbian.public.key -O - | sudo apt-key add -
Mirrors of Raspbian that may be more suitable for users in different geographic locations can be found here.
Какие дистрибутивы Linux возможно установить на RPi 3
У владельцев Raspberry Pi 3 есть широкий выбор операционных систем. Согласно данным специализированных форумов, на этой платформе нормально работают более 30 дистрибутивов. При этом на ней способны функционировать не только системы на базе Linux. Также, например, под Raspberry Pi 3 существует и FreeBSD. На первый взгляд они похожи, так как построены на Unix, но по факту это не так, ведь их ядра имеют между собой мало общего.
По причине того, что многие из систем для RPi3 рассчитаны на профессиональных системных администраторов, следует привести те, с которыми более или менее легко может справиться незнакомых с *nix человек. Вот перечень самых популярных дистрибутивов для «Малины».
- Raspbian;
- Debian;
- Pidora;
- Kali Linux;
- Arch Linux и другие.
Также существуют версии Linux, созданные специально для «Малины». В качестве наиболее известных можно назвать RetroPie и RecalBox. Эти системы созданы для воспроизведения игр для старых консолей.
Следует отметить, что есть и другие дистрибутивы для ARM. Например, можно подумать, что на Raspberry Pi 3 Ubuntu сможет работать, но это не так. Это обусловлено тем, что в третьей «Малине» установлен процессор ARM v8, тогда как последняя официальная сборка Убунту под данную архитектуру – 12.04. И она ориентирована на ARM v7.
Закрываем всё ненужное с помощью iptables
Вначале поставим пакет , что обеспечит автоматическое поднятие правил после перезагрузки системы.
Вы можете править и системные скрипты, но учитывая что их расположение от дистрибутива к дистрибутиву постоянно меняется, я рекомендую использовать более универсальное решение.
apt install iptables-persistent
Пакет при установке задаст вопрос по-поводу сохранения текущих правил в конфиг. Отвечаем «Yes» на оба вопроса (IPv4 и IPv6).
Создадим удобный скрипт по-умолчанию закроет все входящие подлючения, кроме SSH по 22-му порту из вашей сети (при условии что она ) и полностью закроет все подключения по IPv6 (по-умолчанию они разрешены)
vi /etc/iptables.rules.sh
#!/bin/bash /sbin/iptables -F /sbin/iptables -X /sbin/iptables -P INPUT DROP /sbin/iptables -P OUTPUT ACCEPT /sbin/iptables -P FORWARD DROP /sbin/iptables -I INPUT 1 -i lo -p all -j ACCEPT /sbin/iptables -I INPUT -s 127.0.0.1 -j ACCEPT /sbin/iptables -A INPUT -m conntrack --ctstate ESTABLISHED,RELATED -j ACCEPT /sbin/iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT /sbin/iptables -A INPUT -p tcp --dport 22 -s 192.168.0.0/24 -j ACCEPT /sbin/iptables-save > /etc/iptables/rules.v4 echo "" /sbin/iptables -L -n --line-numbers /sbin/ip6tables -F /sbin/ip6tables -X /sbin/ip6tables -P INPUT DROP /sbin/ip6tables -P OUTPUT DROP /sbin/ip6tables -P FORWARD DROP /sbin/ip6tables-save > /etc/iptables/rules.v6 echo "" echo "" /sbin/ip6tables -L -n --line-numbers
Добавим право запуска и выполним его
chmod +x /etc/iptables.rules.sh
/etc/iptables.rules.sh
Chain INPUT (policy DROP) num target prot opt source destination 1 ACCEPT all -- 127.0.0.1 0.0.0.0/0 2 ACCEPT all -- 0.0.0.0/0 0.0.0.0/0 3 ACCEPT all -- 0.0.0.0/0 0.0.0.0/0 ctstate RELATED,ESTABLISHED 4 ACCEPT all -- 0.0.0.0/0 0.0.0.0/0 state RELATED,ESTABLISHED 5 ACCEPT tcp -- 192.168.0.0/24 0.0.0.0/0 tcp dpt:22 6 DROP all -- 0.0.0.0/0 0.0.0.0/0 Chain FORWARD (policy DROP) num target prot opt source destination Chain OUTPUT (policy ACCEPT) num target prot opt source destination Chain INPUT (policy DROP) num target prot opt source destination Chain FORWARD (policy DROP) num target prot opt source destination Chain OUTPUT (policy DROP) num target prot opt source destination
Установка операционной системы на Raspberry Pi
Первым делом нам понадобится операционная система (ОС), на которой будет работать наша плата Raspberry Pi, самым популярным и универсальным вариантом ОС для нее сейчас является операционная система Raspberry Pi OS (которая раньше называлась Raspbian).
Актуальный вариант
Начинающим лучше выбирать вариант NOOBS — в этом случае вы попадете на страницу, где вам предложат скачать приложение Imager — которое очень упрощает установку нужной ОС на SD карту для платы Raspberry Pi. Там же находится и ссылка на видео (оно длительностью всего 45 секунд), на котором подробно объясняется как правильно установить ОС для Raspberry Pi с помощью приложения Imager. Вот это видео:
Если же вы более «продвинутый» пользователь, то можно выбрать первый вариант (не NOOBS), в этом случае вы попадете на страницу, где вам предложат скачать один из вариантов Raspberry Pi OS — начиная от самого продвинутого до варианта Lite, который вы потом можете установить на SD карту.
Если же вы прокрутите первоначальную страницу загрузок (https://www.raspberrypi.org/downloads./) вниз, то вы увидите там доступные альтернативные операционные системы для Raspberry Pi.
Устаревший вариант
Если же вам по какой-нибудь причине (а они возможны) необходимо установить не свежую версию Raspberry Pi OS, а ее устаревший вариант Raspbian, то вам необходимо скачать к себе на компьютер архив с образом этой ОС (где его лучше сейчас скачать — к сожалению не знаю) и распаковать скачанный архив (с помощью Winrar или Winzip, к примеру).
После скачивания этой программы установите ее, после этого вы увидите как ее значок появится у вас на рабочем столе.
Чтобы установить операционную систему Raspbian на SD карту, выполните следующую последовательность шагов:
1. Распакуйте скачанный архив ‘Raspbian Jessie’ на рабочий стол своего компьютера, после этого вы увидите файл образа операционной системы как показано на рисунке ниже. Вы должны иметь как минимум 5 Гб свободного места на диске ‘C’ своего компьютера чтобы выполнить эту операцию.
2. Вставьте SD карту в свой компьютер – в соответствующий слот или с помощью USB адаптера если у вас нет такого слота.
3. Произведите форматирование вашей SD карты, для этого выберите опцию быстрого форматирования, установите тип файловой системы ‘FAT32’ и нажмите кнопку ‘Start’ для начала процесса форматирования.
4. После завершения процесса форматирования запустите ранее скачанное приложение “win32diskimager”.
5. В этой программе выберите SD карту, файл образа операционной системы и нажмите на кнопку ’WRITE’ как показано на следующем рисунке.
6. После завершения процесса записи безопасно извлеките SD карту из вашего компьютера.
После этого можете вставлять SD карту в вашу Raspberry Pi и приступать к настройке ОС для нее. Этот процесс мы подробно описали в следующей статье.