My-Book-Live
My-Book-Live copied to clipboard
Jessie image doesn't boot
Hi there, just tried to use the image on a brand new hdd and couldn't make it boot.
This is what I did:
- Partition hdd (GPT) sdx1:ext3 sdx2:ext3 sdx3:linuxswap
- Mounted sdx1
- Extract the tar into it
- Copy the boot.scr file into /boot
- Adjusted
/etc/fstab
to point/DataVolume
tosda2
instead ofsda4
-
sync
andumount
- put the hdd back into the mbl
After that, the mbl doesn't show up in the network at all.
Any ideas?
Hello,
Please, paste your /etc/fstab
Best regards
It's exactly the one in the tarfile but with the 4 replaced by a 2 for /DataVolume. I actualy edited it in place.
Hello
Have you dhcp on your network? By default the image boots with network by dhcp Is the swap partition formatted?
Best regards
Yes to both. I guess the MBL is dead.
Are you seeing any led activity (blue led while it is trying to boot, red light if it fails to boot, green led when it booted correctly) ? Did you copy the proper boot.scr ? In your case it should this one.
MBL's do not die often...
The only way to find out with certainty what really happens when you turn on power is to enable netconsole or to solder a UART cable...
I see a blue light when it's just powered on, then a reddish/yellowish/greenish light and that's all.
Ethernet shows the link light and activity blinks every couple of seconds but my router doesn't pick up any DHCP requests from it.
Tried 2 different Ethernet cables just in case. Another computer plugged into the same router and cable gets an IP.
On Fri, 27 Dec 2019, 23:28 Ewald Comhaire, [email protected] wrote:
Are you seeing any led activity (blue led while it is trying to boot, red light if it fails to boot, green led when it booted correctly) ? Did you copy the proper boot.scr ? In your case it should this one https://github.com/ewaldc/My-Book-Live/blob/master/uboot/boot_ext3_sda1/boot_ext3_sda1.txt .
MBL's do not die often...
The only way to find out with certainty what really happens when you turn on power is to enable netconsole or to solder a UART cable...
— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHub https://github.com/ewaldc/My-Book-Live/issues/10?email_source=notifications&email_token=ABB2XW4MAJINHSX7B6YUKOLQ2XKGVA5CNFSM4J7YULZKYY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOEHW65YI#issuecomment-569241313, or unsubscribe https://github.com/notifications/unsubscribe-auth/ABB2XW7O3VW5W6VC6FC65RDQ2XKGVANCNFSM4J7YULZA .
If the led light green, the MBL is not died.
You can try put manual address in /etc/network/interfaces
This is the light that stays on after the blue one:
I'll try a fixed IP but I think there's a problem with the partitions. Is there an img I can dd
to the disk somewhere?
It looks like yellow (which is a yellowish green) , and it means your MBL has booted and is no longer in u-boot (boot mode console, blue led). So it should be running... Do you have a MBL Duo by any chance? It requires a different /boot/apollo3g.dtb.
With respect to partitions, partitions 1 and 2 are normally Linux boot partitions, 3 is Linux Swap and 4 is data (DataVolume). We have always kept that the same as in the original OEM (WD) version, also because in the early days it allowed us to recover from a bad kernel or a bad block on the boot device. Nowadays, we can boot over NFS or TFTP, so strictly speaking we could deviate from the standard scheme. I have never tested the partition setup that you have, but on the other hand, I don't see why it would not boot properly.
For restoring the partitions, there is a dd file here for 1 and 3TB and explanation on how to increase to 2 or 4TB (or any size).
From there you can follow my procedure and untar the Debian Jessie image.
No DUO, just a normal one.
It'd be good to have a minimal Jessie image like OpenWRT does, it was the only way to get the MBL to boot (dd if=openwrt.img of=/dev/sda bs=64k
). OpenWRT boots and works correctly. I still can't get Debian to boot though.
What I've done so far:
- Resize OpenWRT partitions and created
sda3
as swap andsda4
as data. OpenWRT still boots fine. -
rm -rf
the content ofsda2
and untar Debian into that partition (it's ext4 as per OpenWRT img) - Copy uImage and apollo3g.dtb from
sda2 /boot
tosda1/boot
(ext2) and replace the OpenWRT ones. -> Debian doesn't boot.
I'm not sure what would be a good next step now. The boot.scr
file from OpenWRT should be correct since the partitions and paths are all the same, however Debian can't boot (yellow light and no signs of it in my dhcp logs)
Most of my work has been on the kernel, I have not done much work on creating a self-configuring (Debian) image as OpenWRT has done. I just posted my Debian image, not so much because of the Debian part (there is a great tutorial on installing your own Debian on MBL), but because many folks had issues to install gcc7.4 or gcc8.3 on such an old Debian version and/or to create an environment for compiling Samba (since cross compiling Samba is not easy).
Two things I can think of:
- modify /etc/resolv.conf to match your DNS
- change /etc/network/interface to
# interfaces(5) file used by ifup(8) and ifdown(8)
# Include files from /etc/network/interfaces.d:
source-directory /etc/network/interfaces.d
auto eth0
iface eth0 inet dhcp
allow-hotplug eth0
The fact that you have a yellowish green light means that it has booted, but probably was not able to get a network address.
UPDATE 1: the other thing you can test, is to run my kernel on top of OpenWRT OS. UPDATE 2:I posted an updated version of Debian Jessie with updated apt sources.list, /etc/resolv.conf (empty), /etc/network/interfaces
Just in case I added your precompiled kernel 4.19.34 to /boot
on the working OpenWRT installation, renamed uImage_4.19.34+xx
to uImage
and replaced the apollo3g.dtb
file too. OpenWRT goes into a reboot loop.
I noticed there are no modules on that tarball, in fact I only see modules on 4.19.24
and there it's only one module, loop.ko
.
Backing out the changes restores it to a functioning state.
I'm not sure what else to try, OpenWRT is not useful to me in this device as I want to use it for my house's pihole installation.
Have you contributed your patches back to the OpenWRT team?
I believe this issue is because some of the boot.scr files on github are corrupt.
Symptom:
MBL boots to yellow LED, and goes no further. Nothing on network interface.
Serial log:
Loading file "/boot/boot.scr" from sata device 1:1 (gpt1)
524 bytes read
Loaded part 1
££ Executing script at 00100000
Boot from U-boot configuration
' - try 'help'd '
==== Loading Linux kernel, Device tree, Root filesystem ====
SATA DWC initialization 1
init: Waiting for device...
sata_dwc: Device found
scan: Waiting for device...1
Loading file "/boot/uImage" from sata device 1:1 (gpt1)
2755518 bytes read
" from sata device 1:1 (gpt1)dtb
** File not found /boot/apollo3g.dtb
££ Booting kernel from Legacy Image at 01000000 ...
Image Name: Linux-4.9.99-mbl+
Image Type: PowerPC Linux Kernel Image (gzip compressed)
Data Size: 2755454 Bytes = 2.6 MB
Load Address: 00000000
Entry Point: 00000000
Verifying Checksum ... OK
ERROR: Did not find a cmdline Flattened Device Tree
Could not find a valid device tree
=>
This is a problem if you do, as original poster does, and copy the boot.scr files instead of making fresh ones.
I suspect the problem is because of extra CR (hex 0d) characters in the generated boot.scr (middle line)
00000140 61 64 64 72 5f 72 7d 20 2f 62 6f 6f 74 2f 61 70 |addr_r} /boot/ap|
00000150 6f 6c 6c 6f 33 67 2e 64 74 62 27 0d 0a 73 65 74 |ollo3g.dtb'..set|
00000160 65 6e 76 20 62 6f 6f 74 5f 73 61 74 61 20 27 72 |env boot_sata 'r|
When I regenerated boot.scr from the same txt file, the image successfully boots.
I'll try to compile the boot script myself. What's interesting is that I didn't even use it for OpenWRT, I left the same boot.scr
that was working fine with the 4.14 kernel.
Yes, there is a second problem with the Debian image, at least on my hardware.
You should delete the file etc/udev/rules.d/70-persistent-net.rules before booting.
Otherwise, your network interface ends up on 'eth2', but nothing if configured to configure that interface.
@dirtminer, @mterron thanks for this detailed info and apologies for the inconvenience ! Count on me to do the following:
- delete /etc/udev/rules.d/70-persistent-net.rules from the Debian tar file. I did not realize there was a possibility to end up with eth2 on a board that has only one interface - DONE: compressed tar image updated
- repost the scr.boot files as binary files. Totally forgot about what GitHub does to binary files... - DONE: posted tar files
- verify/make sure the /lib/modules are included in the precompiled versions - DONE: 4.19 kernels do not require /lib/modules, 4.9 kernels have /lib/modules
@ewaldc Thank you! Are you including tun/tap in 4.19 kernels by any chance?
No, since there is not a lot of memory, I generally go for the options that yield best performance. But you are free to include anything you like and still enjoy the good performance delivered by the custom network drivers.
just a dumb question @mterron you mentioned:
just tried to use the image on a brand new hdd
was it also a WD brand? Do you know if the device boots from a seagate drive, too, or is there a device lock somewhere?
Hello,
I have the WD My book with a Toshiba HD, book OK
Best regards
cool, thanks. Have an old Hitachi 2.5" drive here thats way easier to play with on my notebook (simple USB adapter, since there is no need for 12V). But I am struggling to get it booting. However, now I am sure it's my fault and not the drive's, thanks
I never managed to get this image going. I might try again and report back.
@mterron , I am happy to help (email, signal/whatsapp messenger). You may also take a look at mbl-debian. It's a differnt, cleaner way to create a Debian (SID) image, but still in development. There are no performance tuning kernels (yet).