~ogra/+junk/snappy-systems

« back to all changes in this revision

Viewing changes to generic-i386/grub.cfg

mergedĀ lp:~mvo/snappy-hub/snappy-systems-new-kernel-os-logic/

Show diffs side-by-side

added added

removed removed

Lines of Context:
12
12
    set snappy_mode=regular
13
13
    save_env snappy_mode
14
14
fi
15
 
if [ -z "$snappy_ab" ]; then
16
 
    set snappy_ab=a
17
 
    save_env snappy_ab
18
 
fi
19
15
 
20
16
if [ "$snappy_mode" = "try" ]; then
21
17
    if [ "$snappy_trial_boot" = "1" ]; then
22
 
        # Previous boot failed to unset snappy_trial_boot, so toggle
23
 
        # rootfs.
24
 
        if [ "$snappy_ab" = "a" ]; then
25
 
            set snappy_ab=b
26
 
        else
27
 
            set snappy_ab=a
28
 
        fi
29
 
        save_env snappy_ab
 
18
        # Previous boot failed to unset snappy_trial_boot, so revert
 
19
        # to last known good configuration
 
20
        set snappy_os="$snappy_good_os"
 
21
        set snappy_kernel="$snappy_good_kernel"
 
22
        save_env snappy_os
 
23
        save_env snappy_kernel
30
24
    else
31
25
        # Trial mode so set the snappy_trial_boot (which snappy is
32
26
        # expected to unset).
38
32
    fi
39
33
fi
40
34
 
41
 
set label="system-$snappy_ab"
42
 
set cmdline="root=LABEL=$label ro init=/lib/systemd/systemd console=ttyS0 console=tty1 panic=-1"
 
35
set label="writable"
 
36
set cmdline="root=LABEL=$label snappy_os=$snappy_os snappy_kernel=$snappy_kernel ro init=/lib/systemd/systemd console=ttyS0 console=tty1 panic=-1"
43
37
 
44
38
menuentry "$label" {
45
 
    if [ -e "$prefix/$snappy_ab/vmlinuz" ]; then
46
 
        linux $prefix/$snappy_ab/vmlinuz $cmdline
47
 
        initrd $prefix/$snappy_ab/initrd.img
48
 
    else
49
 
        # old-style kernel-in-os-partition
50
 
        search --no-floppy --set --label "$label"
51
 
        linux /vmlinuz $cmdline
52
 
        initrd /initrd.img
53
 
    fi
 
39
    search --label $label --set=writable
 
40
    loopback loop ($writable)/system-data/var/lib/snappy/snaps/$snappy_kernel
 
41
    linux (loop)/vmlinuz $cmdline
 
42
    initrd (loop)/initrd.img
54
43
}