[Freedombox-discuss] boot partition full

permondes - sagen sagen at permondes.de
Sat Jan 7 12:47:12 UTC 2017


Am Samstag, den 07.01.2017, 12:07 +0100 schrieb Jonas Smedegaard:

> Quoting permondes - sagen (2017-01-07 10:39:28)
> > Am Samstag, den 07.01.2017, 12:17 +0530 schrieb Sunil Mohan Adapa:
> > 
> > > On 01/07/2017 05:43 AM, Jonas Smedegaard wrote:
> > > [...]
> > > >> So it is still booting the 4.3 kernel, which is unknown to aptitude.
> > > > 
> > > > Seems your hardware is ARM-based.  Commonly ARM-based hardware need the 
> > > > package flashkernel to copy installed kernel + initramfs to the 
> > > > different (hardware-specific) location where the bootloader looks for 
> > > > it.
> > > 
> > > Indeed you need flash-kernel package.
> > > 
> > > If you have boot.cmd instead of boot.scr and also don't have
> > > flash-kernel package, you must upgrading and running a FreedomBox image
> > > from many releases ago.
> > > 
> > > To fix the situation,
> > > 
> > > 1. Take backup of your SD card.
> > > 
> > > 2. Make sure /boot is ext2fs and not vfat.
> > > 
> > > 3. Install flash-kernel.  This will create the proper /boot/boot.scr
> > > file with a line like "setenv fk_kvers '4.8.0-2-armmp-lpae'".
> > > 
> > > 4. Optionally set /etc/flash-kernel/machine to "Olimex
> > > A20-OLinuXino-LIME2" (depending on your board).  This should not be
> > > required as flash-kernel will properly detect the machine when you are
> > > running it from within the machine.
> > > 
> > > 4. Move /boot/boot.cmd to /boot/boot.cmd.bak.
> > > 
> > > 5. Reboot and check that boot happens properly.
> > > 
> > > If you already have flash-kernel package and /boot/boot.scr, then simply
> > > moving /boot/boot.cmd should fix the situation.
> > > 
> > 
> > Thanks Jonas, Sunil. flash-kernel was indeed missing. However,
> > installing, moving boot.cmd did not help, I am still in 4.3.0 (checked
> > with uname -r), boot.cmd was not newly generated. I realize that the
> > file boot.scr has some non-readable characters at the beginning, this
> > was actually already the case before:
> > 
> > 
> > 
> > > ...:/boot$ cat boot.scr
> > > 'V=�ѠV����#�Bi�setenv mmcdev 0
> > > setenv mmcpart 1
> > > 
> > > setenv mmcroot /dev/mmcblk0p2 ro
> > > setenv mmcrootfstype btrfs rootwait fixrtc
> > > setenv mmcrootflags subvol=@
> > > 
> > > setenv console ttyS0,115200n8
> > > 
> > > setenv kernel_file vmlinuz-4.3.0-1-armmp-lpae
> > > setenv initrd_file initrd.img-4.3.0-1-armmp-lpae
> > > setenv fdtfile sun7i-a20-olinuxino-lime.dtb
> > > ...
> > 
> > Should I move also boot.scr, then reinstall flash-kernel and restart?
> 
> When flash-kernel is installed, it have added a hook to the kernel 
> install routines, so instead of moving things around manually it should 
> be enough (and safer, and easier to debug) that you afterwards run 
> dpkg-reconfigure linux-image-4.8.0-2-armmp-lpae (adjust for the kernel 
> you want to reinstall).
> 
> As for the stuff it beginning of the file: I believe it is opposite: the 
> compiled file as a convenience embeds the cleartext content too at the 
> end ;-)
> 
> 
>  - Jonas


Hi Jonas,

unfortunately, I am rather kind of the target user for the Freedombox,
all these things are far beyond my knowledge of Linux - even though I
celebrated my 10 years with Linux last summer.
So the reconfig went through successfully (I think), here is the output:


> ...:/boot$ sudo dpkg-reconfigure linux-image-4.8.0-2-armmp-lpae
> 
> [sudo] Passwort für Dietmar: 
> 
> /etc/kernel/postinst.d/apt-auto-removal:
> 
> N: Datei »50unattended-upgrades.ucf-dist« in Verzeichnis
> »/etc/apt/apt.conf.d/« wird ignoriert, da sie eine ungültige
> Dateinamen-Erweiterung hat.
> 
> N: Datei »50unattended-upgrades.ucf-dist« in Verzeichnis
> »/etc/apt/apt.conf.d/« wird ignoriert, da sie eine ungültige
> Dateinamen-Erweiterung hat.
> 
> N: Datei »50unattended-upgrades.ucf-dist« in Verzeichnis
> »/etc/apt/apt.conf.d/« wird ignoriert, da sie eine ungültige
> Dateinamen-Erweiterung hat.
> 
> /etc/kernel/postinst.d/initramfs-tools:
> 
> update-initramfs: Generating /boot/initrd.img-4.8.0-2-armmp-lpae
> 
> DTB: sun7i-a20-olinuxino-lime.dtb
> 
> Installing /usr/lib/linux-image-4.8.0-2-armmp-lpae/sun7i-a20-olinuxino-lime.dtb into /boot/dtbs/4.8.0-2-armmp-lpae/sun7i-a20-olinuxino-lime.dtb
> 
> Installing new sun7i-a20-olinuxino-lime.dtb.
> 
> Installing /usr/lib/linux-image-4.8.0-2-armmp-lpae/sun7i-a20-olinuxino-lime.dtb into /boot/dtbs/4.8.0-2-armmp-lpae/sun7i-a20-olinuxino-lime.dtb
> 
> Taking backup of sun7i-a20-olinuxino-lime.dtb.
> 
> Installing new sun7i-a20-olinuxino-lime.dtb.
> 
> flash-kernel: deferring update (trigger activated)
> 
> /etc/kernel/postinst.d/zz-flash-kernel:
> 
> DTB: sun7i-a20-olinuxino-lime.dtb
> 
> Installing /usr/lib/linux-image-4.8.0-2-armmp-lpae/sun7i-a20-olinuxino-lime.dtb into /boot/dtbs/4.8.0-2-armmp-lpae/sun7i-a20-olinuxino-lime.dtb
> 
> Taking backup of sun7i-a20-olinuxino-lime.dtb.
> 
> Installing new sun7i-a20-olinuxino-lime.dtb.
> 
> Installing /usr/lib/linux-image-4.8.0-2-armmp-lpae/sun7i-a20-olinuxino-lime.dtb into /boot/dtbs/4.8.0-2-armmp-lpae/sun7i-a20-olinuxino-lime.dtb
> 
> Taking backup of sun7i-a20-olinuxino-lime.dtb.
> 
> Installing new sun7i-a20-olinuxino-lime.dtb.
> 
> flash-kernel: deferring update (trigger activated)
> 
> Trigger für flash-kernel (3.73) werden verarbeitet ...
> 
> DTB: sun7i-a20-olinuxino-lime.dtb
> 
> Installing /usr/lib/linux-image-4.8.0-2-armmp-lpae/sun7i-a20-olinuxino-lime.dtb into /boot/dtbs/4.8.0-2-armmp-lpae/sun7i-a20-olinuxino-lime.dtb
> 
> Taking backup of sun7i-a20-olinuxino-lime.dtb.
> 
> Installing new sun7i-a20-olinuxino-lime.dtb.
> 
> flash-kernel: installing version 4.8.0-2-armmp-lpae
> 
> Generating boot script u-boot image... done.
> 
> Taking backup of boot.scr.
> 
> Installing new boot.scr.
> 

boot.scr also looks okay:



> ...:/boot$ cat boot.scr
> 'V�or�Xp�Z	_
>                  C� boot script	W# boot script for Allwinner SunXi-based devices
> 
> # Mainline u-boot v2014.10 introduces a new default environment and
> # a new common bootcmd handling for all platforms, which is not fully
> # compatible with the old-style environment used by u-boot-sunxi.
> # This script therefore needs to check in which environment it
> # is running and set some variables accordingly.
> 
> # On u-boot-sunxi, this script assumes that ${device} and ${partition}
> # are set.
> 
> # The new-style environment predefines ${boot_targets}, the old-style
> # environment does not.
> if test -n "${boot_targets}"
> then
>   echo "Mainline u-boot / new-style environment detected."
>   # Mainline u-boot v2014.10 uses ${devtype}, ${devnum} and
>   # ${bootpart} where u-boot-sunxi uses ${device} and ${partition}.
>   # ${distro_bootpart} replaced ${bootpart} in u-boot v2016.01.
>   if test -z "${device}"; then setenv device "${devtype}"; fi
>   if test -z "${partition}${distro_bootpart}"; then setenv partition "${devnum}:${bootpart}"; fi
>   if test -z "${partition}"; then setenv partition "${devnum}:${distro_bootpart}"; fi
> else
>   echo "U-boot-sunxi / old-style environment detected."
>   # U-boot-sunxi does not predefine kernel_addr_r, fdt_addr_r and
>   # ramdisk_addr_r, so they have to be manually set. Use the values
>   # from mainline u-boot v2014.10, except for ramdisk_addr_r,
>   # which is set to 0x44300000 to allow for initrds larger than
>   # 13MB on u-boot-sunxi.
>   setenv kernel_addr_r 0x42000000
>   setenv fdt_addr_r 0x43000000
>   setenv ramdisk_addr_r 0x44300000
> fi
> 
> if test -n "${console}"; then
>   setenv bootargs "${bootargs} console=${console}"
> fi
> 
> setenv bootargs  ${bootargs} quiet
> 
> 
> image_locations='/boot/ /'
> if test -z "${fk_kvers}"; then
>    setenv fk_kvers '4.8.0-2-armmp-lpae'
> fi
> 
> if test -n "${fdtfile}"; then
>    setenv fdtpath dtbs/${fk_kvers}/${fdtfile}
> else
>    setenv fdtpath dtb-${fk_kvers}
> fi
> 
> for pathprefix in ${image_locations}
> do
>   if test -e ${device} ${partition} ${pathprefix}vmlinuz-${fk_kvers}
>   then
>     load ${device} ${partition} ${kernel_addr_r} ${pathprefix}vmlinuz-${fk_kvers} \
>     && load ${device} ${partition} ${fdt_addr_r} ${pathprefix}${fdtpath} \
>     && load ${device} ${partition} ${ramdisk_addr_r} ${pathprefix}initrd.img-${fk_kvers} \
>     && echo "Booting Debian ${fk_kvers} from ${device} ${partition}..." \
>     && bootz ${kernel_addr_r} ${ramdisk_addr_r}:${filesize} ${fdt_addr_r}
>   fi
> done
> 

But the device does not boot!
I can unplug the micro-SD card to check some log files on my computer, do you have an idea where to start?

Thanks
	Dietmar
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.alioth.debian.org/pipermail/freedombox-discuss/attachments/20170107/30fd93b2/attachment-0001.html>


More information about the Freedombox-discuss mailing list