* Implement manual boot switch when downgrading to Barebox When installing OS 7 or older from a OS 8 installation, the bootloader is changed back to Barebox. However, in this case Barebox does not know which boot slot is correct (and rauc won't update Barebox' state as it is configured to work with GRUB in OS 8+). This implements a poor mans version to switch the boot partition. It clears Barebox state and deploys one of the two pre-configured default states, booting either boot slot A or B.
77 lines
1.1 KiB
Plaintext
77 lines
1.1 KiB
Plaintext
/dts-v1/;
|
|
/ {
|
|
|
|
aliases {
|
|
state = &state;
|
|
};
|
|
|
|
state: state {
|
|
#address-cells = <1>;
|
|
#size-cells = <1>;
|
|
|
|
magic = <0xef98423f>;
|
|
compatible = "barebox,state";
|
|
backend = <&backend_state>;
|
|
backend-type = "raw";
|
|
backend-stridesize = <4048>;
|
|
|
|
bootstate {
|
|
#address-cells = <1>;
|
|
#size-cells = <1>;
|
|
|
|
A {
|
|
#address-cells = <1>;
|
|
#size-cells = <1>;
|
|
remaining_attempts@0 {
|
|
reg = <0x0 0x4>;
|
|
type = "uint32";
|
|
default = <3>;
|
|
};
|
|
priority@4 {
|
|
reg = <0x4 0x4>;
|
|
type = "uint32";
|
|
default = <20>;
|
|
};
|
|
};
|
|
|
|
B {
|
|
#address-cells = <1>;
|
|
#size-cells = <1>;
|
|
remaining_attempts@8 {
|
|
reg = <0x8 0x4>;
|
|
type = "uint32";
|
|
default = <0>;
|
|
};
|
|
priority@c {
|
|
reg = <0xc 0x4>;
|
|
type = "uint32";
|
|
default = <10>;
|
|
};
|
|
};
|
|
|
|
last_chosen@10 {
|
|
reg = <0x10 0x4>;
|
|
type = "uint32";
|
|
};
|
|
};
|
|
|
|
machine_id@14 {
|
|
reg = <0x14 0x24>;
|
|
type = "string";
|
|
default = "";
|
|
};
|
|
};
|
|
|
|
partitions {
|
|
#address-cells = <1>;
|
|
#size-cells = <1>;
|
|
compatible = "fixed-partitions";
|
|
|
|
backend_state: state {
|
|
partuuid = "33236519-7f32-4dff-8002-3390b62c309d";
|
|
};
|
|
};
|
|
|
|
};
|
|
|