Nuking sysctl -n vm.min_free_kbytes in functions.sh::prepare_environment()
gets rid of that problem, but script chokes on the next step, determining
root drive, apparently due to issues with presence of proc at this point..
# echo_broadcast "==> Preparing sysctl"
# value_min_free_kbytes=$(sysctl -n vm.min_free_kbytes)
# echo_broadcast "==> sysctl:
vm.min_free_kbytes=[${value_min_free_kbytes}]"
# echo_broadcast "==> sysctl: setting: [sysctl -w
vm.min_free_kbytes=16384]"
# sysctl -w vm.min_free_kbytes=16384
# generate_line 40
One interesting thing... Regarding the flasher script/process, it ALMOST
looks like something is tied to the original uname-r associated with the
stock image on 2018-01-01..
I tried a brief (horrible hack) experiment where I renamed the stock
kernel, from: 4.4.91-ti-r141 to: 4.4.91-ti-r141-stock.
I renamed the vmlinuz image to vmlinuz-4.4.91-ti-r141-stock, the modules
directory to 4.4.91-ti-r141-stock, and the dtbs direcfory to uname-r-stock
and then set uname-r in uEnv.txt to uname-r-stock and ran the flasher.
I saw the same flasher problem (cannot stat /proc/sys/vm) with the renamed
uname-r as with the 4.4.110-ti-r142 image
================================================================================
Prepare environment for flashing
Starting at Mon Jan 1 00:00:01 UTC 2001
----------------------------------------
==> Giving system time to stablize...
5 4 3 2 1
==> Preparing /tmp
==> Preparing sysctl
sysctl: cannot stat /proc/sys/vm/min_free_kbytes: No such file or directory
Traceback (last called is first):
prepare_environment() in /opt/scripts/tools/eMMC/functions.sh:150
main() in /opt/scripts/tools/eMMC/init-eMMC-flasher-v3-no-eeprom.sh:41
The command value_min_free_kbytes=$(sysctl -n vm.min_free_kbytes) exited
with exit code 255.
================================================================================
Tearing Down script environment
==> Unmounting /tmp
I then did something even potentially worse and renamed the 4.4.110-ti-r142
kernel to 4.4.91-ti-r141 (consistent with the original image name) and ran
the flasher image got a bunch of errors, but it looks like the flash
programming process got a lot further along (see below).
Next, I will try to re-build the 4.4.91-ti-r141 kernel with the same
.config as on the 2018-01-01 image, copy that to the uSD card with uname-r
= 4.4.91-ti-r141, and re-run the flasher.
In the meantime, is there a logical explanation for what I just saw??
Either that the flasher script or the presence of /proc somehow depends on
the original uname-r? Recall that if I copy a kernel with a different
uname-r to uSD card and change uname-r in uEnv.txt that the system boots
with that kernel (from uSD card)..
Thanks!
Jeff
================================================================================
Starting eMMC Flasher from microSD media
Version: [1.20171220: btrfs...]
================================================================================
================================================================================
Prepare environment for flashing
Starting at Mon Jan 1 00:00:58 UTC 2001
----------------------------------------
==> Giving system time to stablize...
5 4 3 2 1
==> Preparing /tmp
==> Preparing sysctl
==> sysctl: vm.min_free_kbytes=[2479]
==> sysctl: setting: [sysctl -w vm.min_free_kbytes=16384]
vm.min_free_kbytes = 16384
----------------------------------------
==> Determining root drive
==> console=ttyO2,115200n8 root=/dev/mmcblk0p1 ro rootfstype=ext4 rootwait
init=/opth
----------------------------------------
==> root_drive=[/dev/mmcblk0p1]
====> Root drive identified at [/dev/mmcblk0p1]
==> Boot Drive [/dev/mmcblk0p1]
==> Figuring out Source and Destination devices
====> Source identified: [/dev/mmcblk0]
====> Destination identified: [/dev/mmcblk1]
==> Figuring out machine
====> Machine is TI_AM572x_EVM_Rev_A3
====> Machine is compatible with BeagleBone Black
================================================================================
5 4 3 2 1
================================================================================
Checking running system
==> Copying: [/dev/mmcblk0] -> [/dev/mmcblk1]
==> lsblk:
----------------------------------------
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
mmcblk1boot0 179:16 0 4M 1 disk
mmcblk1boot1 179:24 0 4M 1 disk
mmcblk0 179:0 0 29G 0 disk
`-mmcblk0p1 179:1 0 846M 0 part /
mmcblk1 179:8 0 3.6G 0 disk
`-mmcblk1p1 179:9 0 3.6G 0 part
----------------------------------------
==> df -h | grep rootfs:
----------------------------------------
modprobe: ERROR: ../libkmod/libkmod.c:557 kmod_search_moddep() could not
open moddep'
==> Giving you time to check...
10 9 8 7 6 5 4 3 2 1
================================================================================
================================================================================
Preparing drives
----------------------------------------
==> Erasing: /dev/mmcblk1
----------------------------------------
108+0 records in
108+0 records out
113246208 bytes (113 MB) copied, 8.97986 s, 12.6 MB/s
----------------------------------------
108+0 records in
108+0 records out
113246208 bytes (113 MB) copied, 1.71958 s, 65.9 MB/s
----------------------------------------
==> Erasing: /dev/mmcblk1 complete
----------------------------------------
----------------------------------------
==> Loading /boot/SOC.sh
************************************************************
#!/bin/sh
format=1.0
board=beagle_x15
bootloader_location=dd_spl_uboot_boot
bootrom_gpt=
dd_spl_uboot_count=2
dd_spl_uboot_seek=1
dd_spl_uboot_conf=notrunc
dd_spl_uboot_bs=128k
dd_spl_uboot_backup=/opt/backup/uboot/MLO
dd_uboot_count=4
dd_uboot_seek=1
dd_uboot_conf=notrunc
dd_uboot_bs=384k
dd_uboot_backup=/opt/backup/uboot/u-boot.img
boot_fstype=ext4
conf_boot_startmb=4
conf_boot_endmb=
sfdisk_fstype=L
boot_label=BOOT
rootfs_label=rootfs
#Kernel
dtb=
serial_tty=ttyO2
usbnet_mem=
************************************************************
==> Loaded
----------------------------------------
================================================================================
Writing bootloader to [/dev/mmcblk1]
----------------------------------------
==> Figuring out options for SPL U-Boot copy ...
===> Will use : count=2 seek=1 conv=notrunc bs=128k
==> Figuring out options for U-Boot copy ...
===> Will use : count=4 seek=1 conv=notrunc bs=384k
==> Copying SPL U-Boot with dd if=/opt/backup/uboot/MLO of=/dev/mmcblk1
count=2 seekk
------------------------------------------------------------
0+1 records in
0+1 records out
122070 bytes (122 kB) copied, 0.0182185 s, 6.7 MB/s
------------------------------------------------------------
==> Copying U-Boot with dd if=/opt/backup/uboot/u-boot.img of=/dev/mmcblk1
count=4 sk
------------------------------------------------------------
2+1 records in
2+1 records out
1042348 bytes (1.0 MB) copied, 0.150472 s, 6.9 MB/s
------------------------------------------------------------
Writing bootloader completed
================================================================================
================================================================================
Partitionning /dev/mmcblk1
----------------------------------------
==> sfdisk parameters:
sfdisk: [sfdisk from util-linux 2.25.2]
sfdisk: [sfdisk --force --Linux --in-order --unit M /dev/mmcblk1]
sfdisk: [4,,L,*]
==> Partitionning
------------------------------------------------------------
[ 43.171121] mmcblk1: p1
sfdisk: Checking that no-one is using this disk right now ...
sfdisk: OK
Disk /dev/mmcblk1: 116736 cylinders, 4 heads, 16 sectors/track
sfdisk: /dev/mmcblk1: unrecognized partition table type
Old situation:
sfdisk: No partitions found
New situation:
Units: 1MiB = 1024*1024 bytes, blocks of 1024 bytes, counting from 0
Device Boot Start End MiB #blocks Id System
/dev/mmcblk1p1 * 4 3647 3644 3731456 83 Linux
/dev/mmcblk1p2 0 - 0 0 0 Empty
/dev/mmcblk1p3 0 - 0 0 0 Empty
/dev/mmcblk1p4 0 - 0 0 0 Empty
Successfully wrote the new partition table
Re-reading the partition table ...
sfdisk: If you created or changed a DOS partition, /dev/foo7, say, then use
dd(1)
to zero the first 512 bytes: dd if=/dev/zero of=/dev/foo7 bs=512 count=1
(See fdisk(8).)
------------------------------------------------------------
==> Partitionning Completed
==> Generated Partitions:
------------------------------------------------------------
Disk /dev/mmcblk1: 116736 cylinders, 4 heads, 16 sectors/track
Units: cylinders of 32768 bytes, blocks of 1024 bytes, counting from 0
Device Boot Start End #cyls #blocks Id System
/dev/mmcblk1p1 * 128 116735 116608 3731456 83 Linux
/dev/mmcblk1p2 0 - 0 0 0 Empty
/dev/mmcblk1p3 0 - 0 0 0 Empty
/dev/mmcblk1p4 0 - 0 0 0 Empty
------------------------------------------------------------
================================================================================
================================================================================
Preparing future rootfs to receive files
----------------------------------------
==> Formatting rootfs with mkfs.ext4 -O ^metadata_csum,^64bit
/dev/mmcblk1p1 -L roos
--------------------------------------------------------------------------------
mke2fs 1.43 (17-May-2016)
Discarding device blocks: done
Creating filesystem with 932864 4k blocks and 233392 inodes
Filesystem UUID: f1ba24df-0109-4b9b-8598-eb34ae259aca
Superblock backups stored on blocks:
32768, 98304, 163840, 229376, 294912, 819200, 884736
Allocating group tables: done
Writing inode tables: done
Creating journal (16384 blocks): done
Writing superblocks and filesystem accounting information: done
--------------------------------------------------------------------------------
==> Formatting rootfs: /dev/mmcblk1p1 complete
==> Creating temporary rootfs directory (/tmp/rootfs)
==> Mounting /dev/mmcblk1p1 to /tmp/rootfs
[ 53.866332] EXT4-fs (mmcblk1p1): mounted filesystem with ordered data
mode. Opts:)
================================================================================
================================================================================
Copying: Current rootfs to /dev/mmcblk1p1
----------------------------------------
==> rsync: / -> /tmp/rootfs
----------------------------------------
[ 54.047765] random: nonblocking pool is initialized
----------------------------------------
==> Copying: Kernel modules
===> Creating directory for modules
===> rsync: /lib/modules/4.4.110-ti-r142/ ->
/tmp/rootfs/lib/modules/4.4.110-ti-r142/
----------------------------------------
rsync: change_dir "/lib/modules/4.4.110-ti-r142" failed: No such file or
directory ()
rsync error: some files/attrs were not transferred (see previous errors)
(code 23) a]
writing to [/dev/mmcblk1] failed...
----------------------------------------
On Tuesday, February 13, 2018 at 5:25:57 PM UTC-6, RobertCNelson wrote:
>
> Weird, for now just nuke that sysctr setting, it's not mandatory, it fixed
> some randomness on the bones, which have a quarter the memory of the x15..
>
> Regards,
>
> On Feb 13, 2018 5:17 PM, "Jeff Andich" <[email protected] <javascript:>>
> wrote:
>
>> Hi,
>>
>> I burned a uSD card with
>> bbx15-debian-8.10-console-armhf-2018-01-01-1gb.img.xz which I got from
>> elinux.org. The kernel which comes with that image is 4.4.91-ti-r141.
>> But I have been building kernel version 4.4.110-ti-r142 from source
>> following the instructions on eewiki.net for the BB-X15, and copying the
>> kernel image, dtbs, and modules to that same uSD card which still has the
>> stock kernel on it. Both kernel's appear to run just fine from uSD card
>> when uname-r is changed in uEnv.txt.
>>
>> But when I run try to run the eMMC flasher script with the 4.4.110 (built
>> from source) kernel running instead of the "stock kernel" running the
>> flasher script dies when /proc/sys/vm/min_free_kbytes isn't there and then
>> you see a kernel panic (please see console dump below). However, when I
>> switch the running kernel back to the stock kernel, 4.4.91-ti-r141 which
>> came with that image, the eMMC flasher script again works. I've tried
>> running both, /opt/scripts/tools/eMMC/init-eMMC-flasher-v3-no-eeprom.sh
>> and init-eMMC-flasher-v3-x15_b1.sh, both with the same result (I think).
>>
>> I'm wondering what other crucial step needs to be followed which I
>> missed... I didn't touch the filesystem which was already part of the
>> 2018-01-01 console BB-X15 image on that uSD card, but when I run "mount" on
>> both kernels, I get differences (see below).
>>
>>
>> Please take a look at what I've posted below and give me some clues as to
>> where to look or what to read up on next..
>>
>> Thanks!!
>>
>>
>>
>>
>> *When the kernel built from source (4.4.110) is running from uSD card,
>> and I'm logged in as debian (or have typed sudo su from debian), I'm able
>> to run /sbin/sysctl -n vm.min_free_kbytes both as "debian" and su. So proc
>> appears to be present on the 4.4.110 kernel running from uSD card once
>> logged in:
>>
>> *When running both kernels from the uSD card, I ran "zcat
>> /proc/config.gz" and the configurations were "pretty similar." (see diff
>> below):
>>
>> < # Linux/arm 4.4.91 Kernel Configuration
>> ---
>> > # Linux/arm 4.4.110 Kernel Configuration
>> 1208a1209
>> > # CONFIG_NET_DSA is not set
>> 2809,2810c2810,2811
>> < CONFIG_SERIAL_8250_NR_UARTS=6
>> < CONFIG_SERIAL_8250_RUNTIME_UARTS=6
>> ---
>> > CONFIG_SERIAL_8250_NR_UARTS=9
>> > CONFIG_SERIAL_8250_RUNTIME_UARTS=9
>>
>>
>> *One thing that's different is the outputs of the "mount" command run on
>> the two kernels:
>>
>> > /dev/mmcblk0p1 on / type ext4
>> (rw,relatime,errors=remount-ro,data=ordered)
>> > devtmpfs on /dev type devtmpfs
>> (rw,relatime,size=824360k,nr_inodes=97302,mode=755)
>> 3,6d4
>> < udev on /dev type devtmpfs
>> (rw,relatime,size=10240k,nr_inodes=96053,mode=755)
>> < devpts on /dev/pts type devpts
>> (rw,nosuid,noexec,relatime,gid=5,mode=620,ptmxmode=000)
>> < tmpfs on /run type tmpfs (rw,nosuid,relatime,size=372500k,mode=755)
>> < /dev/mmcblk0p1 on / type ext4
>> (rw,relatime,errors=remount-ro,data=ordered)
>> 8a7,8
>> > devpts on /dev/pts type devpts
>> (rw,nosuid,noexec,relatime,gid=5,mode=620,ptmxmode=000)
>> > tmpfs on /run type tmpfs (rw,nosuid,nodev,mode=755)
>> 13,17d12
>> < cgroup on /sys/fs/cgroup/freezer type cgroup
>> (rw,nosuid,nodev,noexec,relatime,freezer)
>> < cgroup on /sys/fs/cgroup/blkio type cgroup
>> (rw,nosuid,nodev,noexec,relatime,blkio)
>> < cgroup on /sys/fs/cgroup/perf_event type cgroup
>> (rw,nosuid,nodev,noexec,relatime,perf_event)
>> < cgroup on /sys/fs/cgroup/devices type cgroup
>> (rw,nosuid,nodev,noexec,relatime,devices)
>> < cgroup on /sys/fs/cgroup/cpu,cpuacct type cgroup
>> (rw,nosuid,nodev,noexec,relatime,cpu,cpuacct)
>> 19c14,15
>> < cgroup on /sys/fs/cgroup/cpuset type cgroup
>> (rw,nosuid,nodev,noexec,relatime,cpuset)
>> ---
>> > cgroup on /sys/fs/cgroup/cpu,cpuacct type cgroup
>> (rw,nosuid,nodev,noexec,relatime,cpu,cpuacct)
>> > cgroup on /sys/fs/cgroup/perf_event type cgroup
>> (rw,nosuid,nodev,noexec,relatime,perf_event)
>> 21c17,20
>> < systemd-1 on /proc/sys/fs/binfmt_misc type autofs
>> (rw,relatime,fd=22,pgrp=1,timeout=0,minproto=5,maxproto=5,direct)
>> ---
>> > cgroup on /sys/fs/cgroup/cpuset type cgroup
>> (rw,nosuid,nodev,noexec,relatime,cpuset)
>> > cgroup on /sys/fs/cgroup/freezer type cgroup
>> (rw,nosuid,nodev,noexec,relatime,freezer)
>> > cgroup on /sys/fs/cgroup/devices type cgroup
>> (rw,nosuid,nodev,noexec,relatime,devices)
>> > cgroup on /sys/fs/cgroup/blkio type cgroup
>> (rw,nosuid,nodev,noexec,relatime,blkio)
>> 24c23
>> < configfs on /sys/kernel/config type configfs (rw,relatime)
>> ---
>> > systemd-1 on /proc/sys/fs/binfmt_misc type autofs
>> (rw,relatime,fd=33,pgrp=1,timeout=0,minproto=5,maxproto=5,direct)
>> 26c25,26
>> < tmpfs on /run/user/1000 type tmpfs
>> (rw,nosuid,nodev,relatime,size=186252k,mode=700,uid=1000,gid=1000)
>> ---
>> > configfs on /sys/kernel/config type configfs (rw,relatime)
>> > tmpfs on /run/user/1000 type tmpfs
>> (rw,nosuid,nodev,relatime,size=186248k,mode=700,uid=1000,gid=1000)
>>
>>
>>
>>
>> **** Console dump when attempting to flash the eMMC using kernel
>> 4.4.110-ti-r142 compiled from source *****
>>
>>
>> ================================================================================
>> Starting eMMC Flasher from microSD media
>> Version: [1.20171220: btrfs...]
>>
>> ================================================================================
>>
>>
>> ================================================================================
>> Prepare environment for flashing
>> Starting at Mon Jan 1 00:28:24 UTC 2001
>> ----------------------------------------
>> ==> Giving system time to stablize...
>> 5 4 3 2 1
>> ==> Preparing /tmp
>> ==> Preparing sysctl
>> sysctl: cannot stat /proc/sys/vm/min_free_kbytes: No such file or
>> directory
>> Traceback (last called is first):
>> prepare_environment() in /opt/scripts/tools/eMMC/functions.sh:148
>> main() in /opt/scripts/tools/eMMC/init-eMMC-flasher-v3-x15_b1.sh:43
>> The command value_min_free_kbytes=$(sysctl -n vm.min_free_kbytes) exited
>> with exit code 255.
>>
>> ================================================================================
>> Tearing Down script environment
>> ==> Unmounting /tmp
>>
>> Usage:
>> blockdev -V
>> blockdev --report [devices]
>> blockdev [-v|-q] commands devices
>>
>> Available commands:
>> --getsz get size in 512-byte sectors
>> --setro set read-only
>> --setrw set read-write
>> --getro get read-only
>> --getdiscardzeroes get discard zeroes support status
>> --getss get logical block (sector) size
>> --getpbsz get physical block (sector) size
>> --getiomin get minimum I/O size
>> --getioopt get optimal I/O size
>> --getalignoff get alignment offset in bytes
>> --getmaxsect get max sectors per request
>> --getbsz get blocksize
>> --setbsz <bytes> set blocksize on file descriptor opening the
>> block device
>> --getsize get 32-bit sector count (deprecated, use
>> --getsz)
>> --getsize64 get size in bytes
>> --setra <sectors> set readahead
>> --getra get readahead
>> --setfra <sectors> set filesystem readahead
>> --getfra get filesystem readahead
>> --flushbufs flush buffers
>> --rereadpt reread partition table
>>
>> !==> We don't know how to reset the leds as we are not a BBB compatible
>> device
>> [ 9.441093] Kernel panic - not syncing: Attempted to kill init!
>> exitcode=0x00000100
>> [ 9.441093]
>> [ 9.450268] CPU: 1 PID: 1 Comm: init-eMMC-flash Not tainted
>> 4.4.110-ti-r142 #10
>> [ 9.457603] Hardware name: Generic DRA74X (Flattened Device Tree)
>> [ 9.463733] [<c001be78>] (unwind_backtrace) from [<c0015a90>]
>> (show_stack+0x20/0x24)
>> [ 9.471510] [<c0015a90>] (show_stack) from [<c05c58e0>]
>> (dump_stack+0x8c/0xa0)
>> [ 9.478765] [<c05c58e0>] (dump_stack) from [<c0162170>]
>> (panic+0x100/0x288)
>> [ 9.485758] [<c0162170>] (panic) from [<c0048774>]
>> (complete_and_exit+0x0/0x2c)
>> [ 9.493097] [<c0048774>] (complete_and_exit) from [<c0048810>]
>> (do_group_exit+0x50/0xe0)
>> [ 9.501221] [<c0048810>] (do_group_exit) from [<c00488c0>]
>> (__wake_up_parent+0x0/0x30)
>> [ 9.509171] [<c00488c0>] (__wake_up_parent) from [<c0010e20>]
>> (ret_fast_syscall+0x0/0x50)
>> [ 9.517381] CPU0: stopping
>> [ 9.520099] CPU: 0 PID: 0 Comm: swapper/0 Not tainted 4.4.110-ti-r142
>> #10
>> [ 9.526910] Hardware name: Generic DRA74X (Flattened Device Tree)
>> [ 9.533032] [<c001be78>] (unwind_backtrace) from [<c0015a90>]
>> (show_stack+0x20/0x24)
>> [ 9.540808] [<c0015a90>] (show_stack) from [<c05c58e0>]
>> (dump_stack+0x8c/0xa0)
>> [ 9.548060] [<c05c58e0>] (dump_stack) from [<c001952c>]
>> (handle_IPI+0x2ac/0x2cc)
>> [ 9.555486] [<c001952c>] (handle_IPI) from [<c00095f4>]
>> (gic_handle_irq+0x98/0x9c)
>> [ 9.563090] [<c00095f4>] (gic_handle_irq) from [<c0ab2814>]
>> (__irq_svc+0x54/0x70)
>> [ 9.570598] Exception stack(0xc1013ef8 to 0xc1013f40)
>> [ 9.575665] 3ee0:
>> 00000001 00000000
>> [ 9.583875] 3f00: fe600000 00000000 c1012000 c1015b44 00000000
>> c10ea5a8 c0aba57c c0d4cb38
>> [ 9.592083] 3f20: 00000000 c1013f54 c1013f34 c1013f48 c0033280
>> c00119c0 600f0013 ffffffff
>> [ 9.600296] [<c0ab2814>] (__irq_svc) from [<c00119c0>]
>> (arch_cpu_idle+0x30/0x4c)
>> [ 9.607724] [<c00119c0>] (arch_cpu_idle) from [<c008e0f8>]
>> (default_idle_call+0x30/0x3c)
>> [ 9.615847] [<c008e0f8>] (default_idle_call) from [<c008e460>]
>> (cpu_startup_entry+0x300/0)
>> [ 9.624493] [<c008e460>] (cpu_startup_entry) from [<c0aacc94>]
>> (rest_init+0x88/0x8c)
>> [ 9.632271] [<c0aacc94>] (rest_init) from [<c0f54df4>]
>> (start_kernel+0x434/0x454)
>> [ 9.639787] ---[ end Kernel panic - not syncing: Attempted to kill
>> init! exitcode=0x000000
>> [ 9.639787]
>>
>>
>> --
>> For more options, visit http://beagleboard.org/discuss
>> ---
>> You received this message because you are subscribed to the Google Groups
>> "BeagleBoard" group.
>> To unsubscribe from this group and stop receiving emails from it, send an
>> email to [email protected] <javascript:>.
>> To view this discussion on the web visit
>> https://groups.google.com/d/msgid/beagleboard/5f47f4b8-3e74-4c70-9c9c-b044ab21c688%40googlegroups.com
>>
>> <https://groups.google.com/d/msgid/beagleboard/5f47f4b8-3e74-4c70-9c9c-b044ab21c688%40googlegroups.com?utm_medium=email&utm_source=footer>
>> .
>> For more options, visit https://groups.google.com/d/optout.
>>
>
--
For more options, visit http://beagleboard.org/discuss
---
You received this message because you are subscribed to the Google Groups
"BeagleBoard" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
To view this discussion on the web visit
https://groups.google.com/d/msgid/beagleboard/7a2d8012-b97a-40ff-8386-9ffe84610bc7%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.