Skip to contentSkip to conversation

ARM hibernation / suspend-to-disk

DISCUSSION Jan Glauber 7 participants 15 messages May 29, 2013 – Jan 11, 2016

lore
Share & tools
lore
#0 lore raw

Hi list,

what's the status of suspend-to-disk on ARM? The most recent discussion I found is:
http://lists.linuxfoundation.org/pipermail/linux-pm/2012-November/034997.html

with no replies at all. Is anyone still working on that? Anyone got it running?

I tried the patch above (on top of LTS 3.4) and got stuck forever, the last thing on the console was:

root at omap5:/sys/power# echo disk > state

[ 2015.641540] PM: Syncing filesystems ... done.
[ 2015.666870] PM: Preallocating image memory... done (allocated 16957 pages)
[ 2016.062011] PM: Allocated 67828 kbytes in 0.38 seconds (178.49 MB/s)

Any hint how to debug that?

thanks,
Jan

#1 lore raw
Quoted 9 lines · Jan Glauber

what's the status of suspend-to-disk on ARM? The most recent discussion I found is:
http://lists.linuxfoundation.org/pipermail/linux-pm/2012-November/034997.html

with no replies at all. Is anyone still working on that? Anyone got it running?

I tried the patch above (on top of LTS 3.4) and got stuck forever, the last thing on the console was:

Quoted 6 lines

root at omap5:/sys/power# echo disk > state

[ 2015.641540] PM: Syncing filesystems ... done.
[ 2015.666870] PM: Preallocating image memory... done (allocated 16957 pages)
[ 2016.062011] PM: Allocated 67828 kbytes in 0.38 seconds (178.49 MB/s)

Any hint how to debug that?

I know it is still broken and I had discussion with Kevin in past regarding that. See below.

Quoted 22 lines · Kevin Hilman
Quoted 10 lines · Viresh Kumar

Hi Guys,

As discussed during connect about "HIBERNATION support for ARM platforms", this is my last mail on this, almost a year back, where i tried my best to get relevant answer from Amit.

Probably he missed all my mails then, but this might be a good starting point for this discussion as i did some testing on hibernation earlier.

https://lkml.org/lkml/2012/2/6/8

I think the reason that ARM sub-arches are not setting things up is because ARM has never supported hibernation in mainline.

The most recent patch to add basic support[1] references the various discussions on what is needed and still missing.

Kevin

[1] http://marc.info/?l=linux-omap&m=135292458209355&w=2

#2 lore raw
In reply to Jan Glauber
Quoted 12 lines · Jan Glauber

Hi list,

what's the status of suspend-to-disk on ARM? The most recent discussion I found is:
http://lists.linuxfoundation.org/pipermail/linux-pm/2012-November/034997.html

with no replies at all. Is anyone still working on that? Anyone got it running?

I tried the patch above (on top of LTS 3.4) and got stuck forever, the last thing on the console was:

root at omap5:/sys/power# echo disk > state

Quoted 9 lines
[ 2015.641540] PM: Syncing filesystems ... done.
[ 2015.666870] PM: Preallocating image memory... done (allocated 16957 pages)
[ 2016.062011] PM: Allocated 67828 kbytes in 0.38 seconds (178.49 MB/s)

Any hint how to debug that?

thanks,
Jan

Because of the nature of omap5 PM, you'd need omap5 specific support in order for this to work. Specifically, there are a number of assumptions about certain power domains never losing state. You can take a look at the work I did to get this working on am335x here:

https://github.com/russdill/linux/commits/arm-hibernation-am33xx

For ARM hibernation support to get merged, there needs to be at least one platform that supports it. the am335x code I have is not ready as it still relies on PM patchsets that have not yet themselves been merged.

#3 lore raw

Hi!

Quoted 21 lines
Quoted 9 lines

what's the status of suspend-to-disk on ARM? The most recent discussion I found is:
http://lists.linuxfoundation.org/pipermail/linux-pm/2012-November/034997.html

with no replies at all. Is anyone still working on that? Anyone got it running?

I tried the patch above (on top of LTS 3.4) and got stuck forever, the last thing on the console was:

Quoted 6 lines

root at omap5:/sys/power# echo disk > state

[ 2015.641540] PM: Syncing filesystems ... done.
[ 2015.666870] PM: Preallocating image memory... done (allocated 16957 pages)
[ 2016.062011] PM: Allocated 67828 kbytes in 0.38 seconds (178.49 MB/s)

Any hint how to debug that?

Because of the nature of omap5 PM, you'd need omap5 specific support in order for this to work. Specifically, there are a number of assumptions about certain power domains never losing state. You can take a look at the work I did to get this working on am335x here:

Quoted 5 lines

https://github.com/russdill/linux/commits/arm-hibernation-am33xx

For ARM hibernation support to get merged, there needs to be at least one platform that supports it. the am335x code I have is not ready as it still relies on PM patchsets that have not yet themselves been merged.

Given that we have chicken-and-egg problem here, I believe it makes sense to merge generic ARM hibernation support now.
Pavel

Signature · 2 lines
(english) http://www.livejournal.com/~pavelmachek
(cesky, pictures) http://atrey.karlin.mff.cuni.cz/~pavel/picture/horses/blog.html
#4 lore raw

Quoting Pavel Machek (2014-01-28 06:14:58)

Quoted 5 lines
Quoted 5 lines
Quoted 5 lines

what's the status of suspend-to-disk on ARM? The most recent discussion I found is:
http://lists.linuxfoundation.org/pipermail/linux-pm/2012-November/034997.html

with no replies at all. Is anyone still working on that? Anyone got it running?

Hi Pavel, Russ,

I have been looking and working with Russ' most recent branch based on the 3.12 kernel, which includes the big pile of patches for OMAP.
(https://github.com/russdill/linux/commits/arm-hibernation-am33xx-v3.12)

He has hibernation mostly working and I have been able to run 1400 or so entry/exits overnight there on beaglebone black without issue. Combining this with device activity has been tricky. An active network will lose the link on restore. Active SD traffic will eventually hang (Last night ran for about 11 hours before hanging after ~350 or so hibernations). I have not found where this is or the cause.

Quoted 6 lines
Quoted 3 lines

For ARM hibernation support to get merged, there needs to be at least one platform that supports it. the am335x code I have is not ready as it still relies on PM patchsets that have not yet themselves been merged.

Given that we have chicken-and-egg problem here, I believe it makes sense to merge generic ARM hibernation support now.

If you want to go ahead with upstreaming the base patch, Russ, would you like me to do that for you or will you have time to do this?

Otherwise, I am still looking at how to get this upstream by verifying on omap 5. In my case, I still have the chicken egg problem, where I'm trying to verify on omap 5 with out of tree patches.

Thanks,

Sebastian

#5 lore raw

Quoting Sebastian Capella (2014-01-28 10:22:45)

Quoted 3 lines

Otherwise, I am still looking at how to get this upstream by verifying on omap 5. In my case, I still have the chicken egg problem, where I'm trying to verify on omap 5 with out of tree patches.

Sorry, incorrect, I'm verifying on Beaglebone black not OMAP 5.

#6 lore raw
In reply to Sebastian Capella

Hi!

Quoted 12 lines
Quoted 5 lines
Quoted 5 lines
Quoted 5 lines

what's the status of suspend-to-disk on ARM? The most recent discussion I found is:
http://lists.linuxfoundation.org/pipermail/linux-pm/2012-November/034997.html

with no replies at all. Is anyone still working on that? Anyone got it running?

Hi Pavel, Russ,

I have been looking and working with Russ' most recent branch based on the 3.12 kernel, which includes the big pile of patches for OMAP.
(https://github.com/russdill/linux/commits/arm-hibernation-am33xx-v3.12)

Quoted 7 lines

He has hibernation mostly working and I have been able to run 1400 or so entry/exits overnight there on beaglebone black without issue. Combining this with device activity has been tricky. An active network will lose the link on restore. Active SD traffic will eventually hang (Last night ran for about 11 hours before hanging after ~350 or so hibernations). I have not found where this is or the cause.

Yeah, but those are driver problems, right? 1400 suspends is very nice, and it shows that the core is working. That should be enough for merge; driver problems can be solved later.

Thanks,
Pavel

Signature · 2 lines
(english) http://www.livejournal.com/~pavelmachek
(cesky, pictures) http://atrey.karlin.mff.cuni.cz/~pavel/picture/horses/blog.html
#7 lore raw

Quoting Pavel Machek (2014-01-30 10:06:39)

Quoted 3 lines

Yeah, but those are driver problems, right? 1400 suspends is very nice, and it shows that the core is working. That should be enough for merge; driver problems can be solved later.

Hi Pavel,

I spoke to Russ, and he's ok with me sending this on his behalf.

Let me prepare it for review and I'll send it out.

Thanks,

Sebastian

#8 lore raw
In reply to Sebastian Capella
Quoted 3 lines · Sebastian Capella <sebastian.capella <at> linaro.org> writes:

Quoting Pavel Machek (2014-01-28 06:14:58)

Quoted 1 line
Quoted 1 line
Quoted 1 line

what's the status of suspend-to-disk on ARM? The most recent

discussion I

Quoted 2 lines
Quoted 2 lines
Quoted 2 lines
Quoted 2 lines

found is:
http://lists.linuxfoundation.org/pipermail/linux-pm/2012-

November/034997.html

Quoted 2 lines
Quoted 2 lines
Quoted 2 lines
Quoted 2 lines

with no replies at all. Is anyone still working on that? Anyone got

it running?

Quoted 7 lines

Hi Pavel, Russ,

I have been looking and working with Russ' most recent branch based on the 3.12 kernel, which includes the big pile of patches for OMAP.
(https://github.com/russdill/linux/commits/arm-hibernation-am33xx-v3.12)

Quoted 10 lines

He has hibernation mostly working and I have been able to run 1400 or so entry/exits overnight there on beaglebone black without issue. Combining this with device activity has been tricky. An active network will lose the link on restore. Active SD traffic will eventually hang (Last night ran for about 11 hours before hanging after ~350 or so hibernations). I have not found where this is or the cause.

Quoted 2 lines
Quoted 2 lines

For ARM hibernation support to get merged, there needs to be at least one platform that supports it. the am335x code I have is not ready as

it

Quoted 3 lines
Quoted 3 lines
Quoted 1 line

still relies on PM patchsets that have not yet themselves been merged.

Given that we have chicken-and-egg problem here, I believe it makes

sense

Quoted 5 lines
Quoted 1 line

to merge generic ARM hibernation support now.

If you want to go ahead with upstreaming the base patch, Russ, would you like me to do that for you or will you have time to do this?

Quoted 8 lines

Otherwise, I am still looking at how to get this upstream by verifying on omap 5. In my case, I still have the chicken egg problem, where I'm trying to verify on omap 5 with out of tree patches.

Thanks,

Sebastian

Hi Sebastian ,Pavel ,Russ:
I want to build the kernel https://github.com/russdill/linux/commits/arm-
hibernation-am33xx-v3.12 to be used in BeagleBone black too, after I clone and checkout the branch, I'm not sure whether my opration is right, can someone help me to comfirm?
Below is my operation:
1. make ARCH=arm CROSS_COMPILE=/media/work/BBB/tools/arm-2010.09/bin/arm- none-linux-gnueabi- omap2plus_defconfig . Is the omap2plus_defconfig is right configuration file?
2. russdill says his board is BeagleBone(http://www.youtube.com/watch? v=3hdbH-Ur-hE), so if there would be some modificaiton to be done before compile this source code?
3. Is there any intructions about using and compiling the hibernation source code?

#9 lore raw

Quoting TonyHo (2014-02-16 05:11:47)

Quoted 6 lines

Hi Sebastian ,Pavel ,Russ:
I want to build the kernel https://github.com/russdill/linux/commits/arm-
hibernation-am33xx-v3.12 to be used in BeagleBone black too, after I clone and checkout the branch, I'm not sure whether my opration is right, can someone help me to comfirm?
Below is my operation:

Quoted 8 lines

1. make ARCH=arm CROSS_COMPILE=/media/work/BBB/tools/arm-2010.09/bin/arm- none-linux-gnueabi- omap2plus_defconfig . Is the omap2plus_defconfig is right configuration file?
2. russdill says his board is BeagleBone(http://www.youtube.com/watch? v=3hdbH-Ur-hE), so if there would be some modificaiton to be done before compile this source code?
3. Is there any intructions about using and compiling the hibernation source code?

Hi Tony,

I use omap2plus_defconfig.

I have been working with BeagleBone Black (bbb) for hibernation on this branch:

http://git.linaro.org/git-ro/people/sebastian.capella/linux.git hibernation_3.13_russMerge

I ran into a few minor issues on Russ' branch for bbb that I had to work around. In the end it worked fine, but I know I had to add some entries in the dts files at least for it to work.

On bbb I'm resuming from initramfs by echoing the hibernation swap device onto /sys/power/resume during my initscript, but before remounting the partitions. You may need to do similar.

You will have to change power managemennt -> hibernation to on in menuconfig.

I can help more, please let me know what you have and how you'd like to set it up.

Thanks!

Sebastian

#10 lore raw

Hi Sebastian:
You're kind, and thank you firtly.
Now I have try to booting you hibernation_3.13_russMerge branch kernel from uboot(Version 2013-10) in BBB, and I don't know how to build the dtb. I have built the uImage using:
1. make ARCH=arm CROSS_COMPILE=/media/work/BBB/tools/arm-2010.09/bin/arm- none-linux-gnueabi- omap2plus_defconfig && make ARCH=arm CROSS_COMPILE=/media/work/BBB/tools/arm-2010.09/bin/arm-none-linux-gnueabi- uImage LOADADDR=0x80008000
2. And I load the uImage using the ext4load from TF card? (1)ext4load mmc 0:2 80007f00 /boot/uImage
(2)and 'iminfo 0x80007f00' hints image is OK.
(3)The Kernel Command Line is 'init=/linuxrc console=ttyO0,115200n8 run_hardware_tests root=/dev/mmcblk0p2 ro rootfstype=ext4 rootwait' and I select the 'Always use the default kernel command line'
and the configuration has been verified in other version linux kernel source code.
(4)But when I 'bootm 80007f00', it just print the 'Starting kernel ...' and nothing more. And the USERLED0-3 in BBB are off.
3. I guess this is caused by I haven't load a dts to memory (1)Can you tell me how to build the dtb? Like 'make XXX.dtb/dts'? (2)And which dtb should be loaded into memory? What the address should be load for the dtb files?

4. I use the busybox to be the rootfs, and it test OK. I prepare add a resume command to /sys/power/resume in inittab. Should this work?

Quoted 40 lines · Sebastian Capella

Quoting TonyHo (2014-02-16 05:11:47)

Quoted 6 lines

Hi Sebastian ,Pavel ,Russ:
I want to build the kernelhttps://github.com/russdill/linux/commits/arm-
hibernation-am33xx-v3.12 to be used in BeagleBone black too, after I clone and checkout the branch, I'm not sure whether my opration is right, can someone help me to comfirm?
Below is my operation:

Quoted 8 lines

1. make ARCH=arm CROSS_COMPILE=/media/work/BBB/tools/arm-2010.09/bin/arm- none-linux-gnueabi- omap2plus_defconfig . Is the omap2plus_defconfig is right configuration file?
2. russdill says his board is BeagleBone(http://www.youtube.com/watch? v=3hdbH-Ur-hE), so if there would be some modificaiton to be done before compile this source code?
3. Is there any intructions about using and compiling the hibernation source code?

Hi Tony,

I use omap2plus_defconfig.

I have been working with BeagleBone Black (bbb) for hibernation on this branch:

http://git.linaro.org/git-ro/people/sebastian.capella/linux.git hibernation_3.13_russMerge

I ran into a few minor issues on Russ' branch for bbb that I had to work around. In the end it worked fine, but I know I had to add some entries in the dts files at least for it to work.

On bbb I'm resuming from initramfs by echoing the hibernation swap device onto /sys/power/resume during my initscript, but before remounting the partitions. You may need to do similar.

You will have to change power managemennt -> hibernation to on in menuconfig.

I can help more, please let me know what you have and how you'd like to set it up.

Thanks!

Sebastian

#11 lore raw

Quoting tonyho (2014-03-01 23:57:31)

Quoted 7 lines

Now I have try to booting you hibernation_3.13_russMerge branch kernel from uboot(Version 2013-10) in BBB, and I don't know how to build the dtb. I have built the uImage using:
1. make ARCH=arm CROSS_COMPILE=/media/work/BBB/tools/arm-2010.09/bin/arm- none-linux-gnueabi- omap2plus_defconfig && make ARCH=arm CROSS_COMPILE=/media/work/BBB/tools/arm-2010.09/bin/arm-none-linux-gnueabi- uImage LOADADDR=0x80008000

Hi Tony, you'll want to do:
make ARCH=arm CROSS_COMPILE=/media/work/BBB/tools/arm-2010.09/bin/arm- dtbs

This will generate dtb files in arch/arm/boot/dts/

Quoted 1 line

From there, you must take the correct dtb file and include it in your

u-boot.

You'll have to point the bootup to the dtb image you load.

Quoted 9 lines

2. And I load the uImage using the ext4load from TF card? (1)ext4load mmc 0:2 80007f00 /boot/uImage
(2)and 'iminfo 0x80007f00' hints image is OK.
(3)The Kernel Command Line is 'init=/linuxrc console=ttyO0,115200n8 run_hardware_tests root=/dev/mmcblk0p2 ro rootfstype=ext4 rootwait' and I select the 'Always use the default kernel command line' and the configuration has been verified in other version linux kernel source code.
(4)But when I 'bootm 80007f00', it just print the 'Starting kernel ...'

This is what you expect when it can't find the dtb image, as the dtb is required to boot.

Quoted 5 lines

and nothing more. And the USERLED0-3 in BBB are off.
3. I guess this is caused by I haven't load a dts to memory (1)Can you tell me how to build the dtb? Like 'make XXX.dtb/dts'? (2)And which dtb should be loaded into memory? What the address should be load for the dtb files?

If you're using beaglebone black, use am335x-boneblack.dtb

The load address is tricky a bit, the answer is it depends on where you have room.

I'm probably not much help here.

Quoted 2 lines

4. I use the busybox to be the rootfs, and it test OK. I prepare add a resume command to /sys/power/resume in inittab. Should this work?

For now, probably just get everything booting. If you can, use an initrd or initramfs and boot it there. Once you mount rootfs really on the SD card, it's too late as you'll corrupt your filesystem.

Sorry about my delayed responses. I'm in Macao at the Linaro Connect, but will check emails from time to time.

Thanks,

Sebastian

#12 lore raw

Hi Sebastian:
Thank you. And I'm in Shanghai, it's not far from the Macao, both
in China, ha.
The system can boot up normal now. And I want to make the hibernation, but error occurs. I want to save the hibernation image in /dev/mmcblk0p3(device id 179:3), and I configure this in menuconfig:
/ # cat /sys/power/resume 179:3
When I echo a disk to /sys/power/state , it hints(partly log):

[ 49.426656] omap_uart 44e09000.serial: no wakeirq for uart0
[ 49.594385] PM: thaw of devices complete after 171.291 msecs
[ 49.661876] PM: Cannot find swap device, try swapon -a.
[ 49.667356] PM: Cannot get swap writer
[ 49.722677] Restarting tasks ... done. ash: write error: No such device

But I can find my device /dev/mmcblk0p3, and its size is about 2GB, and it's not mounted in system,it can be mounted with ext4 filesystem. / # ls -l /dev/mmcblk*
brw-rw---- 1 0 0 179, 3 Jan 1 00:01 /dev/mmcblk0p3

It says cannot find swap device, but the CONFIG_SWAP=y is checked. It seems I miss something?

Quoted 54 lines · Sebastian Capella

Quoting tonyho (2014-03-01 23:57:31)

Quoted 7 lines

Now I have try to booting you hibernation_3.13_russMerge branch kernel from uboot(Version 2013-10) in BBB, and I don't know how to build the dtb. I have built the uImage using:
1. make ARCH=arm CROSS_COMPILE=/media/work/BBB/tools/arm-2010.09/bin/arm- none-linux-gnueabi- omap2plus_defconfig && make ARCH=arm CROSS_COMPILE=/media/work/BBB/tools/arm-2010.09/bin/arm-none-linux-gnueabi- uImage LOADADDR=0x80008000

Hi Tony, you'll want to do:
make ARCH=arm CROSS_COMPILE=/media/work/BBB/tools/arm-2010.09/bin/arm- dtbs

This will generate dtb files in arch/arm/boot/dts/

From there, you must take the correct dtb file and include it in your
u-boot.

You'll have to point the bootup to the dtb image you load.

Quoted 9 lines

2. And I load the uImage using the ext4load from TF card? (1)ext4load mmc 0:2 80007f00 /boot/uImage
(2)and 'iminfo 0x80007f00' hints image is OK.
(3)The Kernel Command Line is 'init=/linuxrc console=ttyO0,115200n8 run_hardware_tests root=/dev/mmcblk0p2 ro rootfstype=ext4 rootwait' and I select the 'Always use the default kernel command line' and the configuration has been verified in other version linux kernel source code.
(4)But when I 'bootm 80007f00', it just print the 'Starting kernel ...'

This is what you expect when it can't find the dtb image, as the dtb is required to boot.

Quoted 5 lines

and nothing more. And the USERLED0-3 in BBB are off.
3. I guess this is caused by I haven't load a dts to memory (1)Can you tell me how to build the dtb? Like 'make XXX.dtb/dts'? (2)And which dtb should be loaded into memory? What the address should be load for the dtb files?

If you're using beaglebone black, use am335x-boneblack.dtb

The load address is tricky a bit, the answer is it depends on where you have room.

I'm probably not much help here.

Quoted 2 lines

4. I use the busybox to be the rootfs, and it test OK. I prepare add a resume command to /sys/power/resume in inittab. Should this work?

For now, probably just get everything booting. If you can, use an initrd or initramfs and boot it there. Once you mount rootfs really on the SD card, it's too late as you'll corrupt your filesystem.

Sorry about my delayed responses. I'm in Macao at the Linaro Connect, but will check emails from time to time.

Thanks,

Sebastian

#13 lore raw

Quoting TonyHo (2014-03-04 03:04:08)

Quoted 14 lines

Hi Sebastian:
Thank you. And I'm in Shanghai, it's not far from the Macao, both
in China, ha.
The system can boot up normal now. And I want to make the hibernation, but error occurs. I want to save the hibernation image in /dev/mmcblk0p3(device id 179:3), and I configure this in menuconfig:
/ # cat /sys/power/resume 179:3
When I echo a disk to /sys/power/state , it hints(partly log):

[ 49.426656] omap_uart 44e09000.serial: no wakeirq for uart0
[ 49.594385] PM: thaw of devices complete after 171.291 msecs
[ 49.661876] PM: Cannot find swap device, try swapon -a.
[ 49.667356] PM: Cannot get swap writer
[ 49.722677] Restarting tasks ... done. ash: write error: No such device
Quoted 7 lines

But I can find my device /dev/mmcblk0p3, and its size is about 2GB, and it's not mounted in system,it can be mounted with ext4 filesystem. / # ls -l /dev/mmcblk*
brw-rw---- 1 0 0 179, 3 Jan 1 00:01 /dev/mmcblk0p3

It says cannot find swap device, but the CONFIG_SWAP=y is checked. It seems I miss something?

Hi tony,

Two things are?missing:

1) you must format the partition as swap using the mkswap command. ?This can be done on target or on your laptop. ?

2) after booting, on target you have to add the swap to the system using the swapon command. ?I usually do:

swapon /dev/mmcblk0p3

If you want to do swapon -a you may have to modify the /etc/fstab or mnttab but I don't do it?this way. ?

Sebastian

#14 lore raw
Quoted 4 lines · Sebastian Capella <sebastian.capella <at> linaro.org> writes:

Quoting TonyHo (2014-03-04 03:04:08)

Quoted 2 lines

Hi Sebastian:
Thank you. And I'm in Shanghai, it's not far from the Macao,

both

Quoted 2 lines
Quoted 2 lines

in China, ha.
The system can boot up normal now. And I want to make the

hibernation,

Quoted 9 lines
Quoted 9 lines

but error occurs. I want to save the hibernation image in /dev/mmcblk0p3(device id 179:3), and I configure this in menuconfig:
/ # cat /sys/power/resume 179:3
When I echo a disk to /sys/power/state , it hints(partly log):

[ 49.426656] omap_uart 44e09000.serial: no wakeirq for uart0
[ 49.594385] PM: thaw of devices complete after 171.291 msecs
[ 49.661876] PM: Cannot find swap device, try swapon -a.
[ 49.667356] PM: Cannot get swap writer
[ 49.722677] Restarting tasks ... done. ash: write error: No such 

device

Quoted 2 lines
Quoted 2 lines

But I can find my device /dev/mmcblk0p3, and its size is about 2GB,

and

Quoted 4 lines
Quoted 4 lines

it's not mounted in system,it can be mounted with ext4 filesystem. / # ls -l /dev/mmcblk*
brw-rw---- 1 0 0 179, 3 Jan 1 00:01 /dev/mmcblk0p3

Quoted 8 lines
Quoted 2 lines

It says cannot find swap device, but the CONFIG_SWAP=y is checked. It seems I miss something?

Hi tony,

Two things are?missing:

1) you must format the partition as swap using the mkswap command.

?This can be

Quoted 3 lines

done on target or on your laptop. ?

2) after booting, on target you have to add the swap to the system

using the

Quoted 7 lines

swapon command. ?I usually do:

swapon /dev/mmcblk0p3

If you want to do swapon -a you may have to modify the /etc/fstab or mnttab but I don't do it?this way. ?

Quoted 7 lines

Sebastian

_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel <at> lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

Hi Sebastian ,tonyho ,Pavel ,Russ:

I want to build the kernel https://github.com/russdill/linux/commits/arm-
hibernation-am33xx-v3.12 to be used in BeagleBone black Rev C too, I watched all discussion between Sebastian and tonyho, but I still can't work fine.

Below is my question:

Quoted 3 lines · Sebastian Capella

I use omap2plus_defconfig.

I have been working with BeagleBone Black (bbb) for hibernation on

this branch:

Quoted 2 lines

http://git.linaro.org/git-ro/people/sebastian.capella/linux.git

hibernation_3.13_russMerge

Quoted 2 lines

I ran into a few minor issues on Russ' branch for bbb that I had to

work

Quoted 1 line

around. In the end it worked fine, but I know I had to add some

entries

Quoted 1 line

in the dts files at least for it to work.

1. I can't find the branch: http://git.linaro.org/git-
ro/people/sebastian.capella/linux.git hibernation_3.13_russMerge

Does the repositories still working? Or where can I find it?

2. Because I can't use Sebastian's branch above, I still use Russ's branch(arm-hibernation-am33xx-v3.12),and I built zImage and am335x- boneblack.dtb succesfully. When I boot beanglebone black using rootfs, it hints(partly log):

[    1.626927] tps65217 0-0024: TPS65217 ID 0xe version 1.2
[    1.632587] omap_i2c 44e0b000.i2c: bus 0 rev0.11 at 400 kHz
[    1.714583] davinci_mdio 4a101000.mdio: davinci mdio revision 1.6
[    1.721043] davinci_mdio 4a101000.mdio: detected phy mask fffffffe
[    1.730995] libphy: 4a101000.mdio: probed
[    1.735391] davinci_mdio 4a101000.mdio: phy[0]: device 
4a101000.mdio:00, driver SMSC LAN8710/LAN8720
[    1.745665] Random MACID = e6:ed:f5:55:73:33
[    1.756429] omap_rtc 44e3e000.rtc: setting system clock to 2000-01-01 
00:00:01 UTC (946684801)
[    1.770213] Waiting for root device /dev/mmcblk0p2...

I guess this problem is caused by device tree hasn't support mmc.

I want to ask how to add some entries in the dts files? or if there would be some modification to be done before compile russ's source code?

Below is my operation:
1. Build russ's kernel branch:

$ git clone https://github.com/russdill/linux.git
$ git checkout arm-hibernation-am33xx-v3.12
$ make ARCH=arm CROSS_COMPILE=arm-linux-gnueabi- omap2plus_defconfig
$ make ARCH=arm CROSS_COMPILE=arm-linux-gnueabi- menuconfig
$ make ARCH=arm CROSS_COMPILE=arm-linux-gnueabi- zImage dtbs -j4

2. Build russ's u-boot(https://github.com/russdill/u- boot/tree/hibernation-v2013.10):
$make ARCH=arm CROSS_COMPILE=arm-linux-gnueabi- am335x_boneblack

Thank you very much!