Use uboot raw env

Signed-off-by: Pascal Vizeli <pvizeli@syshack.ch>
This commit is contained in:
Pascal Vizeli 2018-06-11 12:46:09 +00:00
parent ffbef150ca
commit 76a4376a96
7 changed files with 37 additions and 31 deletions

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -1 +1 @@
/mnt/state/hassos.env 0x0000 0x4000
/dev/disk/by-partlabel/hassos-bootstate 0x00 0x4000

View File

@ -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

View File

@ -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}