mirror of
https://github.com/home-assistant/operating-system.git
synced 2025-07-24 13:36:31 +00:00
Use uboot raw env
Signed-off-by: Pascal Vizeli <pvizeli@syshack.ch>
This commit is contained in:
parent
ffbef150ca
commit
76a4376a96
@ -26,7 +26,6 @@ echo "console=tty1" > ${BOOT_DATA}/cmdline.txt
|
||||
create_boot_image ${BINARIES_DIR}
|
||||
create_overlay_image ${BINARIES_DIR}
|
||||
create_kernel_image ${BINARIES_DIR} bzImage
|
||||
create_barebox_state_image ${BINARIES_DIR}
|
||||
|
||||
create_disk_image ${BINARIES_DIR} ${BINARIES_DIR}/harddisk.img 6
|
||||
|
||||
|
@ -45,7 +45,6 @@ echo "dwc_otg.lpm_enable=0 console=tty1" > ${BOOT_DATA}/cmdline.txt
|
||||
# Create other layers
|
||||
create_boot_image ${BINARIES_DIR}
|
||||
create_overlay_image ${BINARIES_DIR}
|
||||
create_uboot_state_image ${BINARIES_DIR}
|
||||
create_kernel_image ${BINARIES_DIR} ${KERNEL_NAME}
|
||||
|
||||
create_disk_image ${BINARIES_DIR} ${IMAGE_FILE} 2
|
||||
|
@ -7,11 +7,11 @@ CONFIG_SYS_PROMPT="HassOS> "
|
||||
# CONFIG_DOS_PARTITION is not set
|
||||
# CONFIG_ISO_PARTITION is not set
|
||||
CONFIG_EFI_PARTITION=y
|
||||
CONFIG_FS_EXT4=y
|
||||
# CONFIG_ENV_IS_NOWHERE is not set
|
||||
# CONFIG_ENV_IS_IN_FAT is not set
|
||||
CONFIG_ENV_IS_IN_EXT4=y
|
||||
CONFIG_ENV_EXT4_DEVICE_AND_PART="0:6"
|
||||
CONFIG_ENV_EXT4_FILE="/hassos.env"
|
||||
# CONFIG_ENV_IS_IN_EXT4 is not set
|
||||
CONFIG_ENV_IS_IN_MMC=y
|
||||
CONFIG_CONSOLE_SCROLL_LINES=10
|
||||
CONFIG_SYS_WHITE_ON_BLACK=y
|
||||
CONFIG_REGEX=y
|
||||
|
@ -0,0 +1,28 @@
|
||||
From 1529062f72cee8061b4733e1148357d227639900 Mon Sep 17 00:00:00 2001
|
||||
From: Pascal Vizeli <pvizeli@syshack.ch>
|
||||
Date: Mon, 11 Jun 2018 11:09:10 +0000
|
||||
Subject: [PATCH 1/1] Support HassOS bootstate partition
|
||||
|
||||
Signed-off-by: Pascal Vizeli <pvizeli@syshack.ch>
|
||||
---
|
||||
env/mmc.c | 4 ++++
|
||||
1 file changed, 4 insertions(+)
|
||||
|
||||
diff --git a/env/mmc.c b/env/mmc.c
|
||||
index 5e3da6dca7..75c06899d1 100644
|
||||
--- a/env/mmc.c
|
||||
+++ b/env/mmc.c
|
||||
@@ -18,6 +18,10 @@
|
||||
#include <search.h>
|
||||
#include <errno.h>
|
||||
|
||||
+#define CONFIG_SYS_MMC_ENV_DEV 0
|
||||
+#define CONFIG_ENV_OFFSET 0x25100000
|
||||
+#define CONFIG_ENV_SIZE 0x400000
|
||||
+
|
||||
#define __STR(X) #X
|
||||
#define STR(X) __STR(X)
|
||||
|
||||
--
|
||||
2.17.1
|
||||
|
@ -1 +1 @@
|
||||
/mnt/state/hassos.env 0x0000 0x4000
|
||||
/dev/disk/by-partlabel/hassos-bootstate 0x00 0x4000
|
||||
|
@ -8,26 +8,26 @@ bootloader=%BOOTLOADER%
|
||||
path=/etc/rauc/keyring.pem
|
||||
|
||||
[slot.boot.0]
|
||||
device=/dev/disk/by-partuuid/b3dd0952-733c-4c88-8cba-cab9b8b4377f
|
||||
device=/dev/disk/by-partlabel/hassos-boot
|
||||
type=vfs
|
||||
|
||||
[slot.kernel.0]
|
||||
device=/dev/disk/by-partuuid/26700fc6-b0bc-4ccf-9837-ea1a4cba3e65
|
||||
device=/dev/disk/by-partlabel/hassos-kernel0
|
||||
type=ext4
|
||||
bootname=A
|
||||
|
||||
[slot.kernel.1]
|
||||
device=/dev/disk/by-partuuid/fc02a4f0-5350-406f-93a2-56cbed636b5f
|
||||
device=/dev/disk/by-partlabel/hassos-kernel1
|
||||
type=ext4
|
||||
bootname=B
|
||||
|
||||
[slot.rootfs.0]
|
||||
device=/dev/disk/by-partuuid/8d3d53e3-6d49-4c38-8349-aff6859e82fd
|
||||
device=/dev/disk/by-partlabel/hassos-system0
|
||||
type=raw
|
||||
parent=kernel.0
|
||||
|
||||
[slot.rootfs.1]
|
||||
device=/dev/disk/by-partuuid/a3ec664e-32ce-4665-95ea-7ae90ce9aa20
|
||||
device=/dev/disk/by-partlabel/hassos-system1
|
||||
type=raw
|
||||
parent=kernel.1
|
||||
|
||||
|
@ -55,22 +55,6 @@ function create_kernel_image() {
|
||||
}
|
||||
|
||||
|
||||
function create_barebox_state_image() {
|
||||
local bootstate_img="${1}/bootstate.img"
|
||||
|
||||
dd if=/dev/zero of=${bootstate_img} bs=${BOOTSTATE_SIZE} count=1
|
||||
}
|
||||
|
||||
|
||||
function create_uboot_state_image() {
|
||||
local bootstate_img="${1}/bootstate.img"
|
||||
|
||||
dd if=/dev/zero of=${bootstate_img} bs=${BOOTSTATE_SIZE} count=1
|
||||
#mkfs.ext4 -L "hassos-bootstate" -E lazy_itable_init=0 -O ^has_journal ${bootstate_img}
|
||||
mkfs.ext2 -L "hassos-bootstate" -E lazy_itable_init=0 ${bootstate_img}
|
||||
}
|
||||
|
||||
|
||||
function create_disk_image() {
|
||||
local boot_img="${1}/boot.vfat"
|
||||
local rootfs_img="${1}/rootfs.squashfs"
|
||||
@ -78,13 +62,11 @@ function create_disk_image() {
|
||||
local data_img="${1}/data.ext4"
|
||||
local kernel0_img="${1}/kernel0.ext4"
|
||||
local kernel1_img="${1}/kernel1.ext4"
|
||||
local bootstate_img="${1}/bootstate.img"
|
||||
local hdd_img=${2}
|
||||
local hdd_count=${3:-2}
|
||||
|
||||
local loop_dev="/dev/mapper/$(losetup -f | cut -d'/' -f3)"
|
||||
local boot_offset=0
|
||||
local bootstate_offset=0
|
||||
local rootfs_offset=0
|
||||
local kernel0_offset=0
|
||||
local kernel1_offset=0
|
||||
@ -110,7 +92,6 @@ function create_disk_image() {
|
||||
|
||||
sgdisk -n 5:0:+${SYSTEM_SIZE} -c 5:"hassos-system1" -t 5:"0FC63DAF-8483-4772-8E79-3D69D8477DE4" -u 5:${SYSTEM1_UUID} ${hdd_img}
|
||||
|
||||
bootstate_offset="$(sgdisk -F ${hdd_img})"
|
||||
sgdisk -n 6:0:+${BOOTSTATE_SIZE} -c 6:"hassos-bootstate" -u 6:${BOOTSTATE_UUID} ${hdd_img}
|
||||
|
||||
overlay_offset="$(sgdisk -F ${hdd_img})"
|
||||
@ -122,7 +103,6 @@ function create_disk_image() {
|
||||
# Write Images
|
||||
sgdisk -v
|
||||
dd if=${boot_img} of=${hdd_img} conv=notrunc bs=512 obs=512 seek=${boot_offset}
|
||||
dd if=${bootstate_img} of=${hdd_img} conv=notrunc bs=512 obs=512 seek=${bootstate_offset}
|
||||
dd if=${kernel0_img} of=${hdd_img} conv=notrunc bs=512 obs=512 seek=${kernel0_offset}
|
||||
dd if=${kernel1_img} of=${hdd_img} conv=notrunc bs=512 obs=512 seek=${kernel1_offset}
|
||||
dd if=${rootfs_img} of=${hdd_img} conv=notrunc bs=512 obs=512 seek=${rootfs_offset}
|
||||
|
Loading…
x
Reference in New Issue
Block a user